USB主机是如何检测到设备的插入的呢?
2015-01-21 22:20
267 查看
首先,在USB集线器的每个下游端口的D+和D-上,
分别接了一个15K欧姆的下拉电阻到地。这样,在集线器的端口悬空时,就被这两个下拉电阻拉到了低电平。而在USB设备端,在D+或者D-上接了1.5K欧姆上拉电阻。对于全速和高速设备,
上拉电阻是接在D+上;而低速设备则是上拉电阻接在D-上。这样,当设备插入到集线器时,由1.5K的上拉电阻和15K的下拉电阻分压,结果就将差分数据线中的一条拉高了。集线器检测
到这个状态后,它就报告给USB主控制器(或者通过它上一层的集线器报告给USB主控制器),这样就检测到设备的插入了。USB高速设备先是被识别为全速设备,然后通过HOST和DEVICE
两者之间的确认,再切换到高速模式的。在高速模式下,是电流传输模式,这时将D+上的上拉电阻断开。
一个简单的实验:只用一个上拉电阻接在USB的+5V和D+或者D-上,WINDOWS也会提示发现新硬件,但是无法找到驱动程序。这时去设备管理器里面看,有显示未知USB设备,并且其VID和PID为0。根据这个,我们可以简单的判断设备是否枚举成功
分别接了一个15K欧姆的下拉电阻到地。这样,在集线器的端口悬空时,就被这两个下拉电阻拉到了低电平。而在USB设备端,在D+或者D-上接了1.5K欧姆上拉电阻。对于全速和高速设备,
上拉电阻是接在D+上;而低速设备则是上拉电阻接在D-上。这样,当设备插入到集线器时,由1.5K的上拉电阻和15K的下拉电阻分压,结果就将差分数据线中的一条拉高了。集线器检测
到这个状态后,它就报告给USB主控制器(或者通过它上一层的集线器报告给USB主控制器),这样就检测到设备的插入了。USB高速设备先是被识别为全速设备,然后通过HOST和DEVICE
两者之间的确认,再切换到高速模式的。在高速模式下,是电流传输模式,这时将D+上的上拉电阻断开。
一个简单的实验:只用一个上拉电阻接在USB的+5V和D+或者D-上,WINDOWS也会提示发现新硬件,但是无法找到驱动程序。这时去设备管理器里面看,有显示未知USB设备,并且其VID和PID为0。根据这个,我们可以简单的判断设备是否枚举成功
相关文章推荐
- USB主机是如何检测到设备的插入的呢?
- USB如何检测到设备的插入-usb技术入门教程1
- MFC 如何检测到USB设备插入拔出
- 主机如何检测到USB设备连接?
- 如何实现WinCE系统中USB设备自动检测
- Vsphere 5.0 里面的虚机如何加载esxi 5.0 主机上的usb设备
- USB入门系列之五 —— USB设备的插入检测机制【转】
- USB入门系列之五 —— USB设备的插入检测机制
- 一个很有用的检测USB设备插入拔出的对象
- 一个很有用的检测USB设备插入拔出的对象(from Torry's Dephi Pages)
- linux如何检测插入的设备? Kernel, sysfs, udev and dbus 协同工作
- 两种检测USB设备插入和移除的方法(Ver 2)
- USB设备的插入检测
- PyQt4实现USB设备插入到弹出的检测(Windows)
- USB入门系列之五 —— USB设备的插入检测机制
- 检测USB设备的插入和拔出
- USB驱动程序代码分析——检测设备插入拔出
- USB入门系列之五 —— USB设备的插入检测机制[图]
- usb设备如何检测
- linux app应用如何检测USB设备热插拔