[心得] 幾種USB Audio 傳輸模式

看板Headphone (耳機)作者 (XD)時間13年前 (2013/01/02 18:03), 編輯推噓3(303)
留言6則, 3人參與, 最新討論串1/1
最近寫程式無意發現,微軟有給USB View的原始碼, 就抓來compiler看看,發現VS2012版的,資訊多了不少。 以前一直搞不清楚,Asynchronous 到底是在幹嘛的, 透過code反而多少了解了一些。 簡單的拿三台有USB Audio的裝置來檢驗一下: 第一台 : Mytek 192DSD 插上(USB 2.0)的孔 bLength: 0x07 bDescriptorType: 0x05 bEndpointAddress: 0x06 -> Direction: OUT - EndpointID: 6 bmAttributes: 0x01 -> Isochronous Transfer Type, Synchronization Type = No Synchronization, Usage Type = Data Endpoint wMaxPacketSize: 0x00AC = 1 transactions per microframe, 0xAC max bytes bInterval: 0x01 第二台 : 阿仁的 USB DDC bLength: 0x07 bDescriptorType: 0x05 bEndpointAddress: 0x01 -> Direction: OUT - EndpointID: 1 bmAttributes: 0x05 -> Isochronous Transfer Type, Synchronization Type = Asynchronous, Usage Type = Data Endpoint wMaxPacketSize: 0x0400 = 1 transactions per microframe, 0x400 max bytes bInterval: 0x01 第三台 : 不知名AD1955 DAC 用C-MEDIA USB Audio bLength: 0x09 bDescriptorType: 0x05 bEndpointAddress: 0x06 -> Direction: OUT - EndpointID: 6 bmAttributes: 0x09 -> Isochronous Transfer Type, Synchronization Type = Adaptive, Usage Type = Data Endpoint wMaxPacketSize: 0x00C0 = 0xC0 bytes wInterval: 0x0001 bSyncAddress: 0x00 小結: Mytek 192DSD 用rigisystems 的方案,No Synchronization, 我個人的理解,應該是說不使用同步方式, 但是同ISOCHRONOUS 下如何確保資料的正確性呢? 看來是有用其它的方式。 在使用上,Myetek 192DSD的USB個人是覺得不是很穩定, 尤其直接上Intel USB 3.0的port,播放時,爆音不斷。 只有接2.0的孔可以正常使用。 阿仁的DDC用XMOS的方案,是使用非同步的方式。 播放時,ASIO,WASAPI都很ok。 C-MEDIA USB Audio,居然是Adaptive方式。 結果居然沒有用同步模式的晶片XD,看來要找PCM270x的看看了。 review code 後,總結在ISOCHRONOUS 這種方式下有: "No Synchronization", "Asynchronous","Adaptive","Synchronous" 四種模式。 若有誤解的地方,大家可以指導一下,感謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.124.168.214

01/02 18:10, , 1F
先推 不過不是學cs的 看不懂code Orz
01/02 18:10, 1F

01/02 18:11, , 3F
用這個看看 Mytek 192 不是用標準規範的設計
01/02 18:11, 3F

01/02 18:12, , 4F
有可能是bulk transfer 然後Adaptive本來就是最常見的
01/02 18:12, 4F

01/02 18:12, , 5F
Asynchronous是最近幾年才開始普及
01/02 18:12, 5F

01/02 19:38, , 6F
沒有用DSD檔 但是仍然推一下
01/02 19:38, 6F
文章代碼(AID): #1Gv0Nm6e (Headphone)
文章代碼(AID): #1Gv0Nm6e (Headphone)