• 2

USB介面DAC理論與實際經驗

JW75大在 請問訊源格式如何看?這大樓中,分享了不同組合的USB介面使用經驗,也讓我從中引發好奇心,想在理論與實務上多瞭解一些。很開心在那之後,與JW75大進一步更深入的討論這主題,從中學習到很多。JW75大也贊成將討論內容整理出來,跟更多同好朋友一起分享討論。再次謝謝JW75大!

—————— 前情提要 ——————

JW75大在該討論串21樓提到:
我曾經拿同一台電腦跟同一台DAC,分別接三個不同的USB介面做比對。三個介面都是USB非同步傳輸,其中A是純粹非同步但沒數位訊號重整;B是非同步加數位訊號重整;C是非同步、數位訊號重整加USB隔離,三台放出來的音質等級都差很多,多到根本就像三台不同的DAC,並不是只要有USB非同步傳輸,後面的數位訊號重整跟USB隔離都沒差。而這A、B、C三台不管接那一台,最後都比不上CD座機直接給DAC的音質最好。這沒有對錯的問題,就純粹分享我自己的經驗。

JW75大在該討論串23樓提到:
ABC三者之中,A跟B的差別在於B多了FPGA跟獨立晶振,透過內建演算法聽得出de-jitter效果。B與A相較之下,可以聽得出來解析度提高,音色也更細膩,是有感的升級,但音場跟聲音的質感並沒有太大的差異。

而C與B相比除了FPGA及獨立晶振外,又多USB隔離,這個差距最為明顯,宛如升級一台完全不同級的DAC。相較於B,C的聲音像是揭開一層紗,三頻是全面性的更為立體清晰且均衡,這不單只是解析提高而已,整個音場、聲音立體感、厚度、重量,音色的質感跟泛音的空氣感都向外打出去一大圈。大金彰的雙9038 pro這台DAC原本(使用內建B時)的聲音其實有點平庸,高音稍嫌過亮聲音有點偏瘦不夠厚實,剛買時坦白講是有點失望,但換了C以後聲音是全方面的升級。

我後來還買過一套USB光纖隔離給大金彰這台DAC用,光纖隔離可以從物理上斷絕一切電氣聯繫,理論上是隔絕雜訊效果最好的方式,但缺點是因為有光電轉換,會犧牲增加多一點jitter。B+光纖隔離後的效果一樣驚人,可以直接跟C掰手腕毫不遜色。依我自己上述經驗,雜訊跟時基錯誤之間如果二選一的話,雜訊影響比時基錯誤大的多,時基錯誤影響的主要是聲音的解析度跟音色,但聲音的基底跟質感差別沒那麼大,還是聽得出是相同的聲線。但雜訊的影響則是全面性的,尤其是對聲音的音場及質感差異最大。

—————— 後續討論整理 ——————

JW75 wrote:
SPDIF跟i2s只是訊號格式不同而已,spdif是線路傳輸的格式,而i2s則是DAC晶片直接吃的格式...(恕刪)


謝謝JW75大詳細的回覆,我試著收集更多資訊,並依據您的建議重新整理一下論述。整個運作方式,也稍稍有點感覺了。

先說左半DDC這部分:
USB介面DAC理論與實際經驗
DDC三者的功能都很單純一致,就是將PC經由USB傳過來的PCM資料,經由SPDIF或I2S送到DAC。這裡先簡化所有箭頭都向右,也就是都是由DDC將clock及data送出,DAC單純是接收的角色。(I2S的clock也可反過來送,這最後再來談這題,先簡化都是單向)

I2S有三根訊號組成:SCK, WS, SD。(參考wiki)
USB介面DAC理論與實際經驗
也有資料將這三個稱為SCLK, LRCK, SDATA。因為USB是以packet形式封裝PCM資料傳輸,無法傳送clock資訊,所以在DDC就必須要用一些辦法來”回復”或”regen” clock,這點毋庸置疑得做。

先回頭看看SPDIF,參考NI網頁說明:
USB介面DAC理論與實際經驗
只使用一條線,利用bi-phase mark modulation,將clock及data混入一條線傳。clock資訊就在訊號轉態的edge。所以可視為跟I2S一樣,仍是把clock及data向DAC傳,只是DAC收到要稍作處理,才能回復出data及clock。

既然SPDIF及I2S都需傳遞clock給DAC,在DDC這裡就一定要想辦法產生clock。我沒有找到A, B, C三者如何運作的細節,先以您提供的資訊來推想:

「A是在USB接收端完全沒優化,直接走SPDIF丟到DAC,他的時脈就是從電腦USB來的,因為A壓根沒有重建時脈功能。」

A得要重建時脈,不然沒辦法打出SPDIF訊號。但USB的時脈是USB packet用的,定頻12MHz, 480MGz, 5GHz or 10GHz,視跑的是USB哪個速度。packet也不會乖乖對齊在哪些地方。

想要由USB資料回復clock,最直覺的辦法就是拿USB packet的SOF(start of frame),利用時脈回復電路去對齊SOF。如EDN下圖:
USB介面DAC理論與實際經驗

這就是所謂的USB sync mode。但因為USB及電腦送出USB packet的時間不確定性,clock品質很難做得好。至於Asynchronous mode,待A, B, C都先過一次後,再一起看。

「B、C則是在數位級先做一次優化,然後再丟到DAC、B跟C用的時鐘,是在幫電腦USB來的音樂訊號重打時脈做優化」

剛剛談A時,就留下一個問號「何謂優化?」我先假設是DDC只做格式轉換,不會對PCM資料內容做變更。這可經由將DDC後面不接DAC,改接SPDIF or I2C receiver(例如Hifime S2 Digi )錄下轉出PCM資料就能確認。若我的認知有誤,還請更正。

那麼B, C的數位級優化若不是優化資料內容,就只能優化clock了。至於跟B跟C用的時鐘有什麼關係?XMOS XU208 data sheet給了應用電路範例:
USB介面DAC理論與實際經驗
它本身就需要一個24MHz(or 12MHz)的Oscillator來解碼USB訊號。所以猜想您提到的,是其他的時鐘,如下NAJLEPSZE ODTWARZACZE找到的圖:
USB介面DAC理論與實際經驗
Clean side左下角那兩顆, audiophonics 網站有放大的照片,下圖左上角:
USB介面DAC理論與實際經驗
配合上FPGA,用來輸出同軸SPDIF訊號。推測是針對不同的44.1kHz, 48kHz的倍數,會選用不同的oscillator 最佳化輸出SPDIF上面載的clock資訊的jitter。

然而若是還是要對齊SOF,勢必會將SOF的不理想性,引入送給DAC的output clock。要clock乾淨,最好只依賴local free running oscillator,不要參考SOF。這就是asynchronous mode能幫上忙的。
USB介面DAC理論與實際經驗
USB介面DAC理論與實際經驗

ElectronicDesign這篇有更明確的敘述:
USB介面DAC理論與實際經驗
重點在於後面的DAC,要與I2S使用相同的clock。

問題就會出現在DDC這部分,I2S clock(或經由SPDIF抽取clock)得經過線傳輸到DAC,這過程中若是clock受到汙染,或是signal/ground noise進到DAC,就白搞了。
USB介面DAC理論與實際經驗
但這已經是使用DDC架構的極限,要再進一步優化只能靠DAC上再進一步去jitter或ASRC來幫忙。這部分會在接下來DAC這塊探討。至於有沒有最佳解,則留到文章最末端來談。

回到這張圖右邊的DAC:
USB介面DAC理論與實際經驗
因為是同一個DAC,且前面談過,SPDIF同時帶有clock及data資訊,可轉換回I2S。所以可視為DAC要面臨的挑戰都一樣:一個可能帶有clock jitter的資料。而USB audio synchronous mode下,會比asynchronous mode更髒。

以下是ES9038的block diagram:
USB介面DAC理論與實際經驗
JW75 wrote:
你畫ABC三個圖沒有錯,但我覺得有問題的是這句「 DAC收到SPDIF數位訊號(內含clock資訊),就得重建clock」...(恕刪)

先來說明我這句話的想法。

首先我用「重建clock」這個說法的確是有問題,因為以ES9038而言,並不一定需要重建clock。比較精確的描述,應該要說是「抽取clock資訊進行ASRC&Jitter reduction」。

上圖左下角雖然ES9038有自己很乾淨的clock,這個clock如您所說的,也最重要。但前面DDC進來的clock是含有jitter的,而且一定跟這裡local的clock頻率不可能一模一樣。畢竟DDC跟DAC用的clock不是同一顆。

舉例來說(只是方便說明,實際內部運作更複雜),若DDC的clock若是47.999kHz~48.001kHz,而這裡給DAC的clock是精準的48kHz。不修正的話對輸出類比波形而言,就是一個抖動。

因此進DAC前,還要進一步做ASRC&Jitter reduction。這不論是面對A, B, C三種DDC任一個,都要處理的事。前面提到進來的資料都一樣,只差在clock。DDC給的clock品質越糟,這裡的挑戰越大,DAC輸出品質越堪憂。此外走同軸的SPDIF或I2S,還會衍生signal/ground noise coupling問題,就看這裡數位類比的noise隔離做的好不好了。

到這裡都與您分享的一致,就算有asynchronous mode,仍然有許多挑戰要克服。而CD player由CD讀取電路轉換成I2S訊號,接到DAC這些過程,面臨的挑戰其實也一摸一樣。CD中的DAC,若內部走I2S介面,同樣得處理I2S的clock jitter&noise coupling。

只是如您所述,CD player是專為音樂而生,電路對於noise, clock quality會特別在意,若能處理好,出好聲的機率就高了。

————— 理想解法 —————

聊到這裡,USB終極最佳解決辦法也呼之欲出了。就是「I2S改用DAC的clock,不要使用DDC的clock (或是兩者共用clock)」,如以下示意圖:
USB介面DAC理論與實際經驗
因為DAC看到的data與clock都沒有jitter,就沒有額外的jitter問題要處理。反向回送到I2S的clock也不需太細心照料,只要jitter不要造成數位data錯誤就好。Buffer水位以asynchronous mode方式,跟USB host(PC)做好流量控制,就搞定了。

此終極解法下,clock jitter、時基誤差等等已不是問題。剩下最重要的,是每個音訊電路共同的功課:顧好其他路徑上的「雜訊」。

只是這個做法跟傳統的I2S做法截然不同,不知道哪一台USB DAC有做到呢?

————— 延伸問題討論 —————

Q1. A壓根沒有重建時脈功能—> 我認為有,或是對於重建時脈的定義我倆定義不同

JW75回覆:

你可以看一下TI的這篇文章,裡面有說明時脈重建的原理。

https://www.ti.com.cn/general/cn/docs/gencontent.tsp?contentId=145788

要重建時脈,就是要拋棄前端訊號來源的主時鐘,用字時鐘及位時鐘透過DSP計算,用本地時鐘校驗出新的主時鐘替代,來降低前端訊號來源時基錯誤的影響。A的電路板上沒有FPGA,也沒有本地時鐘,客觀上就不具備重建時脈的功能。他能做的只是把前端USB送來的訊號,照著收到的時間直接轉到後面給DAC處理。B跟C的電路上有FPGA、有韌體控制的DSP運算、也有本地時鐘,他們才有能力做重建時脈的動作。

而數位音樂訊號,音頻資料本身是0與1原則上不會出錯,所以數位級優化歸根究底就是做兩件事,消除(a)時基誤差及(b)雜訊干擾。從最簡單幾千塊到最昂貴幾十萬的DDC、數位轉盤講白了就全都是在做這兩件事,只是看花多少成本,成果能做到什麼程度而已。就這兩件事基本上A什麼都沒做;B做的是(a)消除時基誤差;而C做的則是(a)跟(b)都做。

Goldbingo回應:

您提到「A的電路板上沒有FPGA,也沒有本地時鐘,客觀上就不具備重建時脈的功能」這點是有疑慮的。但我沒有看過A電路長什麼樣子,只能提出我的看法:
1. 理論上USB的接收電路,很難不用本地時鐘就做得出來。USB控制器內部運作就像是個小電腦(micro controller),得要有clock來運作。也許是用了晶片內建簡單震盪器來實作節省成本,所以外部PCB沒看到本地時鐘。
2. 時脈重建不一定要用FPGA,要看想要做多好、多複雜。但為了要打出SPDIF訊號,就一定得要有時脈,不然打不出去。只差在時脈的品質,若有FPGA可以做更多運算,有機會產生較高品質的時脈。

想細部觀察了解運作的話,量測SPDIF中的轉態edge,就會知道其時脈品質,可利用一些儀器量測(例如示波器)跟計算來得到。但這就要再多花點心力了。

由您的推測來說,的確很可能A重建出來的時脈品質,會較B,C來得差。

Q2. B、C則是在數位級先做一次優化 —> 我認為數位級優化仍是針對clock,您對此優化的定義是?

JW75回覆:

另外,即使DDC或DAC有重建時脈或隔離雜訊的功能,他也只能降低而無法100%消除前端訊號來源時基錯誤及雜訊干擾的影響。就像那篇TI文章寫的,不管你DSP重建時脈的能力再怎麼強,本地時鐘再怎麼精準低噪訊,前端送來的訊號的品質還是很重要的,就像您不能把爛泥打磨光亮一樣。

沒錯,大金彰的DAC採用ESS最尖端的ASRC技術及crystek 575算是已經很對得起買家的本地時鐘,能夠消除前端訊號時基錯誤的影響,但隨著A、B、C處理數位訊號優化的能力及程度不同,這三台給DAC的數位訊號品質有差異,DAC轉出來的音質還是有明顯的高低之分。

因此,數位訊號的處理其實是門大學問,並不是說我只要有USB非同步、有ASRC運算或有隔離就可以解決一切問題,這東西基本上還是砸多少錢處理才能有多少效果。而相較之下,要追求數位訊號品質最省成本的辦法,其實是聽CD,因為他音樂訊號的路徑短,中間會受到(a)時基錯誤及(b)雜訊干擾的影響都最低,因此你即使任何數位級優化都沒做,CD座機數位輸出訊號品質天生就會比電腦好太多。

Goldbingo回應:

您提到「不管你DSP重建時脈的能力再怎麼強,本地時鐘再怎麼精準低噪訊,前端送來的訊號的品質還是很重要的,就像您不能把爛泥打磨光亮一樣。」這點一針見血。

前端送來的clock得要夠好,後端運算要處理的不理想性少,輸出品質自然好。

目前DDC架構下的USB非同步模式解決了一半的問題,只拿掉了USB時基誤差的不理想性。但仍然是使用放在DDC的時鐘,不是用DAC本地時鐘。

但若進化到前述文末提到的最佳理想做法,由DAC本地時鐘提供給前端的I2S用,就有機會釜底抽薪解決掉整個架構性問題,不再受到前端送來的clock品質影響。

這解法不單單對USB有用,對CD、Ethernet、本地硬碟、串流都可用一樣的原理來處理。很期待能看到更多優秀的產品出現。

————— 感想 —————

音響及其背後的原理是個有趣的題目,結合聽感與理論相互呼應更讓討論深入,也期待與其他有興趣的網友能夠有更多交流。
2025-05-23 17:28 發佈
USB匯流排中傳遞了資料、狀態、控制訊號和定址等多種訊號,除了USB 2.0架構中基本的數據封包(data packet)和交易封包(transaction packet),USB 3.0新增了鏈結管理封包(link management packet)與同步時戳封包(isochronous timestamp packet),負責管理鍊結、控制流量、配置設備與集線器,以及資料傳送、活動連繫等作用。

PC 與 DAC 機無法精準同步, 原因其一是 USB 2.0 Packet 沒有時間戳記 (Time Stamp). 而且 DAC 機都是用 USB 2.0 規格, 我還沒看到哪家 DAC 機有用 USB 3.0.

roon 自己設計 RAAT protocol, 加強同步處理. 但是 DAC 機一定要裝 roon 的韌體, 才能稱 roon Ready. 透過 PC - DAC 兩端軟韌體的同步協調機制, 來降低 jitter 發生的機率.

Esoteric 串流機的 PC 端 software player: HR Audio Player, 只是將 DSD 音樂檔 raw data, 傳給 N-01XD SE, 由其 FPGA 做其軟硬體整合的升頻, delta-sigma multi-bit 電阻陣列的電壓輸出控制. 資料接收與播放的同步機制, 由 N-01XD SE 獨自處理.

如果用 PC 上的 foobar2k, HQ player 做 DSD 升頻處理, 有可能因 CPU 效能過低, 無法穩定輸出 USB Packet. 兩者的音質音色差異, 非常明顯.
宅男工程師 wrote:
roon 自己設計 RAAT protocol...(恕刪)

RAAT的想法跟Asynchronous USB很類似,基本核心觀念就是用DAC的clock,主機配合Device速度。很有趣的是不同的介面,最終解決方案都很類似。
goldbingo wrote:
JW75大在 請問訊...(恕刪)

A.有沒有Reclock 我不清楚,要看DDC設備的設計。最簡單的USB轉SPDIF應該是沒有Reclock的動作,好一點的DDC應該就會有內建誤差較小的Clock去做Reclock的動作。

B的仿Amanero卡,有內建Clock去做asynchronous USB的Reclock動作。不過仿卡一般因為成本的問題,用的時鐘晶片通常都不會等級太高的。

C XMOS芯片 XU208加上了USB隔離 ,用的時鐘晶片可能會比仿卡再高級一點。

所以聲音上 C>B>A並不訝異。

此外B比A好也有可能有部分是I2S傳輸的功勞。通常有多重介面傳輸的時候,I2S都有可能是最好的一個。

此外USB隔離的確重要,如果DDC或DAC本身沒加,在PC後端串一個便宜的USB隔離器也會有一定的Dejitter功效。

Reclock這個東西原則上是多一個Reclock的動作(Dejitter)會變好,這也是外掛DDC的價值。但如果後端DAC已經處理得很好,輸入端也有做好USB隔離,也不見得多個Reclock的動作會有很大的改善。

又I2S在協定上是可以選擇要使用前端的Clock還是後端的Clock。SPDIF傳輸就應該都是只吃前端的Clock。
ghleu wrote:
最簡單的USB轉SPDIF應該是沒有Reclock的動作...(恕刪)

很好奇沒有reclock,會如何轉成SPDIF,您有更詳細的資料或推薦什麼網站文獻嗎?
ghleu wrote:
A.有沒有Reclock...(恕刪)


B用的那兩顆晶振是沒有標示的白牌晶振;C用的那兩顆則是Crystek 575,雖然還算不上頂級晶振,但也是大廠的低噪飛秒級產品。單單那兩顆Crystek晶振的價錢,就已經比B整張仿卡的價格高一大截了,更不用說C上面其他一堆好料,以及Singer自家寫的DSP設計。B跟C不管從功能或價格上都是不同級產品,數位訊號優化的聲音也是不同級。
ghleu

我知道仿卡通常是用白牌晶振。也有仿卡會標註晶振的品牌,不同的晶振會有不同的價格。Singxer F-1價格至少是仿卡的10倍,用料自然要好上不少,所以效果理論上自然會好上不少。

2025-06-05 13:07
goldbingo wrote:
很好奇沒有reclock...(恕刪)


在USB Audio的synchronous mode模式底下,音訊的clock是由上端USB的clock所決定的。這個是USB Audio協定的基本架構。
Fundamentals of USB Audio


簡單的查了一下一張約1000的USB轉SPDIF卡,使用的晶片為TE7022
TE7022 Datasheet

Block diagram中顯然沒有Reclock的動作。

簡而言之,只要USB晶片沒有實作asynchronous mode ,USB audio自然是照著Host的clock在做timing的動作,自然也不可能有reclock的動作。
CD 機用的數位輸出,還有線性電源,很少雜訊,越高檔電源處理的越好,晶振也越好, 另外 CD 機裡的clock 晶振 通常比usb dac 裏的clock 好很多。
CD 的AES 介面 同軸介面的 clock 是由 CD 給DAC的, 但如果用pc 的usb 接dac,則clock 是dac 自身產的,再來pc 的電源是交換式電源雜訊很高,usb 這種介面的雜訊也很高。

因此粽合幾項條件一,CD 進DAC 一定比PC USB進DAC 好 , 所以CD機聲音通常會好很多。
ghleu wrote:
晶片介面也沒有external clock的接腳...(恕刪)

查了datasheet,它有晶振 XI,XO 兩根腳:

於 AUDIOPHONICS 網頁上更明確寫了:

電路板照片如下,的確有個12MHz晶振:

但有晶振並不代表輸出的MCK品質一定會很好,datasheet已標明只支援USB Audio Class 1.0,

UAC 1.0不支援Asynchronous mode,I2S(或SPDIF)的clock還是要產生,只是得要想辦法從USB SOF(start of frame)或是data rate回復。clock quality要弄好會比較困難。
JW75

你可以看Singxer F1的圖就知道了,dirty side旁也有顆很小12M的晶振,那是USB溝通用的,跟重建時脈無關;clean side下面那兩顆Crystek才是真正重建時脈用的晶振。

2025-06-06 10:30
goldbingo
goldbingo 樓主

JW75 沒錯[拇指向上] Asynchronous mode 重建clock (reclock),會讓後面用的clock(I2S, SPDIF)不再與USB, PC有關聯。

2025-06-06 17:54
sifon wrote:
CD 機用的數位輸出...(恕刪)


其實CD座機跟USB DAC比jitter跟雜訊都更低,最大的優勢不在用料或設計,而是CD座機的訊號架構天生就是最短最簡單

你把電腦側板打開,裡面塞得滿滿的都是各種晶片、線路和匯流排,而且晶片時脈很多是高達Giga級,這裡面很多線路都會疊加jitter,主動元件每個都會污染雜訊,等音樂訊號終於從USB傳到DAC時,那個品質先天就已經糟到不行了。

相對地,你把CD座機外蓋打開,裡面除了讀取機構,其他大概就一個環型變壓器,一、兩塊電路板,晶片元件的數量連電腦的一成都沒有。晶片元件數量少,就代表疊加jitter及雜訊污染的來源少。而且CD座機的讀取,是CD訊號直接光學讀寫頭讀出,CD本身不導電訊號來源沒有任何雜訊,座機的機構也能保證光電轉換的jitter低,光電轉換完音樂訊號直送板上的DAC晶片解碼,或是從SPDIF輸出給外部DAC,中間幾乎是沒有任何jitter疊加或雜訊污染,你就算什麼de jitter或隔離都不做,CD座機的音樂訊號品質,也遠勝從電腦這個jitter、雜訊大染缸輸出的訊號。更別說CD座機設計就是為了放音樂用,不管再怎麼便宜機型,人家至少都會弄個ASRC來升頻及de jitter,這是電腦根本不會有的東西。

在訊號來源天生就因為線路短,訊號純淨;進DAC轉換之前還過ASRC做優化的情況下,CD座機放出來音質會比電腦用USB DAC好,也是很正常的事。

但這也不代表電腦或網路用USB放DAC,聲音一定會比CD座機差,只是來源訊號品質不好,就只好用後面的隔離、ASRC等優化來彌補。高檔的DAC或DDC,像是Aurender的N30,價格是新台幣一百萬,他做的其實就是de jitter跟去雜訊兩件事,入門的CD座機應該是都達不到N30的水準。沒錯,訊號優化做得好,從電腦或網路USB放音樂,音質確實能贏過CD座機,但問題是那花下去的成本起碼以5或10倍為單位起跳。如果要用最便宜的方式追求音質的話,CD座機還是毫無疑問性價比最高的選擇
JohnTitor

反了吧.cd機還是要用SPDIF架構輸出訊號的,而這個架構的jitter就會被線材,前後接收芯片模組所影響,先天上就比非同步usb要差一些

2025-06-08 14:03
  • 2
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?