最近在设计Jetson Xavier NX模块的底板,进行USB接口调试。由于USB HUB芯片设计错误,就直接调试了USB接口和NX模块直连的情况。
首先先了解USB2.0 和3.0
引脚上区别:从引脚上可以看出USB3.0为什么向下兼容。因为USB3.0引脚包含D+,D-
USB HOST和 DEVICE端内部结构
1.由于上拉电阻的不同,USB通信高低速不一样。由下图发现:
D+信号上上拉电阻1.5k代表全速
D-信号上上拉电阻1.5k代表低速
下图可以准确看出HOST 和DEVICE的通信图
上拉在2.7-3.6V,实际我测得2.5-3.6V也是可以的
上下拉电阻都集成在芯片或设备内部。自己在设计电路时可以保留上下拉电阻位置。
二, 下面说一下我自己调试过程
这是我设计框图,保留直连方式和usb hub两种方式,usb3.0就必须通过usb hub转成2.0 ,像我这样把usb3.0 TX的差分信号接到usb1接口是不对的。参考上面usb3.0接口定义可以发现这是严重错误。
2. 我插入鼠标时,鼠标底下红外灯不亮,测量5V供电是正常的。由于D+ D-其中一个会有上拉电阻,应该可以测得一个高电平。我测试发现只有1.5V。这个电平是不对的。
我使用单独插座测试D-上有3.1V电平
鼠标插在我设计底板电压就变低了。在查原理图发现可能usb hub在影响,去除usb hub芯片,测得电压有2.5V。再次插入鼠标还是不识别,再测试波形:
识别会出现错误,无法读取鼠标数据
上述问题是因为我查资料说HOST端要加下拉电阻15k,我看了上面HOST 和DEVICE的通信图发现15k电阻有可能集成在芯片内。我删除板子上的下拉电阻。再次测试USB通信正常,鼠标可以使用了。测试波形如下: