USB系统结构与应用设计
五、典型应用 在图3所示系统中,显示器、Audio、Modem皆为全速设备,键盘、鼠标为低速设备。其数据传输为: 3.USB HOST端软件结构 (1)USB接口驱动程序
USB系统的典型应用如图3所示。
◇ USB HOST通过控制传输更改显示器属性。
◇ USB HOST通过块数据传输将要显示的数据送给显示器。
◇ USB HOST通过控制传输更改键盘、鼠标属性。
◇ USB HOST通过中断传输要求键盘、鼠标输入读入系统。
◇ USB HOST通过控制传输更改Audio属性。
◇ USB HOST通过同步传输与Audio设备传输数据。
◇ USB HOST通过控制传输更改Modem属性。
◇ USB HOST通过块数据传输与Modem设备传输数据。
六、一个USB HOST接口的软硬件设计
市场上现已有很多公司提供的USB接口器件,如PHILIPS的PDIUSBD11/PDIUSBD12,OKI的MSM60581,NATIONAL的USBN9602,LUCENT的USS-820/USS-620,SCANLOGIC的SL11,等等。
同时也有很多带USB接口的处理器,如CYPRESS的EZ-USB,AMD的AM186CC,ATMEL的AT43320,MOTOROLA的PPC823/PPC850,等等。下面给出用SCANLOGIC的USB接口器件SL11HT实现嵌入式USB HOST的例子。
1.SL11HT特点
◇ 遵从USB1.1标准;
◇ 支持全速/低速传输;
◇ 支持主机/设备端两种模式;
◇ 3.3/5.0V供电;
◇ 片内包含256个字节的SRAM;
◇ 48MHz晶振输入。
当SL11HT被用作USB HOST接口时,对系统有以下要求:
◇ 由系统维护SOF帧数目;
◇ 由系统生成CRC5效验码;
◇ 要求系统中断潜伏期小于1.5μs。
2.SL11HT接口硬件框图
图4简单地给出了使用SL11HT扩展USB接口的框图,更详细的硬件连线图请见参考文献2,3。
USB HOST端软件结构如图5所示。
USB接口驱动程序需实现以下功能:
◇ USB接口器件的初始化;
◇ 计算上层数据包的效验和,发送上层的数据包;
◇ 发送SOF帧;
◇ 接收从USB接口传送来的数据,并检查数据的有效性;
◇ 将接收到的数据送往上层。
(2)USB协议栈驱动程序
USB协议栈驱动程序需实现以下功能:
◇ 提供与设备驱动程序的接口;
◇ 读取并解析USB设备描述符,配置描述符;
◇ 为USB设备分配唯一的地址;
◇ 使用默认的配置来配置设备;
◇ 支持基本的USB命令请求;
◇ 连接设备与相应的驱动程序;
◇ 转发设备驱动程序的数据包。
(3)设备驱动程序
设备驱动程序需实现以下功能:
◇ 提供与应用程序的接口;
◇ 读取并解析USB设备特有的描述符,获得设备提供的传输通道;
◇ 发送设备特有的和基本的USB命令请求;
◇ 通过设备提供的传输通道与设备进行数据传输;
◇ 通过USB命令请求重新配置设备。
参考文献
1 Universal Serial Bus Specification Revision 1.1 http://www.usb.org
2 SL11H/T USB Host/Slave Controllers Technical Reference. http://www.scanlogic.com
3 SL11H Application Notes. http://www.scanlogic.com
USB 相关文章:
- USB设备的调试与测试技巧(11-11)
- 基于C8051F320 USB接口的数据采集存储电路(01-18)
- 基于USB的CAN总线适配器设计(01-21)
- 带USB接口的短信收发最小系统设计(01-23)
- 基于USB总线和Aduc831单片机的数据采集系统的设计(01-25)
- 嵌入式系统设计中的USB OTG方案(02-01)