1 / 35

USB 传输机制及 USB Host 的软件结构

USB 传输机制及 USB Host 的软件结构. 李卫华. 1、 USB 系统的总体结构. 1.1、设备驱动软件( USBDD). 支持某个特定设备或设备类的设备驱动,负责直接与对应的 usb 设备进行通信和读写控制. 1.2、 USB 驱动( USBD). 提供了对 USB 设备的抽象,负责上层软件与 usb 设备间的数据传输。检测设备的特性,建立与其通信的通道,以配置和控制相应的 USB 设备。另外把客户软件传过来的非 usb 格式的 IRP 进行重新组织,使之具有 usb 的特定格式。主要包括: 设备枚举与配置

etoile
Télécharger la présentation

USB 传输机制及 USB Host 的软件结构

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. USB 传输机制及USB Host的软件结构 李卫华

  2. 1、USB系统的总体结构

  3. 1.1、设备驱动软件(USBDD) 支持某个特定设备或设备类的设备驱动,负责直接与对应的usb设备进行通信和读写控制

  4. 1.2、USB驱动(USBD) 提供了对USB设备的抽象,负责上层软件与usb设备间的数据传输。检测设备的特性,建立与其通信的通道,以配置和控制相应的USB设备。另外把客户软件传过来的非usb格式的IRP进行重新组织,使之具有usb的特定格式。主要包括: • 设备枚举与配置 • 同步传输和异步传输 • 电源管理 • 设备和总线管理

  5. 1.3、主机控制器驱动(HCD) 是USB系统软件的最底层,隐藏了USB主控器的硬件实现。负责把USBD建立的事务处理(IRP)放到物理总线上。主要包括: • 提供了对usb主控制器硬件的抽象 • 提供了对usb主控制器与usb设备间数据传输的抽象 • 提供了对usb主控器资源分配的抽象

  6. 2、 USB的传输机制 • 客户启动传输 • 传输类型 • 总线带宽分配 • 控制传输 • 块传输 • 数据触发同步与重试

  7. 2.1、客户启动传输 • 端点(Endpoint) • 管道(Pipe) • 请求(IRP) • 事务(Transaction) • 包(Packet) • 帧(Frame)

  8. 主机 缓冲区 客户软件 通信流 通道 端点 USB逻辑设备 2.1.1客户缓冲区和设备端点之间的通道

  9. IRP1 IRP2 事务 1-0 事务 1-1 事务 1-2 事务 2-0 事务 2-1 事务 2-2 帧1 帧2 令牌,数据,握手 (1-0) 令牌,数据, 握手 (2-0) 令牌,数据, 握手 (2-1) 令牌,数据, 握手 (1-1) 2.1.2客户请求转变为USB事务处理

  10. 2.2、传输类型 • 控制传输 • 块传输 • 中断传输 • 同步传输

  11. 2.3、总线带宽分配

  12. 2.4、控制传输

  13. 2.4.1、控制传输的流程

  14. 2.4.2、控制传输的读写过程

  15. 2.5、块传输

  16. 2.5.1、块操作流程

  17. 2.5.2、块操作读、写过程

  18. 2.6、数据触发同步与重试 • DATA0 • DATA1 • 数据触发同步位

  19. 2.6.1、正确传输

  20. 2.6.2、数据接收错

  21. 2.6.3、ACK丢失

  22. 3、USB事务处理 • 事务处理格式 • 四种类型的包及其格式 • 事务处理

  23. 3.1、事务处理格式

  24. 3.2、包格式 • 令牌包 • 帧开始包 • 数据包 • 握手包

  25. 3.2.1、令牌包

  26. 3.2.2、数据包

  27. 3.2.3、握手包

  28. 3.3、事务处理 • IN事务处理 • OUT事务处理 • 建立事务处理/控制传输

  29. 3.3.1、IN事务处理 • 数据被无错误地接收(主机发ACK) • 数据接收的时候有错误(主机不发ACK) • 目标设备暂时不能返回数据(NAK) • 错误状态被清除之前,目标设备不能返回数据(STALL)

  30. 3.3.2、OUT事务处理 • 数据被无错误地发送(设备发ACK) • 数据发送出错(设备不发ACK) • 目标设备暂时不能接收数据(NAK) • 错误状态被清除之前,目标设备不能接收数据(STALL)

  31. 3.3.3、建立事务处理/控制传输 • 两阶段控制传输 • 有IN数据阶段的三阶段控制传输 • 有OUT数据阶段的三阶段控制传输

  32. 4、USB Host的软件实现 • USB Host软件架构 • USB驱动程序(USBD) • USB主机控制器驱动程序(HCD)

  33. 4.1、USB Host软件架构

  34. 4.2、USB驱动程序(USBD) • 配置管理 • 总线管理 • 数据传输管理 • 提供客户服务程序

  35. 4.3、USB主机控制器驱动程序 • 增强主控制器接口(EHCI) • 开放主控制器接口(OHCI)

More Related