USB是用於高速數位資料傳輸,其有相當的規範,並非單純導線端子連接即可,即使一般市售USB線,雖然銅質可能不佳,但基本上都是使用照規範製造的USB專用線材製作(未按照規範之USB傳輸線材,對資料正確性有極大影響)。希望各位朋友們注意一下!以下是詳細規範資料(中文)!
http://www.usblab.idv.tw/usbstudy.htm#U ... 7%A7%A9%C0
即使低速USB就有相當的規範!(引用許永和老師之相關著作)
SUC 寫:對,不過資料的正確性可以經過一些數位校正碼來校正,所以USB規範是一回事,製造商做又是另一回事。
但是一般為了壓低成本,不佳銅質、不佳遮蔽的USB線材可能會造成過多的Error發生,當錯誤發生時,有以下兩種可能:
1. 可彌補的錯誤: 這種錯誤藉由校正碼可自行矯正回正確的數值,而且速度很快,對資料正確性、聲音的正確性不太有影響。
2. 不可彌補的錯誤: 這種錯誤,可以藉由校正碼偵測資料傳輸有問題,但因錯誤過多而無法修正,這時receiver會要求transmitter重傳一次資料。這對純數位系統是可行的,資料重傳對一般使用者很難感覺的出來,這樣當然成為不肖的傳輸線製造商壓低成本的目標。但USB-DAC卻不可行,因為重傳一次時間基準就不一樣了,這會造成嚴重的jitter。
大家可以去查查一些傳輸線速度評測的資料,看看好線跟爛線的傳輸速度差別(通常差別可以在5%左右,代表約有2.5%的資料錯誤需要重傳)。資料本身是正確的,但爛線因為要重傳多次而速度較慢。USB-DAC這種東西是不允許也太不能接受重傳這種事的,往往都是\"錯了就讓他錯吧!" 所以爛線,即使是數位傳輸,也是對音質有影響的(2.5%的錯誤在發燒友眼裡,能夠被接受嗎? 呵呵∼)。
h大您應該可以注意到,許老師的著作中例子裡,應該沒有USB-DAC這種東西吧∼
SUC 寫:資料重傳對一般使用者很難感覺的出來,這樣當然成為不肖的傳輸線製造商壓低成本的目標。但USB-DAC卻不可行,因為重傳一次時間基準就不一樣了,這會造成嚴重的jitter。
fchung 寫:SUC 寫:資料重傳對一般使用者很難感覺的出來,這樣當然成為不肖的傳輸線製造商壓低成本的目標。但USB-DAC卻不可行,因為重傳一次時間基準就不一樣了,這會造成嚴重的jitter。
拜託,不懂的不要亂吹
USB本身是Async的傳輸,DAC輸出的timing根本和USB 上面的傳輸時間毫無關係。一般的設計是DAC輸出前會有FIFO,而輸出的時鐘是在DAC電路內生成。
想想就知,DAC可以輸出44.1KHz,48KHz,96KHz甚至192KHz的sampling data,如果靠傳輸來定時間基準,怎麼可能準。
先不說PC的OS不是RTOS,USB Device也可以通過多個HUB來連接,傳輸時間層層轉,怎麼可能用HOST的傳輸來定輸出的時基?
fchung 寫:當然不是這樣啦,你說的是一個USB interface + 一片普通DAC的情況
根本就不是一個USB DAC的設計,而且根本是行不通的
你以為USB DAC內沒有processor麼,錯,是一定有
因為所有USB device都需要和host通過認証,說明自己是何種device,如何反應等,沒有processor如何做?你還是先去USB.ORG load一份spec看看再說話
而且,你計一計,USB目前有三種speed (1.1Mbps),LS,FS(12Mbps) 和HS(48Mbps ),就那一種會跟DAC要求的直接匹配?
USB根本沒有clock的signal,只有D+和D-兩個相反訊號,clock是在data 的傳輸pattern內提取出來的,會可以準到用在audio輸出嗎?而且USB傳輸是按packet的,packet 和 packet之間的時間沒有基準,如何用到DAC timing上。我看你還是load 份USBDAC的datasheet看看,如果你看得懂的話。
而你對FIFO的誤解也太大了,error correction or resend是在data 未進入FIFO之前做好的,FIFO就是用來
1. 容許輸出有獨立準確的時基
2. 在據來得快或慢的時候作為緩衝
fchung 寫:拜託,你自己在這load份datasheet看看
http://focus.ti.com/docs/prod/folders/p ... m2702.html
是不是有FIFO?
是不是FIFO有USB I/F後面?
audio clock是不是獨立生成?
這己經是最簡單的一種了
正在瀏覽這個版面的使用者:Google [Bot] 和 109 位訪客