当前位置:首页 > 我的程序 > 正文内容

USB设备的插入机制与USB驱动故障。

Peirre5年前 (2020-10-15)我的程序1014

USB主机检测设备,首先在USB集线器的每个端口的D+,D-上,分别接了一个15K欧姆的下拉电阻到地。集线器端口为空时,被这两个电阻拉低了电平。在USB设备端,D+或者D- 上接了上拉1.5K电阻。全速和高速设备上拉电阻在D+上,低速设备上拉电阻在D-上。设备插入集线器时,1.5k的上拉电阻和15K的下拉电阻分压,会将差分数据线的一条拉高电平。集线器检测状态后,就会报告给USB主控器,这样就知道USB设备插入了。如是USB高速设备,会先被识别全速设备,通过主机和设备两者之间的确认,再切换到高速模式。高速模式是电流传输模式,D+上的上拉电阻会断开。

主机

设备

针对WIN10的一个例子。

无标题.png

如果只用一个上拉电阻接在USB的+5V和D+或D-上,Windows 会提示发现新硬件,但是无法找到驱动程序。

无标题.jpg

看设备详细信息可以了解USB的枚举信息。

如是上拉电阻供电电压不足会影响设备的使用。

每台电脑主板的USB接口供电都有细微的电压差别。高电平,标准电压就会正常。

如果主板有旁阻,静电等,就会产生这个问题,影响USB的使用。

当然也有驱动不正确的因素影响USB的使用。

WINDOWS有BUG出现也会有这个情况。

上面故障还有一种情况,就是主板连USB3.0的插座线松了。可能性不多。

文章出现的问题是USB3.0的插脚断了一根插针。

在winXP下使用USB3端口完好,在安装系统版win10下有缺陷

说明安装正确的驱动可以解决问题。

分享给朋友:

相关文章

介绍一个改编过的纸牌游戏WinSol。

介绍一个改编过的纸牌游戏WinSol。

这个游戏是VC++ 6.0 SP6 编写的。原作者是个日本人。但是他也是翻版。源代码是linux下的aisleriot纸牌游戏。经过拼装,加上windows SDK。改编而成。虽然这是VC++ 6.0...

随手写的时间设置程序,主要是防止系统时间无故修改。

随手写的时间设置程序,主要是防止系统时间无故修改。

程序说明:测试版程序功能。同步系统时间数据可选月历,手工输入可自动识别时间修改,修改后一分钟报警。测试版没有恢复时间功能。以后会增加。欢迎下载的朋友帮助我找程序问题,没有花多少功夫,请多多原谅。这个程...

几种在linux中的调试器的编译结果。

几种在linux中的调试器的编译结果。

很多人用源码进行编译,会不成功,原因有很多,我现在讲讲linux 下必有的gdb调试器来说明一下。我用的linux 系统 是 优麒麟 19.04.10.1 加强版,属于试用版。随系统自带的gdb是8....

linux mint 20 下编译最新内核所添加的文件。

linux mint 20 下编译最新内核所添加的文件。

linux mint 20 下编译最新内核文件所需要的两个文件包。sudo apt-get install libncurses5-devsudo apt-get install libssl-dev...

我谈易语言

我谈易语言

易语言是一个集成打包的中文编程的语言。说实话,只要在电脑上的程序,易语言都可以用自己的方式实现。易语言可以开发linux 控制台下的图文程序和工具,十分好用。易语言的源码和例子量很大,精华源码例子已经...