|

樓主 |
發表於 2012-4-26 11:36:16
|
顯示全部樓層
友站 好文摘要 
談到USB... 要先深吸一口氣, 再嘆一口氣...
深吸一口氣的原因是.. USB這事說來話長
再嘆一口氣的原因是.. 如果從一開始, hi-end音響的數位傳輸是由發燒友設計的, 現在就不會有那麼多問題了..
接下來就要看小弟胡說八道了..
大家都說USB是jitter free, 什麼是jitter free? 不是沒有jitter, 而是不受jitter干擾. 為什麼不受jitter干擾? 因為USB訊號中沒有時脈訊號, 所以傳輸過程不受jitter干擾. 那時脈訊號哪裡來? 由DAC這邊提供. 所以, 說穿了, 其實跟一般的de-jitter的作用相同.
但是, 這樣做有一個問題.. 如果來源的時脈和DAC的時脈差一點點, 會有兩種狀況發生. 1. 來源時脈比DAC時脈快, 過不了多久, buffer就會滿出來. 滿出來怎麼辦? 沒辦法.. 只好把多出來的資料丟掉, 聽起來就像跳針, 直接跳過一秒繼續播放. 2. 來源時脈比DAC時脈慢, 那麼DAC常常會收不到訊號, 因為buffer常常會空掉, 來源來不及補資料. 空了怎麼辦? 有兩個辦法..第一個辦法是不做任何處理, 聽起來就會斷音. 第二個方法就是用一些演算法來內插資料, 但這樣資料其實是被扭曲的.
以上第一種情況就叫做buffer overflow, 而第二種情況就是buffer underflow. 為了避免這兩種情況發生, 還是得動用PLL來取得來源時脈. 這下好了, 繞了一圈還是繞回來... 好個jitter free... 來源的jitter直接傳到了DAC..
說到這裡, 該來談談USB線了.. 既然傳輸過程應該是 jitter free, 那為什麼很多人說, 換USB線也會影響聲音? 這就要從USB的傳輸模式來看了 (各位看完後會氣死..). USB傳輸模式有四種: 1. control mode 2. interrupt mode 3. bulk mode 4. isochronous mode. 因為isochronous mode就是當初設計來傳輸即時影音的, 所以幾乎所有的USB DAC都是使用這種傳輸模式來設計. 重點來了.. 在 isochronous mode 中, 接收端是不需要回應來源端資料是否有遺失, 是否要重傳, 因為 "資料錯誤對即時影音傳輸來說是不重要的". 其實, 因為isochronous mode是即時傳輸模式, 所以就算資料遺失或是錯誤也不可能重傳. 這也就是為什麼會有buffer overflow或是buffer underflow的情況產生.
那.. 還是沒有說為什麼不同的USB線會有不同的聲音? 一條經過認證的USB線難道不夠好? 因為除了isochronous mode以外, 其他三種模式上, 來源端和接收端都需要"握手"以確定資料正確性, 所以只要能夠在一定的時間內將一定大小的資料正確傳輸, 這條USB線就能在一般的用途上順利使用. 但是, 因為isochronous mode是不允許重傳資料, 一定要一次定江山, 所以, 這條USB線就擔負著重責大任, 只許成功不許失敗 (失敗了就難聽了.. ). 這也就是為什麼, 一條平常使用正常的普通USB線, 用在USB DAC上是不足以勝任的.
大家氣不氣? 當初制定SPDIF的時候, 就已經低估了人類大腦對聲音的處理能力.. 好不容易來個USB, 沒想到又敗在 "資料錯誤對即時影音傳輸來說是不重要的"這句話. 我真是氣死了..
所以USB DAC到底有沒有比較好? 說穿了, 其實沒差.. 原來數位介面該有的問題, USB DAC一點也不少. 那... 有沒有廠商想到可以用USB的其他資料傳輸模式來傳送音訊資料, 而不要用isochronous mode? 答案是肯定的.. 真是聰明的廠商. 有廠商用bulk mode (就是USB傳送大量資料的模式, 像是USB disk, USB printer使用的) 來傳送audio資料. 好處是資料正確性 100%, jitter只來自於 master clock, 而且只用使用一般的USB線, 每條線都是完美的線. 缺點呢? 就是必須要搭配他們家自己的驅動程式以及軟體. 沒有這些驅動程式和軟體, 這台DAC動都不會動. |
|