USB单片机CH559实现模拟U盘应用源码

USB单片机CH559实现模拟U盘应用源码

ID:38583385

大小:1.11 MB

页数:7页

时间:2019-06-15

USB单片机CH559实现模拟U盘应用源码_第1页
USB单片机CH559实现模拟U盘应用源码_第2页
USB单片机CH559实现模拟U盘应用源码_第3页
USB单片机CH559实现模拟U盘应用源码_第4页
USB单片机CH559实现模拟U盘应用源码_第5页
资源描述:

《USB单片机CH559实现模拟U盘应用源码》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、USB单片机CH559实现U盘控制器应用实例一、摘要根据MassStorageClass(大容量/海量存储器,以下简称MSC)协议,使用CH558、CH559和CH563分别实现模拟全速和高速U盘的功能,外部存储介质和U盘容量支持自由调整,用以解决数据转存或者定制U盘等功能。关键在于CH5XXUSB设备控制器操作、Bulk-Only传输协议、SCSI命令支持和存储介质读写这几个部分。二、总体概述模拟U盘关键功能部件包括以下几点:(1)、USBMassStorageFramework(2)、以U盘为例,下图是PC和U盘的内部抽象逻辑框图CH558、CH559和C

2、H563内置USB设备控制器和PHY,对于实现U盘控制器的应用,只需要配置USB设备模式和读写外部存储介质。(3)、USBMSCCBI/BBBTransportUSBMSCControl/Bulk/InterruptTransport只能用于Full-speed的软盘(Floppydrive),这里不赘述,有兴趣可以自己百度。Bulk-only传输类控制、批量都是通过批量端点,即用Bulk端点来传送命令块,数据,状态,因此,才类似于Control/Bulk/Interrupt被简称为CBI一样,而Bulk/Bulk/Bulk被简称为BBB。(4)、USBMSC

3、Protocolrelation传输通讯:Host和Device之间的数据通讯根据存储介质(Floppy或Flash)分别使用UFI和SCSI协议,更深入的设备特性配置参考MoreFeature。(5)、U盘配置描述符Class,Subclass和Protocol对应关系对应的,了解USB的都知道,每个设备的描述符中,都有对应下面这几个域:bInterfaceClass、bInterfaceSubClass、bInterfaceProtocol分别对应着USB的Class,Subclass,Protocol。而对于我们此处的U盘:bInterfaceClass

4、=0x08=MassStorage,Class就是USBMassStorageClass,bInterfaceSubClass=0x06=SCSITransparent,Subclass,所支持的列表如下:SubClassCodesMappedtoCommandBlockSpecificationsbInterfaceProtocol=0x50=BulkOnlyTransport,Protocol,所支持的列表如下:MassStorageTransportProtocol(6)、MSC使用的SCSI命令集0x00TestUnitReady0x03Request

5、Sense0x12Inquiry0x1AModeSense60x1BStartStop0x1EMediumRemoval0x23ReadFormatCapacity0x25ReadCapacity0x28Read(10)0x2AWrite(10)0x2FVerify0x5AModeSense10SCSI命令使用各位可以阅读代码,或者去USB-IF搜索SCSI协议,实际上U盘所使用的所有SCSI命令集都可以参考UFI文档,它比SCSI标准文档更简洁明了。(7)、Bulk-Only传输协议详细的规范请阅读《UniversalSerialBusMassStorage

6、ClassBulk-OnlyTransport》)设备插入到USB后,USB即对设备进行搜索,并要求设备提供相应的描述符。在USBHost得到上述描述符后,即完成了设备的配置,识别出为Bulk-Only的MassStorage设备,然后即进入Bulk-Only传输方式。在此方式下,USB与设备间的所有数据均通过Bulk-In和Bulk-Out来进行传输,不再通过控制端点传输任何数据。在这种传输方式下,有三种类型的数据在USB和设备之间传送,CBW、CSW和普通数据。CBW(CommandBlockWrapper,即命令块包)是从USBHost发送到设备的命令,

7、命令格式遵从接口中的bInterfaceSubClass所指定的命令块,这里为SCSI传输命令集。USB设备需要将SCSI命令从CBW中提取出来,执行相应的命令,完成以后,向Host发出反映当前命令执行状态的CSW(CommandStatusWrapper),Host根据CSW来决定是否继续发送下一个CBW或是数据。Host要求USB设备执行的命令可能为发送数据,则此时需要将特定数据传送出去,完毕后发出CSW,以使Host进行下一步的操作。USB设备所执行的操作可用下图描述CBW和CSW命令包格式在程序里面有或者参看Bulk-Only协议。三、硬件设计CH55

8、8、CH559模拟U盘使用的SPI接口

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。