AR InBulkData(ULONG ullength,UCHAR *pucptr);
5.2 USB协议栈驱动程序
主要实现USB协议定义的标准命令请求,主要包括:
ClearFeature(),GetConfiguration(),GetDescriptor(),GetInmterface(),GetStatus(),SetAddress(),SetConfiguration(),SetDescriptor(),SetFeature(),SetInterface()。
具体的标准设备请求的含义请参考USB 标准协议。USB 主机要在检测到有USB设备插入时,完成对USB设备的枚举,之后USB主机和USB设备才可以进入正常的数据包通讯状态。
5.3 USB设备类驱动程序
移动存储盘属于USB协议所定义的设备类中的Mass storage类,USB 组织定义了海量存储设备类(Mass Storage Class)的规范,这个类规范包括四个独立的子类规范,即:
1. USB Mass Storage Class Control/Bulk/Interrupt (CBI) Transport
2. USBMass Storage Class Bulk-Only Transport
3. USB MassStorage Class ATA Command Block
4.USB Mass Storage Class UFI Command Specification。
前两个子规范定义了数据/命令/状态在USB 上的传输方法。Bulk- Only 传输规范仅仅使用Bulk 端点传送数据/命令/状态,CBI 传输规范则使用Control/Bulk/Interrupt三种类型的端点进行数据/命令/状态传送。后两个子规范则定义了存储介质的操作命令。ATA 命令规范用于硬盘,UFI 命令规范是针对USB 移动存储。因此USB主机需要遵循Mass Storage 协议来组织数据和发送命令,即可实现与移动存储盘交换数据。
6.结束语嵌入式USB主机的开发,目前在国外也处于刚刚起步的阶段,可以提供的USB HOST接口芯片的并不多。作为USB总线研究的另一热点,嵌入式USB HOST的研究具有一定的先进性和前瞻性。以嵌入式USB 主机为核心的数据采集系统,可以在工业和民用两个领域得到广泛的应用,可以带来可观的经济效益和市场前景。