非常感谢大家对usb总线控制器驱动程序问题集合的贡献。我会努力给出简明扼要的回答,并根据需要提供一些具体实例来支持我的观点,希望这能给大家带来一些新的思路。
1.USB主机控制器驱动的整体结构?
2.通用串行总线控制器?
3.USB接口键盘驱动问题解决方法
USB主机控制器驱动的整体结构?
前面写了一些SPI/I2C/RS-485之类的文章,有朋友留言希望能分享一些USB方面的梳理总结,今天就从系统标准层面先来梳理一下。看看有没有朋友喜欢。先从系统层面来梳理。个人学习,习惯于先从整体上摸个大概,然后再对感兴趣的细节逐渐深入。USB是比较复杂的协议栈,如果发现文章中有错误,请帮忙指正。
注:本文主要参考USB2.0规范第4章,将标准中个人认为比较重要的一些点尽量条理清晰的总结出来。我感觉很多朋友可能对于阅读英文标准有点轻度抗拒,所以整理此文这也是一个起因,希望对朋友们有所帮助。
总线拓扑
说到总线拓扑,这张图大家一定都见过:
USB标准上说USB总线拓扑是一种分层星形结构,这张拓扑图延申出来的一些要点:
所谓星型是针对Hub而言的,一个Hub下面可以挂Hub或者设备,最顶层就是USB主机控制器USB主机控制器一般都伴随有一个根集线器Root Hub。Hub级联最多5层总线上理论最大允许连接127个设备。Hub级联遵循向下兼容,USB2.0主机或者高速Hub可以连接USB1.1Hub。一个USB分层星型结构有且仅有一个USB主机控制器线缆最长不超过5米这个最大7层星形结构,代表的是一条USB总线,一个USB分层星型结构有且仅有一个USB主机控制器,但并不是说一台计算机就只有一个USB总线,比如我的计算机内部就是2个USB主控制器+Root Hub,从Windows设备管理器可以看到:
7层拓扑图中的第2层只画了一个Hub,并不意味真正的第2层就只能有一个Hub,但这个图无法显示出更为详细的总线连接关系,用USBTrace软件来看看:
第1条总线有4个端口,第2条总线的根集线器具有18个端口,其中8、9、10为计算机内部的USB设备占用了。我这台笔记本对外有两个USB接口,通过分别将U盘插入这两个端口,再利用USBTrace探测可以推断出这两个端口都属于第2条总线的Port
3以及Port 4:
那么Hub长什么样呢?比如下面是一个7口的USB Hub示意图,来源于USB2.0标准:
物理接口
电气概览
USB 通过四线电缆传输信号和电源。信令发生在每个点对点网段上的两条线上。
VBUS/GND:供电D+/D-:USB差分信号线。具有三种数据速率:
高速模式 high-speed:480 Mb/s,常缩写为HS模式全速模式 full-speed:12 Mb/s,常缩写为FS模式低速模式 low-speed:1.5 Mb/s,常缩写为LS模式至于数据编码模式,这里先不管它。
机械概览
机械部分主要定义USB采用什么尺寸的接插件,线缆的颜色定义、线号。线缆的抗拉强度等。主要从以下几个方面去标准化:
主要连接器类型规范,主要分A、B系列。定义了公头、母头。
线缆规范。高速/全速电缆由信号双绞线、VBUS、GND 和整体屏蔽组成。当高速/全速电缆与低速设备一起使用时,电缆必须满足所有低速设备要求。低速设备可以不使用双绞线。双绞线可有效抵抗共模噪声。连接器机械尺寸及材料要求。
A/B系列插座规范A/B系列插头规范电缆尺寸材料规范,这里就不罗列了,知道在哪里查就可以了。电气、机械和环境合规性标准接地规范,屏蔽层一定要焊接在插头的外壳接地点。插座PCB尺寸规范。所以对于有绘制接插件需要的,可以参考6.9节的尺寸。Logo位置线芯颜色规范。USB Logo尺寸规范。协议概述
USB采用主从通讯模式,是一种轮询总线。所有数据传输都由主机控制器发起。这是USB标准中最难啃的部分,这里先不总结。
健壮设计
标准关于协议健壮性,又称鲁棒性,做了这几个方面的设计:
从信号完整性角度:使用差分驱动器、差分接收器和以及对信号线缆的屏蔽处理。差分收发策略主要在抵抗共模干扰方面效果显著,而屏蔽层则有两方面的作用:其一,有效降低USB线通过无线电波对外界干扰;其二、能有效隔断外界无线干扰对USB信号线、电源线的干扰。CRC报文校验。报文中数据如果出错,可以检测出来,可以做相应的处置。热插拔检测及对相应硬件设备的系统配置管理。这个设计有助于提升用户体验,用户随用随插,而无需关机插拔。利用对数据丢失或数据损坏超时检测实现通讯自恢复机制,以增强协议的健壮性。对流数据的进行流量控制以确保同步以及底层收发硬件缓冲区管理。数据管道和控制管道分离
通用串行总线控制器?
解决电脑通用串行总线控制器没有USB通用主控制器,需要安装USB通用主控制器驱动程序。安装USB通用主控制器驱动程序步骤如下所示:
1、在电脑桌面点击打开驱动精灵程序。
2、在驱动精灵程序主页面点击立即检测。
3、选择驱动管理选项。
4、选择需要安装的驱动程序。
5、点击安装。
6、等待进度条完毕,即可完成操作。
USB接口键盘驱动问题解决方法
1、鼠标在我的电脑图标上右键单击,在弹出的页面里,选择属性选项,进入到电脑属性页面。2、进入电脑属性页面,选择页面左上角的设备管理器,鼠标点击打开,进入设备管理器页面。
3、在设备管理器页面,鼠标下滑找到“通用串行总线控制器”选项,鼠标点击打开。
4、在鼠标点击打开的任务栏下,选择USB 3.0 可扩展主机控制器。
5、鼠标点击到USB 3.0 可扩展主机控制器选项上,鼠标右键单击,弹出选项框,选择属性选项。
6、弹出“USB 3.0 可扩展主机控制器”属性选项框,默认选择在常规页面选项框,在常规右面找到驱动程序选项,鼠标点击选择。
7、在“USB 3.0 可扩展主机控制器”属性下面驱动程序选项框内,找到“驱动程序详细信息”选项,鼠标左键点击进入
8、就会看到驱动程序文件的具体详细信息,在这个页面查看电脑的相关驱动程序是否正在运行或者运行正常。
同一USB设备,插入不同的U口,都需要重新安装一次驱动程序(系统自动安装),而你的键盘,在插到这个U口的时候系统没有激活驱动程序自动安装,导致不能使用,插入另一个U口的时候就被激活了,自动安装了驱动,所以就可以用了。本文将为你提供两种解决方法。 插紧USB接口在本本外接电源情况下,把键盘U口捏一捏,插紧些试试,反复多试几次,看系统是否有反应,激活安装驱动。
卸载驱动程序将所有USB设备先拔出,然后将设备管理器中的通用串行总线控制器中的驱动程序卸载,包括Generic USB HUB 与USB Composite Device,然后重启电脑,然后首先在该U口下插入你的键盘,看看是否安装驱动,如果安装应该成功,如果还不安装,说明程序小故障依然未解决,就很难处理了。
好了,今天关于“usb总线控制器驱动程序”的话题就到这里了。希望大家通过我的介绍对“usb总线控制器驱动程序”有更全面、深入的认识,并且能够在今后的学习中更好地运用所学知识。