软件结构比硬件结构复杂很多,包含很多层次,如总线驱动,功能驱动,过滤驱动等。
1.总线驱动
位于驱动栈最下层,处理资源分配,自设备管理,负责处理上层驱动发下来的请求。USB设备总线驱动主要有2类:控制器驱动、Hub驱动。(还有一个端口驱动,太偏门,不提也罢)
1.1控制器驱动:usbohci.sys usbuhci.sys usbehci.sys
HCI即是 Host Control Interface 缩写。到目前为止,由3种HCI协议出现:USB1.1 OHCI和UHCI 、USB2.0 EHCI
echi是向前兼容的,即第3个驱动包含了前两者的功能。
1.2 Hub驱动: usbhub.sys
Hub驱动是所有USB设备的父驱动。