过期罐头电脑论坛-win7、win10雨人系统下载

过期罐头电脑论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
雨人系统 过期罐头 视频编辑软件 电脑维修 win7系统下载 win10系统下载
查看: 857|回复: 0
收起左侧

[故障维修] Windows XP下USB整体结构

[复制链接]
发表于 2011-5-22 10:10:36 | 显示全部楼层 |阅读模式
发贴请勿包含网站外链(直接下载地址和网盘除外),屡犯者将封禁ID、网址永久屏蔽,www.gqgtpc.com感谢支持!

这里主要讲的是Windows XP下USB驱动协议栈的整体结构,以及内部的一些重要数据结构。在写这些东西时,参考了大牛Tiamo的相关论坛贴子 ,内容很多雷同,说是转贴也不为过。

USB协议栈是由如下几个驱动文件构成的:

usbport.sys    USB主机控制器共用驱动代码库,供miniport驱动调用。
usbhub.sys    USB总线驱动,USB总线也是USB设备的一种。
usbehci.sys   USB EHCI主机控制器驱动,它是属于miniport驱动。
usbuhci.sys  USB UHCI主机控制器驱动,它是属于miniport驱动。
usbohci.sys  USB OHCI主机控制器驱动,它是属于miniport驱动。
usbd.sys       USB设备驱动共用代码库,供USB设备驱动和总线驱动调用。

usbccgp.sys  USB复合设备驱动。
usbstor.sys   USB存储设备驱动。
usbaudio.sys USB声音设备驱动。
usbvideo.sys USB视频设备驱动。
hidusb.sys    USB HID设备驱动。

主机控制器驱动是USB协议栈的最底层驱动,在它之上就是USB总线驱动,再之上是USB设备驱动。

USB设备驱动上面呢,一般还有其它的驱动。象usbstor上面还有存储设备class驱动,hidusb上面还有HIDclass驱动。不过这上面的驱动,就和USB的驱动协议栈没有多大的关系了。而设备驱动和具体的设备类有千丝万缕的关系,不是我们要讨论的重点。

这里重点要讨论的是控制器和总线,这是USB驱动协议栈的核心。

我们知道,USB2.0有EHCI控制器,USB1.1有UHCI和OHCI控制器。这样一共有三种控制器,它们之间有什么区别呢? 这要先说一说控制器的作用,USB协议栈并不是凭空而建立起来的,它下层就是PCI总线驱动(一般而言,也不一定非得是PCI总线),而控制器的作用就是和PCI总线打交道,将USB的功能和操作转变成PCI总线上的一系列操作,同时还兼任着usb总线的日常管理。

不同的硬件厂商都可以有它自己的一个控制器规范,这在USB协议出现早期尤为突出。但这样各自为政毕竟对整个规范的发展不利,于是大家便开始统一接口规范,这统一规范能满足大家的绝大部分需求,所以大家也就都用标准规范。USB 1.1时,就形成了OHCI和UHCI两大阵营,而USB2.0时,则只有EHCI了,显然,大家还是觉得标准越少麻烦越少。

对比一下UHCI和OHCI,两者都是提供对USB1.1协议的支持,只不过,UHCI硬件实现相对较少而成本相对较低,但软件驱动复杂度相对较高,所以,UHCI多用在PC上,OHCI多用在嵌入设备中。而 EHCI 则是伴随着USB 2.0规范一同出现(因为大家都受够了要同时支持两大规范的痛苦),它同时也向下兼容UHCI和OHCI。

好了,废话就说这么多,再具体的网上可查。下面,就说说控制器驱动的事儿。各大控制器规范和底层PCI总线的接口差别比较大,但它控制USB总线那一块的功能都基本上差不多 -- 都是完全符合USB本身规范的。所以,各大控制器的驱动底层接口部分是各自为政,而USB总线管理部分则被提炼出来,形成一个共同的代码库,名为usbport.sys。也就是说,usbport.sys并不是一个独立的驱动,而只是一个供别人调用的动态链接库。而这个动态链接库由于实现了控制器驱动的绝大多数功能,所以,我们习惯地将它当作控制器驱动的主体。

讲了usbport.sys是怎么回事,顺带讲讲usbd.sys。usbd.sys和usbport.sys角色定位类似,它也只是作为一个动态链接库供USB设备驱动和USB总线驱动使用。不过,由于usbd.sys实现的功能很有限,作用没有usbport.sys那么突出,所以就显得比较边缘化,在一般的讨论中将它忽略掉。

关于USB驱动栈的整体结构就讲到这里,后续会具体讲讲usbhub.sys和usbport.sys所实现的功能。

楼主热帖
[闲聊杂侃] 日常杂粮的药性
[闲聊杂侃] Windows 7 SP1 发布临近
[u盘启动盘下载] U盘使用终极攻略,看完你就是高手
[电脑组装维修] 360电脑全方位 【电子书】
[电脑学习应用] 两款目录树制作工具:帮助我们轻松制作文
[电脑组装维修] Windows XP下USB整体结构
[精品软件下载] 如何下载得到Chrome浏览器的完整最新版本
[电脑组装维修] 电脑知识208篇【电子书】
[桌面主题壁纸] Android FO win7主题
[windows xp系统下载] 【盛世精品 快速装机】飞扬社区 G

您需要登录后才可以回帖 登录 | 注册

本版积分规则

win7 64位旗舰版下载|win10系统下载|win7旗舰版|联系我们|网站地图|

GMT+8, 2016-12-6 13:48 , Processed in 0.215073 second(s), 25 queries .

官方免责声明:本站内容来自网友和互联网.若侵犯到您的版权.请致信联系,我们将第一时间删除相关内容!

Powered by Discuz!

过期罐头电脑论坛

win7旗舰版_windows10

快速回复 返回顶部 返回列表