對於USB音頻傳輸,有一個規範,叫做“標準USB音頻規範”。這個規範有什麼用處和好處?
它的用處就在於,實現了以USB介面即時傳輸音頻信號。
它的好處就在於,直接集成在WINDOWS系統內,也就是說,只要符合這個規範的USB音頻產品,WINDOWS系統內的集成驅動就能直接支援,而不用廠商另外開發驅動程式。相反,如果某款USB音頻產品有自己的驅動程式,那麼它就是不支援這個規範的。(但不表示這個產品就不好,自己開發驅動本身是有研發實力的表現。)
在這個標準USB音頻規範下,有三種傳輸模式:同步、自適應,和非同步。
同步:標準的同步模式其實很少見,基本不太用到的,這裏省略。
自適應:大多數的產品(比如TI PCM270X、PCM290X系列)都是用的自適應傳輸模式。
非同步:這裏的非同步,才真正是AYRE QB9所大肆宣傳的非同步USB傳輸模式。
所以嚴格來說,所謂“非同步USB傳輸”,有個大前提,就是在標準USB音頻規範下而言。
那麼自適應傳輸模式和非同步傳輸模式到底有何區別呢?
這裏先要瞭解一下USB音頻處理的大致流程。電腦通過USB介面將音頻資料流程傳遞給DAC上的USB接收晶片,USB接收晶片一邊接收資料,一邊合成時鐘信號,然後轉化為標準的I2S或者SPDIF信號,再傳遞給後面的資料接收晶片,再之後的流程與一般的DAC就沒有分別了。
而在這個過程中,影響USB音頻音質的關鍵,就是USB接收晶片所合成的時鐘信號。
在自適應模式下,USB接收晶片,在合成時鐘信號的過程中,會根據USB傳輸速率的變化,對時鐘信號進行即時的調整。也就是說,在這種情況下,USB傳輸速率的變化,會直接影響到合成的時鐘信號。
舉個誇張點的例子:比如現在播放一段44.1K的音頻,當然就要求USB接收晶片合成一個44.1K的時鐘。而這個44.1K的時鐘,對應於USB傳輸的速率,比如,胡亂說一個,是200個資料包每秒。
也就是說,如果要讓USB接收晶片穩定的合成44.1K 的時鐘,USB傳輸速率,也必須穩定在200個資料包每秒。
但現在的問題是,USB傳輸的速度不可能這麼穩定,也許這一秒傳遞了200個資料包,而下一秒,突然增加到了400個。而這個時候,USB接收晶片會怎麼做?它會把實際合成的時鐘,提高到88.2K。如果再下一秒的USB速率又變為100個資料包每秒,那麼相應的合成時鐘就變成了22.05K。當然,這是一個極端誇張的例子。
可是為什麼USB接收晶片要這麼做?很簡單。因為如果USB接收晶片只是單純的合成44.1K的時鐘,每秒處理200個資料包,那麼一旦真的收到了400個或者100個資料包,緩存就會溢出,或者斷流。
所以,在自適應模式下,USB接收晶片所合成的時鐘信號,是隨USB口的傳輸速率即時變化的,傳輸速率是主,時鐘信號為從,USB傳輸速率的變化直接影響到合成的時鐘信號。那麼可想而知,這個時鐘信號的JITTER有多大。從而你也可以理解,為什麼有人會說,換品質好的USB線能提高音質。
那麼非同步傳輸是怎麼工作的呢?說起來更簡單,USB接收晶片現在只需要穩定的合成44.1K的時鐘,也就是說,現在這個時鐘與USB傳輸速率無關了。
可是如果這樣的話,緩存的問題怎麼解決?答案是,軟體控制。通過一套軟體,根據緩存的負載情況,即時的控制USB口的傳輸速率,從而保證緩存不會溢出或者斷流。在這種情況下,時鐘信號為主,傳輸速率為從,時鐘信號不受傳輸速率變化的影響,理論上這時的JITTER源,就只有工作晶振本身的誤差了。
這個方案,就是AYRE QB9所大肆宣傳的“非同步USB傳輸”模式。它的實現方式,就是通過TAS1020B這塊晶片,配合本地的6M晶振,還有關鍵的控制傳輸速率的固件,來完成。
而TAS1020B這塊晶片,是一塊可編程的晶片,並不是說用了這塊晶片就一定是非同步USB傳輸。DAC1USB,DA11用的也是這塊晶片,但都只用到了它的自適應模式,關鍵還是看固件怎麼寫。所以從某種程度上來說,現在的DAC設計,比拼的已經不是硬體,而是軟體了。
- Feb 01 Wed 2012 11:12
USB非同步傳輸 (Asynchronous USB)
close
全站熱搜
留言列表