• 4

USB介面DAC理論與實際經驗

JohnTitor wrote:
REW 的訊號發生器有一項 J,-test阿,要看JITTER可以用用看...(恕刪)
 
JohnTitor大您好,我在另一棟大樓的這篇「十八、J-test」有提過J-test的原理,就其背景理論,可能對於R-2R DAC還稍有可能適用。對於現在常見的over sampling sigma-delta DAC,其代表的jitter意義已經很薄弱了。

使用48k-16bit測試波形測樹莓派耳機孔,比較電池(行動電源)與插座電源如下:

紅色與藍色虛線各有高低,但相差不多,並沒辦法直接給出明確結論誰好誰壞。但有一點可以分享,我有分別量測多次。雖然各次結果會稍有量測誤差,但是每次看到的趨勢都很接近。也就是上圖紅色、藍色高的地方、誰比較高,都幾乎長這樣。

至少量測的一致性還蠻高的就是了~
Lanster Wang wrote:觀念搞錯了!i2s是一個傳輸的介面,SPDIF or USB經DIR轉成i2s進FIFO,從FIFO到DA chip也是i2s...(恕刪)
有兩張圖提供大家參考:

1. Audialonline:重點在MCK(master clock)要由後面送向USB buffer。
2. DIYAudio:這張更明白,重點也是給DAC的晶振,同時給reclock 及XMOS用。XMOS內含buffer(FIFO),I2S的MCK來自後面。

XMOS則負責處理Asynchronous USB相關動作,控制host來的資料量,維持XMOS內buffer水位。

因為XMOS已經擔任buffer(FIFO)角色,就不用另外再額外一個FIFO了。

回到這張示意圖:

單單從這張圖,並無法找到類似前面兩個範例有MCK向前傳的相關敘述,所以沒辦法了解完整工作方式。但若依圖上depth indicator & full or empty control是控制右邊輸出端的I2S transmitter的話,我會覺得有點擔心。

此圖沒交代MCLK output是如何產生的。若後面的DAC使用此MCLK,那最好是直接從晶振取得。要是在這裡又用了其他電路由buffer水位「回復」回來,不論它說有多low jitter,都很難比直接用晶振輸出好。

I2S介面,要嚴謹一點定義的話,要說清楚MCK從哪裡提供。參考NXP這張圖:

I2S介面的Clock,不必然只能由transmitter送。也可由receiver或甚至全系統共用MCK。這個自由度,讓後面DAC可由被動變主動,能控制前面資料流進來的速度,才能徹底與前端完全隔開。

至於我之前提到的可能用法:

僅是由該圖兩頭都是I2S來猜的,但我覺得一定不是這麼用。除了沒必要搞兩個FIFO(buffer)外,還得透過其他界面去控制綠色區塊裡的Fractional PLL輸出頻率,藉以控制流入速度,也是過於麻煩。不如直接用類似DIYAudio那張圖的做法還簡單些。

因為不清楚Lanster Wang 大您提到的DIR是什麼,還請幫忙解惑,感謝。至於您說的錯誤在哪兒,因為也還是沒弄清楚。若方便的話,還請幫忙在圖上標示,會比較方便討論喔。
goldbingo wrote:
光電轉換會引進額外jitter

這句話常聽但應是以訛傳訛正確性有待探討,就像您在另樓提到某品牌論述說人耳可聽出0.1db差異進而倒算出damping Factor必須大於數百才不會造成可聽聞的EQ效應,但經您驗證這0.1db的說法是錯的所以其倒算出的DF也不對

所謂jitter是指clock頻率忽快忽慢,忽快忽慢的周期倒數=抖動頻率(例如10Hz、100Hz、1KHz)

光電轉換通常有兩個問題:
1. Phase shift: 主動元件一定會有,這可能會隨著長時間或溫度變化,但不會規律的忽大忽小,與jitter無關也不影響音質
2. Clock phase noise: 指clock相位的短期不穩定性,這經過PLL後就會消失,不會產生週期性的忽快忽慢jitter

理論上光隔離就能排除所有數位訊號雜訊和共地迴路雜訊,再加上PLL或非同步USB+buffer+reclock就能大幅降低或排除前端的jitter,如果誤以為光電轉換必然引進額外jitter而不用就太可惜了!
goldbingo
goldbingo 樓主

另外Clock phase noise,過PLL會變小,但不會完全消失,要看PLL的loop filter的設計能濾掉多少、是否仍影響聽感。最佳解仍是別用前級I2S, SPDIF來的clock。

2025-06-16 16:42
goldbingo
goldbingo 樓主

前一篇提到的DIYAudio那張圖,若是中間的isolator用光隔離實作,就幾乎完美了![^++^]

2025-06-16 17:04
PY8888 wrote:
所謂jitter是指clock頻率忽快忽慢...(恕刪)

Jitter的定義,在另一篇「十七、Clock Jitter」有稍微談了一部分。您這裡指的比較像是其中一個類別:periodic jitter。其實jitter非常多樣,傳統上會如下分類,引用ElectronicsGuruKulam這篇文章的圖:

上圖中紅色的分布圖,是一種常用來描述jitter分佈的數學模型(PDF: probability density function)。IEEE這篇有不少生動的圖例說明,也可以參考參考。

但PDF只是時間軸上jitter的機率分佈,無法看出jitter的頻域資訊,因此有另一種方法:phase noise來敘述jitter在頻域上的特性,舉SiTime上這張圖為例:

鎖相回路(PLL)本身也是oscillator,您可以由上圖看到在loop bandwidth附近也是有一堆成因會造成phase noise。當然也可降低鎖相能力、降低頻寬來換取low jitter。但仍要視所要對付的jitter長相是什麼,否則鎖相回路能力不足以應付jitter而脱鎖,就得不償失了。

當然不用PLL,只用low jitter oscillator輸出,一定最好。但一切還是要回到人耳究竟對多少程度的jitter會有感,太盲目追求完美也是沒有意義。但若完美並不用付出太高的代價,何樂而不為呢?

(2025/06/17 補充:現在想想,前面提到DIYAudio的那個做法,中間的Isolator換上光隔離,就不需要複雜的de-jitter電路算力、也不用「厚工」處理電源及地回路干擾,搞不好不是付出代價,反而成本還更便宜呢)
goldbingo wrote:
Jitter的定義,在另一篇「十七、Clock Jitter」有稍微談了一部分

感謝說明~ 我的疑問是: 為何說光電轉換必然會引進額外的jitter?

S/PDIF無論是經 "同軸>電電轉換" 還是 "光纖>光電轉換(光耦合器)",後端的PLL都是基本必須的,所以比較 "電電轉換" vs "光電轉換" 對jitter的影響時,後端PLL的優缺和副作用應屬非攸關因素,應比較電電 vs 光電即可

依我的認知和實務經驗,光電轉換必然會增加額外的phase shift(應不影響音質)但不必然會增加jitter,反而是電電轉換(如同軸)直接引入訊號雜訊和ground loop/line leakage雜訊更容易產生額外的phase noise或jitter

即使用非同步USB仍可能因引入前端USB訊號雜訊和ground loop/line leakage雜訊而對DAC的clock產生額外的jitter,甚至這些noise直接干擾DAC的類比線路,所以於USB介面間加入光電轉換/USB隔離器(假設隔離和供電設計正常)是有幫助的,不應解讀成USB隔離器內的光電轉換會增加額外jitter所以不用比較好.....,您覺得呢?

理論上似乎非同步USB(目前主流)+USB光耦合隔離(簡單便宜)+DAC端的buffer+reclock(目前主流)就能完全排除前端(網路、串流/DDC)所有noise 和jitter干擾,那麼市面上的 "高價音響用" 交換器、網路線、串流機(DDC)有何存在必要? 要賣給誰呢? 這是敏感又有趣的問題!

還是在那些情況下或經何路徑,交換器、網路線、串流機(DDC)仍可能干擾 "USB光耦合隔離+非同步USB DAC" 呢? 這值得探討
goldbingo
goldbingo 樓主

稍微修正一下,應該這麼說比較精確「非同步USB + 光耦合隔離I2S + DAC同時為Master clock(MCK)」

2025-06-17 16:03
goldbingo
goldbingo 樓主

另補充,目前為止,我也還沒看到有產品宣稱做到理想架構。也許還有不為人知的限制或眉角吧。

2025-06-18 3:27
PY8888 wrote:
光電轉換必然會增加額外的phase shift(應不影響音質)但不必然會增加jitter,反而是電電轉換(如同軸)直接引入訊號雜訊和ground loop/line leakage雜訊...(恕刪)

對於光電轉換vs電電轉換,到底對於jitter影響如何,也是個有趣的題目。的確我跳過了這個論述就直接跑到結論了,也許是這麼多年來一直有這個刻板印象,一時之間也沒察覺到。

光電轉換的jitter實驗也許也有人做過,我也來試著找找。謝謝您的提醒。

做系統優化,最有效的往往是架構性的改變,而不是在原本舊框架中東修修西補補。為何沒看到有廠商用此理想架構做出產品,這還真是個謎。
goldbingo wrote:
光電轉換的jitter實驗也許也有人做過,我也來試著找找...(恕刪)


以Jitter大到小排序:
2010 thewelltemperedcomputer: TosLink>COAX
2017 Archimago: TosLink=COAX=USB
2017 ASR: S/PDIF>USB
2020 ASR: COAX>TOSLink>>USB
2022 ASR: Toslink output: -180dB

早期在2010年代,還有看到TosLink(光纖)比較差。近年來則視機器而定,有時平手有時輸,但USB沒輸過。只是jitter數字都很小,幾個網站都認為就算稍大也都不至於影響聽感,jitter已不是重點了。

現在大家若聽到差異,究竟還是受jitter引起的?或是另有其他因素呢?
goldbingo wrote:
這題就我的理解也來說...(恕刪)


你寫得很仔細,裡面的細節已經超出我一個外行人能夠完全理解的範圍了,我只能告訴你從我自己比較的經驗,CD座機能夠提供的數位訊源乾淨程度,一般而言是比電腦透過USB接DAC更好一個等級,而且是實際聽得出來的差別。當然我也知道自己用的DAC跟DDC在數位級處理上都不夠水準,真正好的DAC或DDC要做到數位訊號乾淨勝過CD座機也不是辦不到,但那要花的錢至少都要CD座機的好幾倍起跳。

至於USB非同步,如同我之前也提過的,我自己聽過太多USB非同步傳輸的DAC或DDC表現都很差。我個人的經驗是數位訊號的處理其實非常困難,不管雜訊或jitter,都不是中間放個USB非同步、放個隔離或是放個buffer,就可以釜底抽薪一勞永逸解決一切雜訊或jitter問題,想把垃圾變黃金不是那麼簡單的事。我個人的經驗是數位播放這回事,相較於FIFO,GIGO才比較符合現實,前端進來的數位訊號是垃圾,即使過了USB非同步、上了隔離、過了buffer,送給DAC解碼的訊號多半也還是垃圾。
JW75

CD座機最大的優勢,就是他的數位流程短,只要好好做能搞砸的地方不多。相較之下,從電腦接USB播放,中間能搞砸的環節比CD多太多,而且很多包都是出在PC內部,DAC或DDC廠嗣後要救的難度太大。

2025-06-18 18:34
goldbingo
goldbingo 樓主

JW75 大家專長、經驗都不同,互相學習。有不同想法,討論才有火花,也能讓思考更深入。[拇指向上]

2025-06-18 18:34
Ian FIFOPi Q7
flying_fish wrote:
Ian FIFO Q7...(恕刪)


謝謝flying_fish大,稍稍看了一下Manual:

裡面一個重點是SYNC mode re-clocker,但manual裡沒有進一步對SYNC mode的說明,不知您有較詳細的資料嗎?

我試著從 DIYAudio 這篇討論中提到了一份application note,其中有一張圖來理解:

為了相容既有的Amanero module,這可能是取捨開發困難度下,比較接近理想架構的實作方法。

雖然Amanero不是直接吃DAC的MCK,但藉由取代它的兩個Xtal,也是能達到控制由前端USB來的資料流速度。

DAC跟re-clocker吃同一個clock,將jitter問題盡可能減少。雖不是終極解由DAC送出clock給前端,但這麼做不用重新開發新的DAC,可依沿用目前有的所有現成的IC及模組,節省開發成本。

終極解是跳過Amanero module,直接DAC跟XMOS對接(還是要過isolator, 只是更省元件成本)。也只差那麼一步路了。

謝謝您提供的資訊,收穫很多。

(補充:查了HiFiBerry DAC+的資料,HiFiBerry操作在master mode,提供MCK到I2S介面,樹莓派依該MCK送data給DAC。我認為Master mode才是正解,但沒有現成相關解決方案跟XMOS接的話,開發成本會提高。)
  • 4
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?