linux usb驱动——host与device电路

USB硬件建立连接

一般usb有4根线(Vbus 、D+、D- 、GND),数据的D+,D-,供电的Vbus和GND。我们需要知道在集线器的端口上(比如电脑的usb口)分别接了一个15K欧姆的下拉电阻到地。

usb host端:在集线器的端口悬空时,就被这两个下拉电阻拉到了低电平。

usb device端:在D+或者D-上接了1.5K欧姆上拉电阻。(对于全速和高速设备, 上拉电阻是接在D+上;而低速设备则是上拉电阻接在D-上)。

这样,当设备插入到集线器时,由1.5K的上拉电阻和15K的下拉电阻分压,结果就将差分数据线中的一条拉高了。集线器检测到这个状态后,它就报告给USB主控制器(或者通过它上一层的集线器报告给USB主控制器),这样就检测到设备的插入了。USB高速设备先是被识别为全速设备,然后通过HOST和DEVICE两者之间的确认,再切换到高速模式的。在高速模式下,是电流传输模式,这时将D+上的上拉电阻断开。

            

               img1. USB HOST                                             img2. USB DEVICE

 

posted @ 2018-02-27 17:37  平分秋色  阅读(4430)  评论(0编辑  收藏  举报