关于USB 通信阻抗匹配的问题(转载)
http://blog.csdn.net/mgh99688/article/details/49665209
关于USB2.0的D+.D-电阻串多大,也是纠结了好久,甚至做了两个版本,串10,22,33欧姆,到底多少呢.
这篇文章讲到了在低速和全速的时候是电压驱动型,而在高速的时候是电流驱动型的,所以在高速的时候不要传入电阻.这个和CY的官方文档
吻合.所以去掉了电阻的设计.后期是否要测试下眼图.完美还需要继续啊!!!感谢博主的分享
无论是RS485、CAN总线、USB。都是需要加终端电阻进行阻抗匹配的,许多工程师对终端电阻的理解不是很清楚,甚至因为程序上能正常通讯,所以就索性省去了终端电阻。这样带来很大的隐患,通讯时好时坏,通常是去检查时没有问题,而回到家一睡觉,现场就出问题了,呵呵。所以终端电阻还是很有作用的,可是如果讲理论,又是长篇大论,这里就用波形来说明问题。
1.未加终端电阻的波形(还是可以通讯的)
2.加上终端电阻的波形(通讯稳定性增强)
最近对USB2.0协议进行了研究,也算是略知皮毛了,在这期间也遇到过很多问题,也在网上找过解答,首先我要感谢网络这个强大的东西,为我答疑解惑,其次也想提醒大家网络上的东西一定要持怀疑的态度来看;下面就解说下关于网上所说的USB匹配电阻的问题。 做过USB的人都或许有一个纠结,那就是D+和D-上到底要串多大的电阻,串在源端还是终端,我想说:网络上的说法都不完全正确,首先USB有低速、全速和高速之分,这一点我想大家都很熟悉了,在低速和全速模式下是电压驱动的,驱动电压为3.3V,但在高速模式下是电流驱动的,驱动电流为17.78mA,host-device模型如下:(画图太麻烦,就直接手画了)
Host和device的D+和D-都有45ohm的电阻端接到地,所以每根线的并联电阻为22.5ohm,17.78x22.5=400mV,所以高速模式下的差分幅度为800mV (这时匹配电阻为0),但是匹配电阻选择10ohm,22ohm和33ohm时我们可以计算出单端信号的幅度如下图:
由此可得高速模式下加入匹配电阻会使信号幅度下降,使信号质量变差,加入匹配电阻后的眼图分别如下:
10ohm
22ohm
那么网上所说的匹配电阻都是错的么?也不是啦!网上所说的匹配电阻都是在全速和低速模式下的,全速模式下为电压驱动的,驱动器具有一定输出阻抗(一般较小),USB线的特性阻抗为90ohm所以要想源端与USB线匹配就需要串电阻,具体阻值是要根据驱动器的输出阻抗来决定的,即要求源端差分阻抗=USB线差分特性阻抗;而要终端匹配的话就需要并联电阻了(终端的阻抗一般很大),在驱动能力不强的情况下根本就没法实现;至于匹配电阻要放在源端还是终端,因为USB是双向的,所以要匹配源端的话则应串在源端,要匹配终端的话则要放在终端。 以上是鄙人通过所学知识对网上的关于USB疑问的一些解释,如有不对还请各位网友斧正!
PS:
为什么在讨论低速/全速时候,需要考虑USB线的90ohm特性阻抗,而讨论高速模式(电流驱动)的时候,又把USB线的电阻视为0了?22.5=45//45,其中45来自于低速/全速驱动器的内置导通电阻。
写那些自己遇到的问题,然后解决的方式,不断吸取经验,坚持直到看见成功.