1 USB 接口原理
USB1.1 规范将USB 分为5 部分:控制器、控制器驱动程序、USB 芯片驱动程序、USB设备以及针对不同USB 设备的客户端驱动程序。
(1) 控制器(Host Controller)主要负责执行由控制器驱动程序发出的命令。
(2) 控制器驱动程序(Host Controller Driver), 在控制器与USB 设备间建立通信管道(Pipe)。
(3) USB 驱动程序(USB Driver),提供对不同USB 设备及芯片的支持。
(4) USB 设备(USB Device), 有两类USB 设备:一类称为功能设备(Function),另一类是称为USB 集线器(HUB),可以连接多个USB 设备。
(5) USB 设备驱动程序(Client Driver Software)及特定应用程序。
主控制器的驱动软件由操作系统支持,USB 设备开发人员一般只需编写客户驱动程序,实现特定功能,设备端所有功能软件需要全面设计。
USB 的四种数据传输模式分别是:控制型传输、中断型传输、批量型传输、实时型传输。第一种在缺省通道中传输USB 接口本身的配置等控制信息,后面三种用于功能部件传输数据。中断型用于键盘等的异步输入输出少量数据传输,批量传输主要用于象硬盘等块设备的数据传输,在中断和批量的传输过程中要传递交互握手信号,确保数据准确无误。
实时传输对带宽有严格要求,但允许有一定误码,省去了交互握手信号的传递,常用于音视频码流数据传输。四种类型数据都按带宽要求分配在1ms 一帧的数据帧内进行传输,USB1.0 实时传输可得到的最大带宽10.24Mbps。
2 嵌入式系统USB 接口设计
要满足高性能ARM嵌入式系统的要求,扩展USB接口必须选择高性能USB控制器芯片,Philips公司的PDISUBD12 USB器件,是与微处理器配合使用的高性能USB接口器件,性价比很高。PDIUSBD12主要特性有:
(1) 符合USB 1.1 技术规范;
(2) USB控制器并行接口与处理器间的数据传输速度高达2M 字节/秒;
(3) 在批量模式和同步模式下均可实现1M 字节/秒的数据传输速率;
(4) 集成了FIFO存储收发器,支持DMA 操作;
(5) 内置时钟倍频PLL电路,可编程时钟频率输出;
(6) 多中断模式实现批量和同步传输;