使用USB D/AC 的朋友稍微注意一下喔!

家用音響系統, 訊源、音響、家庭劇院、音響觀念等音響系統討論專區。

使用USB D/AC 的朋友稍微注意一下喔!

文章h013070 發表於 週三 9月 26, 2007 1:40 am

USB是用於高速數位資料傳輸,其有相當的規範,並非單純導線端子連接即可,即使一般市售USB線,雖然銅質可能不佳,但基本上都是使用照規範製造的USB專用線材製作(未按照規範之USB傳輸線材,對資料正確性有極大影響)。希望各位朋友們注意一下!以下是詳細規範資料(中文)!
http://www.usblab.idv.tw/usbstudy.htm#U ... 7%A7%A9%C0
圖檔
即使低速USB就有相當的規範!(引用許永和老師之相關著作)
h013070
SR40
SR40
 
文章: 0
註冊時間: 週三 12月 13, 2006 9:07 pm

文章SUC 發表於 週三 9月 26, 2007 11:35 pm

對,不過資料的正確性可以經過一些數位校正碼來校正,所以USB規範是一回事,製造商做又是另一回事。
但是一般為了壓低成本,不佳銅質、不佳遮蔽的USB線材可能會造成過多的Error發生,當錯誤發生時,有以下兩種可能:
1. 可彌補的錯誤: 這種錯誤藉由校正碼可自行矯正回正確的數值,而且速度很快,對資料正確性、聲音的正確性不太有影響。
2. 不可彌補的錯誤: 這種錯誤,可以藉由校正碼偵測資料傳輸有問題,但因錯誤過多而無法修正,這時receiver會要求transmitter重傳一次資料。這對純數位系統是可行的,資料重傳對一般使用者很難感覺的出來,這樣當然成為不肖的傳輸線製造商壓低成本的目標。但USB-DAC卻不可行,因為重傳一次時間基準就不一樣了,這會造成嚴重的jitter。

大家可以去查查一些傳輸線速度評測的資料,看看好線跟爛線的傳輸速度差別(通常差別可以在5%左右,代表約有2.5%的資料錯誤需要重傳)。資料本身是正確的,但爛線因為要重傳多次而速度較慢。USB-DAC這種東西是不允許也太不能接受重傳這種事的,往往都是\"錯了就讓他錯吧!" 所以爛線,即使是數位傳輸,也是對音質有影響的(2.5%的錯誤在發燒友眼裡,能夠被接受嗎? 呵呵∼)。
h大您應該可以注意到,許老師的著作中例子裡,應該沒有USB-DAC這種東西吧∼ :ho:
頭像
SUC
SR40
SR40
 
文章: 0
註冊時間: 週一 9月 17, 2007 9:41 pm
來自: 柚子頭 克蕾雅

文章kaili 發表於 週五 9月 28, 2007 8:15 pm

SUC 寫:對,不過資料的正確性可以經過一些數位校正碼來校正,所以USB規範是一回事,製造商做又是另一回事。
但是一般為了壓低成本,不佳銅質、不佳遮蔽的USB線材可能會造成過多的Error發生,當錯誤發生時,有以下兩種可能:
1. 可彌補的錯誤: 這種錯誤藉由校正碼可自行矯正回正確的數值,而且速度很快,對資料正確性、聲音的正確性不太有影響。
2. 不可彌補的錯誤: 這種錯誤,可以藉由校正碼偵測資料傳輸有問題,但因錯誤過多而無法修正,這時receiver會要求transmitter重傳一次資料。這對純數位系統是可行的,資料重傳對一般使用者很難感覺的出來,這樣當然成為不肖的傳輸線製造商壓低成本的目標。但USB-DAC卻不可行,因為重傳一次時間基準就不一樣了,這會造成嚴重的jitter。

大家可以去查查一些傳輸線速度評測的資料,看看好線跟爛線的傳輸速度差別(通常差別可以在5%左右,代表約有2.5%的資料錯誤需要重傳)。資料本身是正確的,但爛線因為要重傳多次而速度較慢。USB-DAC這種東西是不允許也太不能接受重傳這種事的,往往都是\"錯了就讓他錯吧!" 所以爛線,即使是數位傳輸,也是對音質有影響的(2.5%的錯誤在發燒友眼裡,能夠被接受嗎? 呵呵∼)。
h大您應該可以注意到,許老師的著作中例子裡,應該沒有USB-DAC這種東西吧∼ :ho:

像PCM2702這類所用的協定,雖然只是USB 1.1沒錯,
但因為要確保運作正確的緣故但運作上速度還是比12Mb來的低上不少,也就是說您說的那些測試上的差距套用在這裡並不適用
而且透過USB傳送給DAC的訊號也是I2S,所以線材對
Jitter的影響也沒有SPDIF那樣的劇烈...所以好線跟爛線還是有差距
但並沒有那麼大
kaili
SR40
SR40
 
文章: 0
註冊時間: 週日 11月 12, 2006 5:26 pm

文章SUC 發表於 週五 9月 28, 2007 9:36 pm

恩恩 我同意K大的說法 :) 只是我想強調的是,以USB-DAC的資料傳輸速度(沒記錯的話頻率是2.XXMHz吧)即使receiver端以數倍的頻率sample,也仍然容易受到電磁干擾及爛線影響,尤其USB線常常位在電腦附近。在各位拿了一條爛線接數位device時,很不容易感覺的出來,好線爛線還不都一樣? 這在廠商那也是一樣,能cost down就cost down,一般而言是不會考慮拿來做USB-DAC的用途的 :x

舉個例子,大家知道例如滑鼠、鍵盤這種 常見、大量、低價 的產品是怎麼做出來的嗎? 告訴大家這樣的流程:
1.設計工程師依照IC的規格還有需求,在電路版上設計所需的電阻、電容等被動元件
2.驗證產品電磁干擾及測試產品正確性 並通過安規
3.(此步驟真的發生在台灣某大廠)另一批測試工程師拿著產品,開始試著拔電容拔電阻,看看對功能有無影響(這時已經沒人在管電磁干擾及IC的規格了 :ale:
4.(此步驟為想像畫面..)拔了3顆電容2顆電阻,不影響功能性... Good Job! 老闆很滿意,工程師加薪 :D
5.大量生產,即是我們手中的產品...

試問,3顆電容2顆電阻真的沒用嗎? 不然IC的規格是寫好玩的? 不過,說實在,真的有點難感覺出差別 :ale:
頭像
SUC
SR40
SR40
 
文章: 0
註冊時間: 週一 9月 17, 2007 9:41 pm
來自: 柚子頭 克蕾雅

文章fchung 發表於 週日 9月 30, 2007 3:41 am

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
SR40
SR40
 
文章: 0
註冊時間: 週日 9月 16, 2007 10:03 am

文章SUC 發表於 週日 9月 30, 2007 12:29 pm

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的傳輸來定輸出的時基?

恩恩,感謝指教,不過在此提出我的想法:
FIFO,是register的一種,不管是sync或async都一樣。除了SOC之外(DAC不可能用到內嵌系統吧),也就是CHIP裡不可能有SRAM,只能用暫存器。要知道暫存器在CHIP裡是非常非常貴的,頂多4∼16層,你想,當資料發生錯誤時,有機會靠重傳來更正嗎? 不可能,那樣FIFO裡的資料早就用完了。有FIFO會比較好,那是因為配合錯誤更正碼,會有機會更正,所以那些錯的很多的是不可能靠FIFO的暫存來等待新的正確資料來臨的。
當FIFO資料錯誤時的兩種狀況:
1. 資料更正回去 這OK
2. 資料無法更正 這時可能利用FIFO裡下一筆資料(抑或與前一筆資料作內插)來想辦法彌補這樣的錯誤,不過,還是錯,頂多好一點而已..

不同的sample data,用USB的clock大概都一樣,所以我也沒說是用USB的clock來sample。以資料傳輸的觀點就是零跟一,USB device必須要用clock來sample這些010101,這時爛線就會錯。您說的sampling rate,是指類比取樣時間,舉個例子
假如1KHz取樣出來的資料是
0101
那麼2KHz就是
00110011 (也許是這樣,但其實沒那麼簡單)
你可以發現,還是零跟一,仍然用一樣的USB clock去傳輸
USB clock跟sampling rate 無關,會改變clock的可能有二:
1. 速度不夠,提升clock到高速的mode
2. 錯誤太多,降低clock到低速的mode

"傳輸時間層層轉,怎麼可能用HOST的傳輸來定輸出的時基?"
對,但這只造成latency,對USB的throughput是沒差的。

大概是這樣∼ :ya:
頭像
SUC
SR40
SR40
 
文章: 0
註冊時間: 週一 9月 17, 2007 9:41 pm
來自: 柚子頭 克蕾雅

文章fchung 發表於 週日 9月 30, 2007 6:53 pm

當然不是這樣啦,你說的是一個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
SR40
SR40
 
文章: 0
註冊時間: 週日 9月 16, 2007 10:03 am

文章SUC 發表於 週日 9月 30, 2007 7:20 pm

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. 在據來得快或慢的時候作為緩衝


"USB DAC內沒有processor麼,錯,是一定有"
是的,USB device "通常" 不是一個RISC (也就是您說的processor) 為什麼? 那是因為一顆processor需要的是fetch、decode、execute stage。一般為了壓低成本,這種小東西只要execute就夠了,這意味著裡面可能用個FSM就做掉了。以成本考量,RISC是不需要的,不然,裡面就會有instruction、data memory。就目前我所知道的,只有像IndigoDJ這種,用了一顆DSP processor來做,不過大都是用在他們標榜的virtual output的DSP上。像這樣,簡單的認證host、資料傳送接收,我們通常稱"controller",內含幾個時序邏輯的FSM。

"error correction or resend是在data 未進入FIFO之前做好的"
您說的對,但是我說的是"有FIFO會比較好,那是因為配合錯誤更正碼,會有機會更正" USB是serial的input,需經過一轉parallel的buffer,在此時作error校正,因為資料進FIFO時,通常就校正不了了,在校正完時才送入FIFO,可是您真的認為error correction 在一個cycle內就做的完嗎? 內插做的完嗎? 所以,FIFO用作緩衝,當需校正時緩衝幾個cycle,但無法緩衝到嚴重錯誤時的重新傳輸。

"USB根本沒有clock的signal"
沒錯,沒有clock! 根本也沒clock這條線吧(好像,這我不保證 :ho: )如同你說的,只有D+和D-兩個相反訊號,但UAB可有了,他會需要sample資料,尤其是您說的"packet"的header還有結尾。USB接收資料,靠的是data的位準的轉換,當一條爛線傳錯時,data的位準並不穩定,UAB當然就收不到正確的資料,當然,聲音也就不好囉。

請指教 :D
"拜託,不懂的不要亂吹","我看你還是load 份USBDAC的datasheet看看,如果你看得懂的話。" 這種有點過份的話請盡量少出現,我不想引起筆戰,謝謝囉∼

-----------------------------------
題外話,我會覺得光纖傳輸比USB傳輸來的好些喔。光纖的抗雜訊功能很強,即使也有所謂的"爛光纖",但在DAC這種需要頻寬不大的狀態下,光纖不需要太多的"全反射路徑",這時,光纖的缺點會比較難顯現。所以能選的話,大家還是選光纖囉 :ho:
頭像
SUC
SR40
SR40
 
文章: 0
註冊時間: 週一 9月 17, 2007 9:41 pm
來自: 柚子頭 克蕾雅

文章fchung 發表於 週日 9月 30, 2007 7:52 pm

拜託,你自己在這load份datasheet看看

http://focus.ti.com/docs/prod/folders/p ... m2702.html

再不是,看這個也成

http://www.cmedia.com.tw/files/doc/USB/ ... 0v1.01.pdf

是不是有FIFO?
是不是FIFO有USB I/F後面?
audio clock是不是獨立生成?

這己經是最簡單的一種了
沉默的自由人
頭像
fchung
SR40
SR40
 
文章: 0
註冊時間: 週日 9月 16, 2007 10:03 am

文章SUC 發表於 週日 9月 30, 2007 8:15 pm

fchung 寫:拜託,你自己在這load份datasheet看看

http://focus.ti.com/docs/prod/folders/p ... m2702.html

是不是有FIFO?
是不是FIFO有USB I/F後面?
audio clock是不是獨立生成?

這己經是最簡單的一種了


1. 是不是有FIFO?
是阿,我也說會有FIFO阿(應該吧,我暫時沒看到我前面寫啥... 有阿,我說有FIFO阿)∼

2. 是不是FIFO有USB I/F後面?
對阿,然後勒? 不太懂您的意思。USB Packet Data 送進FIFO,當然這是spec,不是技術文件,不會寫得太詳細。我想稍微有做過IC design的人都會知道那應該是buffer+FIFO吧∼

3. audio clock是不是獨立生成?
您可以看那個block diagram,wrclk/rdclk,wrclk是用來sample資料到FIFO的,那不是audio clock。
(這不太是重點,爛線資料錯的傳進來,誰生的clock還不都一樣嗎?)
再者,這又更正明了他不是一個processor,因為processor會用data memory當FIFO,不會有個獨立的FIFO在那。

"而你對FIFO的誤解也太大了,error correction or resend是在data 未進入FIFO之前做好的,FIFO就是用來
1. 容許輸出有獨立準確的時基
2. 在據來得快或慢的時候作為緩衝"
我忽略了一點,看了block diagram才知道。FIFO的用途在2702其實主要不是用來緩衝的也,那是為了配合不同的sampling rate(對應不同的rdclk),所必須要有的FIFO,這在async電路中很常見。

又是題外話:
Burr-Brown是德儀的阿∼ 第一次發現 呵呵∼
"SpAct™" 這啥? 看來audio clock會參考他的輸出,也許就是2702他厲害的地方吧∼ :bs:
再看了一下驊訊的chip,有一顆EPROM在那,看來是load microcode用的,真不錯 :D
最後由 SUC 於 週日 9月 30, 2007 8:50 pm 編輯,總共編輯了 2 次。
頭像
SUC
SR40
SR40
 
文章: 0
註冊時間: 週一 9月 17, 2007 9:41 pm
來自: 柚子頭 克蕾雅

文章fchung 發表於 週日 9月 30, 2007 8:37 pm

唉,罷了,datasheet 都有了還是不懂
我也沒必要再做 lecturer 了
沉默的自由人
頭像
fchung
SR40
SR40
 
文章: 0
註冊時間: 週日 9月 16, 2007 10:03 am

文章SUC 發表於 週日 9月 30, 2007 8:47 pm

fchung 寫:唉,罷了,datasheet 都有了還是不懂
我也沒必要再做 lecturer 了

覺得您有點生氣... :o
彼此討論很好阿,為什麼要這樣呢? 這我就不太懂了... 不過,就就此打住吧 :ho: 我想我要講的也差不多都講了,大家可以參考看看囉∼
頭像
SUC
SR40
SR40
 
文章: 0
註冊時間: 週一 9月 17, 2007 9:41 pm
來自: 柚子頭 克蕾雅

文章h013070 發表於 週日 9月 30, 2007 9:25 pm

謝謝fchung大大 這麼詳盡的講解,小弟獻上12萬分的敬意! :ya:
PO上中文資料就是希望大家能看出問題所在,可是還是...... :x
唉唉!盡人事 聽天命!
h013070
SR40
SR40
 
文章: 0
註冊時間: 週三 12月 13, 2006 9:07 pm


回到 音響系統討論版

誰在線上

正在瀏覽這個版面的使用者:Google [Bot] 和 89 位訪客