1、 USB主机是如何检测到设备插入的呢?这要从USB集线器接收端的接口说起。
在USB集线器的每个下游端口的D+和D-上,分别接了一个15K欧姆的下拉电阻到地。这样,当
集线器的端口悬空(即没有设备插入)时,输入端就被这两个下拉电阻拉到了低电平,而在USB的设备
端,在D+或者D-上接了一个1.5KΩ的上拉电阻到3.3V电源,1.5K的上拉电阻时接在D+还是D-上,由设备
的速度来觉得,对于全速和高速设备,上拉电阻接在D+上的,而低速设备的上拉电阻接在D-上。
当设备插入到集线器时,接了上拉电阻的那条数据线的电压由1.5KΩ的上拉电阻和15KΩ的下拉电阻
分压决定,大概在3V左右(电源电压3.3V),这对集线器接收端来说时高电平。集线器检测到这个状态后
。他就报告给USB主控制器(或者通过上一层的集线器报告给USB主控制器),这样就检测到设备的插入了,
集线器根据检测到的被拉高的数据线是D+还是D-来判断插入的是什么速度类型的涉笔。USB高速设备先被
识别为全速设备,然后通过集线器和设备两者的确认,再切换到高速模式,再高速模式下,是电流传输
模式,这时要将D+上的上拉电阻断开。
2、USB的描述符及其之间的关系
USB只是一个总线,只提供一个数据通路而已,USB总线驱动程序并不知道一个设备具体如何操作,
有哪些行为,具体的一个设备实现什么功能,要由设备自己来决定,那么USB主机是如何知道一个设备
的功能和行为的呢?这要通过描述符来实现了,描述符记录了
我的USB入门第一课之读《圈圈教你玩USB》
最新推荐文章于 2024-08-14 21:45:00 发布