文章目录
在 HSOT 端,应用软件( ClientSW)不能直接访问 USB 总线,而必须通过 USB 系统软件和 USB 主机控制器来访问 USB 总线,在 USB总线上和 USB设备进行通讯。从逻辑上可以分为功能层、设备层和总线接口层三个层次。其中功能层完成功能级的描述、定义和行为;设备层则完成从功能级到传输级的转换,把一次功能级的行为转换为一次基本传输;USB 总线接口层则处理总线上的 Bit 流,完成数据传输的物理层实现和总线管理。途中黑色箭头代表真实的数据流,灰色箭头代表逻辑上的通讯。
在高速系统里面可以接入低速设备。
Client Software:生成各种IO请求(I/O Request Packets,IRPs),通过USBD接口收发IRPs数据。
USB Driver (USBD):通过合适的HCD将IRPs(I/O Request Packets)转换成各种传输(transfers)。
Host Controller Driver (HCD):将IRPs(I/O Request Packets)转换成多个传输事务(transactions)。
Host Controller:执行传输事务。
- 所有的transfer都由一个或多个transaction组成,一个IRP对应一个或多个transfer。
- 一个控制传输是由1个建立事务+不定个数据事务+1个状态事务组成。
- 一个中断传输由一个或多个数据事务组成。
- 一个同步传输由一个或多个数据事务组成。
- 一个批量传输一个或多个数据事务组成。
参考资料:
- Universal Serial Bus Specification Revision 2.0 ,April 27, 2000