天天看點

關于 USB 通信阻抗比對的問題

無論是RS485、CAN總線、USB。都是需要加終端電阻進行阻抗比對的,許多工程師對終端電阻的了解不是很清楚,甚至因為程式上能正常通訊,是以就索性省去了終端電阻。這樣帶來很大的隐患,通訊時好時壞,通常是去檢查時沒有問題,而回到家一睡覺,現場就出問題了,呵呵。是以終端電阻還是很有作用的,可是如果講理論,又是長篇大論,這裡就用波形來說明問題。      
最近對USB2.0協定進行了研究,也算是略知皮毛了,在這期間也遇到過很多問題,也在網上找過解答,首先我要感謝網絡這個強大的東西,為我答疑解惑,其次也想提醒大家網絡上的東西一定要持懷疑的态度來看;下面就解說下關于網上所說的USB比對電阻的問題。
   做過USB的人都或許有一個糾結,那就是D+和D-上到底要串多大的電阻,串在源端還是終端,我想說:網絡上的說法都不完全正确,首先USB有低速、全速和高速之分,這一點我想大家都很熟悉了,在低速和全速模式下是電壓驅動的,驅動電壓為3.3V,但在高速模式下是電流驅動的,驅動電流為17.78mA,host-device模型如下:(畫圖太麻煩,就直接手畫了)
      
22ohm      
那麼網上所說的比對電阻都是錯的麼?也不是啦!網上所說的比對電阻都是在全速和低速模式下的,全速模式下為電壓驅動的,驅動器具有一定輸出阻抗(一般較小),USB線的特性阻抗為90ohm是以要想源端與USB線比對就需要串電阻,具體阻值是要根據驅動器的輸出阻抗來決定的,即要求源端差分阻抗=USB線差分特性阻抗;而要終端比對的話就需要并聯電阻了(終端的阻抗一般很大),在驅動能力不強的情況下根本就沒法實作;至于比對電阻要放在源端還是終端,因為USB是雙向的,是以要比對源端的話則應串在源端,要比對終端的話則要放在終端。
以上是鄙人通過所學知識對網上的關于USB疑問的一些解釋,如有不對還請各位網友斧正!
      
PS:      
為什麼在讨論低速/全速時候,需要考慮USB線的90ohm特性阻抗,而讨論高速模式(電流驅動)的時候,又把USB線的電阻視為0了?22.5=45//45,其中45來自于低速/全速驅動器的内置導通電阻。