已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
USB单片机CH559实现U盘控制器应用实例一、摘要根据Mass Storage Class(大容量/海量存储器,以下简称MSC)协议,使用CH558、CH559和CH563分别实现模拟全速和高速U盘的功能,外部存储介质和U盘容量支持自由调整,用以解决数据转存或者定制U盘等功能。关键在于CH5XX USB设备控制器操作、Bulk-Only传输协议、SCSI命令支持和存储介质读写这几个部分。二、总体概述模拟U盘关键功能部件包括以下几点:(1)、USB Mass Storage Framework(2)、以U盘为例,下图是PC和U盘的内部抽象逻辑框图CH558、CH559和CH563内置USB设备控制器和PHY,对于实现U盘控制器的应用,只需要配置USB设备模式和读写外部存储介质。(3)、USB MSC CBI/BBB TransportUSB MSC Control/Bulk/Interrupt Transport 只能用于Full-speed的软盘(Floppy drive),这里不赘述,有兴趣可以自己百度。Bulk-only传输类控制、批量都是通过批量端点,即用Bulk端点来传送命令块,数据,状态,因此,才类似于Control/Bulk/Interrupt被简称为CBI一样,而Bulk/Bulk/Bulk被简称为BBB。(4)、USB MSC Protocol relation传输通讯:Host和Device之间的数据通讯根据存储介质(Floppy或Flash)分别使用UFI和SCSI协议,更深入的设备特性配置参考More Feature。(5)、U盘配置描述符Class,Subclass和Protocol对应关系对应的,了解USB的都知道,每个设备的描述符中,都有对应下面这几个域:bInterfaceClass 、 bInterfaceSubClass 、 bInterfaceProtocol分别对应着USB的Class,Subclass,Protocol。而对于我们此处的U盘:bInterfaceClass=0x08=Mass Storage,Class就是USB Mass Storage Class,bInterfaceSubClass=0x06=SCSI Transparent,Subclass,所支持的列表如下:SubClass Codes Mapped to Command Block SpecificationsbInterfaceProtocol=0x50=Bulk Only Transport,Protocol,所支持的列表如下:Mass Storage Transport Protocol(6)、MSC使用的SCSI命令集0x00TestUnitReady 0x03RequestSense0x12Inquiry 0x1AModeSense60x1BStartStop 0x1EMediumRemoval0x23ReadFormatCapacity 0x25ReadCapacity0x28Read(10) 0x2AWrite(10)0x2FVerify 0x5AModeSense10SCSI命令使用各位可以阅读代码,或者去USB-IF搜索SCSI协议,实际上U盘所使用的所有SCSI命令集都可以参考UFI文档,它比SCSI标准文档更简洁明了。(7)、Bulk-Only传输协议详细的规范请阅读Universal Serial BusMass Storage ClassBulk-Only Transport)设备插入到USB 后,USB 即对设备进行搜索,并要求设备提供相应的描述符。在USBHost 得到上述描述符后,即完成了设备的配置,识别出为BulkOnly 的Mass Storage 设备, 然后即进入BulkOnly 传输方式。在此方式下,USB 与设备间的所有数据均通过BulkIn和BulkOut 来进行传输,不再通过控制端点传输任何数据。在这种传输方式下,有三种类型的数据在USB 和设备之间传送,CBW、CSW 和普通数据。CBW(Command Block Wrapper,即命令块包)是从USB Host 发送到设备的命令,命令格式遵从接口中的bInterfaceSubClass 所指定的命令块,这里为SCSI 传输命令集。USB设备需要将SCSI 命令从CBW 中提取出来,执行相应的命令,完成以后,向Host 发出反映 当前命令执行状态的CSW(Command Status Wrapper),Host 根据CSW 来决定是否继续发 送下一个CBW 或是数据。Host 要求USB 设备执行的命令可能为发送数据,则此时需要将 特定数据传送出去,完毕后发出CSW,以使Host 进行下一步的操作。USB 设备所执行的操作可用下图描述CBW和CSW命令包格式在程序里面有或者参看Bulk-Only协议。三、硬件设计CH558、CH559模拟U盘使用的SPI接口的串行Flash,硬件如下图:CH558,CH559是增强型51内核的全速(12Mbps)USB单片机,内置晶振,芯片外围也足够简洁。CH563是32位高速USB MCU,内置网络PHY和协议栈。芯片资源如下图:四、软件设计软件主要包括以下方面:(1)、USB设备模式初始化(2)、存储芯片接口初始化(3)Bulk_Only传输CBW包:CSW包:五、可拓展功能(1)、其他存储介质:除了以上提到的SPI接口的串行Flash,也可以替换成EEPROM或者Nand falsh等非掉电易失存储介质。(2)、数据来源可以随意指定,比如串口数据流,并口数据流,甚至其他温湿度传感器设备等。(3)、CH559+SPI串行Flash模拟U盘测试参数测试系统,功能复制粘贴创建写格式化XPWIN7WIN10安卓六、应用场合应用的典型场合,比如:(1)、代替光盘为客户提供说明书,可以
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年聊城幼儿师范学校第二批公开招聘工作人员(9人)备考题库带答案解析
- 南充市人力资源和社会保障局局属参照管理事业单位2025年度公开遴选工作人员(2人)考试参考题库附答案解析(夺冠)
- 2025赤峰松山中医蒙医医院招聘12名控制数人员考试历年真题汇编及答案解析(夺冠)
- 2026天津医科大学朱宪彝纪念医院第二批招聘24人考试参考题库带答案解析
- 2025广东佛山市禅城实验高级中学招聘临聘政治教师1人考试历年真题汇编带答案解析
- 2025广西河池市罗城仫佬族自治县兼爱乡卫生院乡村医师招聘4人备考题库带答案解析
- 2025广东广州东山街招聘辅助人员2人笔试备考题库附答案解析
- 印刷设备机械装调工班组安全能力考核试卷含答案
- 生猪屠宰加工工班组建设竞赛考核试卷含答案
- 砂石骨料生产工成果模拟考核试卷含答案
- 纵深灭火救人操作程序及评定标准
- 威廉霍尔曼 亨特
- 木星介绍课件
- GB/T 25118-2010轨道交通机车车辆电气设备开启式功率电阻器规则
- GB/T 21567-2008危险品爆炸品撞击感度试验方法
- GB/T 21447-2018钢质管道外腐蚀控制规范
- 全启式弹簧安全阀校验与维修
- 去极端化学习材料课件
- 项目进度管理与控制
- 人教部编版七年级上册语文作业课件:专题七 课外文言文阅读(共15张PPT)
- 教师英语口语训练课件(完整版)
评论
0/150
提交评论