usb开发笔记1-Bulk-Only传输协议

更新时间:2023-06-26 15:22:47 阅读: 评论:0

测土配方usb开发笔记1-Bulk-Only传输协议
U盘应属于海量存储类。
USB海量存储设备⼜包括通⽤海量存储⼦类,CDROM,Tape等,U盘实际上属于海量存储类中通⽤海量存储⼦类。通⽤海量存储设备实现上是基于块/扇区存储的设备。
崛起的中国
USB组织定义了海量存储设备类的规范,这个类规范包括4个独⽴的⼦类规范。主要是指USB总线上的传输⽅法与存储介质的操作命令。
订货周期海量存储设备只⽀持⼀个接⼝,即数据接⼝,此接⼝有三个端点Bulk input ,Bulk output,中断端点
这种设备的接⼝采⽤SCSI-2的直接存取设备协议,USB设备上的介质使⽤与SCSI-2以相同的逻辑块⽅式寻址
⼆、 Bulk-Only传输协议
当⼀个U盘插⼊主机以后,主机会要求USB设备传回它们的描述符,当主机得到这些描述符后,即完成了设备的配置。识别出USB设备是⼀个⽀持Bulk-Only传输协议的海量存储设备。这时应可进⾏Bulk-Only传输⽅式。在此⽅式下USB与设备之间的数据传输在这种传输⽅式下,有三种类型数据在USB和设
备传送,它们是命令块包(CBW),命令执⾏状态包(CSW)和普通数据包。CBW是主机发往设备的命令。格式如下:
其中dCBWSignature的值为43425355h,表⽰当前发送的是⼀个CBW。
DCBWDataTransferLength:表⽰这次CBW要传送数据长度。
扫雷器BmCBWFlags:表⽰本次CBW是读数据还是写数所
BBWCBLength:表⽰命令的长度。
CBWCB:表⽰本次命令内容。也即是SCSI命令。
赵信改版荷花作文400字当设备从主机收到CBW块以后,它会把SCSI命令从CBW中分离出来,然后根据要求执⾏,执⾏的结果⼜以CSW的形式发给主机。
CSW的格式如下:
其中dCSWSignature的值为53425355h,表⽰当前发送的是⼀个CSW。
DCSWTag:必须和CBW中dCBWTag⼀样。
DCSWDataResidue:还要传送的数据。
xy坐标图BCSWStatue:命令执⾏状态,命令正确执⾏时,为0。
三、 SCSI命令集
在Bulk-Only的命令块包(CBW)中,有⼀段CBECB内容,它就是SCSI命令块描述符。其内容如下:
夕阳作文Operation Code:是SCSI命令操作代码。
Logical Block Address:逻辑块地址,对U盘⽽⾔应是扇区。前⾯已经讲过:通⽤海量存储设备是⼀个基于块/扇区存储的设备,因此在SCSI中要提供这个参数是很显然的。
transfer length:为要传送的扇区数
SCSI中直接存取类型的存储介质的传输命令有很多,如:
INQUIRY:其操作码为12H
Test Unit Ready:其操作码为00H
Format Unit:其操作码为04H
.......

本文发布于:2023-06-26 15:22:47,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1044626.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:设备   命令   海量
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图