原创 USB Mass storage 学习笔记(1)

2008-6-25 08:15 9644 10 10 分类: 通信

本文PDF文档下载


研究USB Mass storage类设备首先要学习USB Mass storage类的规范及其许多有价值的资料。




尤其是:


USB Mass storage Bulk Only spec


pdf


Command/Data/Status Flow shows the flow for Command transport, Data-In, Data-Out and Status Transport.

<?xml:namespace prefix = v /><?xml:namespace prefix = o /><!--[if !vml]-->ed056a7c-ee36-4833-a521-b347b85f49f2.JPG

 


Command Block Wrapper(CBW) 命令字


CBW 必须从封包边界(Packet boundary)起始而且以31个字节传输的短包为结束。


 


所有的后续数据和状态字(CSW)应该以另一个新包起始。CBW传输应该符合小端模式(little endian)。

<!--[if !vml]-->点击看大图


dCBWSignature


标识这个数据包为CBW。这个标识必须为43425355h,表示为CBW


 


dCBWTag:


由主机发送的CBW标签。设备应该在相关的CSWdCSWTag以相同的内容回应主机。dCSWTag表示CSW有对于的CBW


 


dCBWDataTransferLength


在本命令执行期间,主机期望与Bulk-InBulk-Out端点传输的数据字节数。如果为0,设备和主机不能在CBW和对应的CSW中传输数据。设备也会忽略bmCBWFlags中的Direction位。


 


bmCBWFlags


各位如下定义:


Bit7   Direction-除了当dCBWDataTransferLength0时,设备会忽略这一位。其它时:


       0= DataOut,数据从主机到设备


       1= DataIn, 数据从设备到主机


 


Bit6   Obsolete 主机应当将这位置0


Bits 5..0  Reserved 主机应当将这些位置0


 


bCBWLUN:


表示正在发送命令字的设备的逻辑单元号(LUN)。对于支持多个LUN的设备,主机必须将LUN放入对于地址的CBW。否则,主机必须将其置0


 


bCBWCBLength:


CBWCB的有效字节长度。它定义了CB的可用长度。有效值是在11601h to 10h)之间。


 


CBWCB


被设备执行的Command Block(CB)


 


 


Command Status Wrapper(CSW)状态字

<!--[if !vml]-->点击看大图


dCSWSignature:


表示这个数据包是CSW。它必须为53425355h


 


dCSWTag:


设备必须将它设置为与对应的CBWdCBWTag相同的值。


 


dCSWDataResidue


对于Data-Out,设备应该通过dCSWDataResidue报告,dCBWDataTransferLength中期望的数据量与实际处理的数据量的不同。对于Data-In,设备应该通过dCSWDataResidue报告dCBWDataTransferLength中期望的数据量与实际设备发送的数据量的不同。dCSWDataResidue不能够超出dCBWDataTransferLength中的值。


 


bCSWStatus


bCSWStatus表示命令成功或失败。如果命令执行成功,设备应该将这些字节设置为0。非零值表示在命令执行期间有失败产生:

<!--[if !vml]-->点击看大图
待续.......
<!--[endif]-->
PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户393536 2008-10-17 14:31

不知道你現在的USB Mass Storage Device開發得怎麽樣了,我現在遇到一些問題,就是枚舉後可以在我的電腦的設備管理器中看到Mass Storage Device 可是會有一個黃色的感歎號,這是不是代表沒有枚舉成功呢? 可以把你的英文電子版發給我嗎?LYZC11@126.COM 加我QQ吧:403234303

用户1318081 2008-2-26 19:18

把ulink的时钟调到200KHZ

用户634140 2008-2-26 17:33

我买了一个,觉得不好用。经常连不上,不知什么原因。
能不能发个图片看看啊,我的邮箱
huntery88@126.com

用户204432 2007-11-7 19:54

能不能发个图片看看啊,我的邮箱
hall918@163.com

用户1318081 2007-6-4 22:32

    图片怎么上传不了啊?
相关推荐阅读
用户1316725 2010-11-18 08:35
轻松绑定工控主板的隐盾系列DOM电子盘
       经过2年多的研发,我公司正式推出隐盾系列DOM电子盘,并成功取得专利。隐盾系列DOM盘,除了支持从128MB~8G的容量外。它的最大特点是能够使DOM盘与工控主板1对1的绑定。目前,很多...
用户1316725 2010-07-01 07:39
《电子技术专业基础与实务》中级 复习资料
职称考试资料不好找呀,共享给大家!个人经验,多看晶体管部分和传感器原理部分,惠更斯电桥,JK/RS触发器,卡诺图等。希望大家都能顺利通过,看资料通过了的XDJM可要记得把本贴顶起来呀! 《电子技术专业...
用户1316725 2009-12-17 11:21
民间统计S3C2410/S3C2440出货情况 强贴大家顶起来吧。
p>今天在测试中发现,LPC2300的RTC时钟断电后,再重新加电,时间不走。网上有很多评论,也有类似的问题。不过,我把程序改了一下就可以了。程序如下(错误的程序):void RTC_Init(...
用户1316725 2009-12-14 09:09
SDIO卡初始化不过的调试笔记
前一段时间去了趟上海. 说是在客户平台上SDIO接口不正常,卡初始化不过.到了现场,先用示波器对各路电源和复位时序进行了检查.都没啥问题.然后,单步跟到发送SD CMD0(Reset)命令,发现卡的状...
用户1316725 2009-10-11 16:43
STM32上应用uCOSII学习笔记(2)
STM32上应用uCOSII学习笔记(2) 本文全文下载 2009.10.814611.pdf STM32F103xx用户手册学习STM32F103xx系列芯片能够做到Pin to Pin,软件和特性...
用户1316725 2009-10-07 09:56
LM3S3748的评估及开发过程之感触
LM3S3748的评估及开发过程之感触 注:本文仅代表本人的评估观点!类似“无责任书评”吧。本文全文下载 最近,有几个设计项目需求都是要求在嵌入式项目中实现USB Device或USB Host功能的...
我要评论
1
10
关闭 站长推荐上一条 /3 下一条