linux的usb总线驱动分析

linux的usb总线驱动分析

ID:13242499

大小:66.00 KB

页数:7页

时间:2018-07-21

linux的usb总线驱动分析_第1页
linux的usb总线驱动分析_第2页
linux的usb总线驱动分析_第3页
linux的usb总线驱动分析_第4页
linux的usb总线驱动分析_第5页
资源描述:

《linux的usb总线驱动分析》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、USB大存储设备这里所说的大存储设备包括U盘、读卡器、USB接口的光驱等其他块存储设备。lUSB接口大存储设备操作流程它们被看做是SCSI接口设备。当用户从设备上读写数据时,文件系统将读写操作传送到SCSI协议层,SCSI协议层将读写请求封装成USB请求块(URB)通过USB接口传递给设备,USB设备从URB中解析处SCSI协议命令后再操作块设备。lUSB接口大存储设备设计思路设计一个控制线程,注册这个线程为虚拟SCSI控制器,这个线程无论在设备插入或删除时都是作为一个SCSI节点存在。这样的话,设备在移去然后再重

2、新插上时对应/dev中的同一个节点。当一个设备被接入时,控制线程从SCSI中间层代码得到命令。控制线程接受命令,再检查后送命令到协议处理函数。这些处理函数负责再写命令到设备可以接受的形式,然后送到传输处理函数。传输处理函数负责将命令送到设备、交换数据,并接着得到设备的状态。Bulk-Only传输协议和SCSI命令块集是具有Linux系统的嵌入设备的两种模式。1.Bulk-Only传输协议Bulk-Only传输协议是USB大容量存储器类中的USB批量数据传输协议,它定义了仅通过批量端点传输的命令、数据和状态。l命令块

3、数据包裹器CBW发送命令,使用命令状态数据包裹器接受返回的状态。CBW是一个包含命令块和相关信息的数据包。格式是这样的:ByteBit765432100~3dCBWSignature4~7dCBWTag8~11(08h~0Bh)dCBWTataTransfenLength12(0Ch)bmCBWFlags13(0Dh)Reserved(0)bCBWLUN14(0Eh)Reserved(0)bCBWCBLength15~30(0Fh~1Eh)CBWCB它用buld_cb_wrap的数据结构描述(drivers/usb

4、/storage/transport.h)sturctbulk_cb_wrap{_le32Signature;//签名’USBC’_u32Tag;//每个命令唯一的ID_le32DataTransferLength;//数据大小_u8Flags;//在bit0中表示方向_u8Lun;//表示LUN(SCSI逻辑单元)正常为0_u8Length;//数据传输长度_u8CDB[16];//传输的命令字节};l命令状态数据包裹器CSW是一个包含块状态的数据包,格式如下:ByteBit765432100~3dCSWSign

5、ature4~7dCSWTag8~11(Bh)dCSWResidue12(Ch)dCSWStatusCSW用如下数据结构bulk_cs_wrap来描述(drivers/usb/storage/transfer.h)structbulk_cs_wrap{_le32Signature;//签名’USBS’_u32Tag;//与CBW中Tag一样_le32Residue;//没有传输完的数据量_u8Status;//操作状态标示,如成功、失败等_u8Filler[18];}l传输过程当传输方向是从设备到主机时,则当CBW

6、发送成功后,设备的In端点读取CBW中规定长度的数据CBWCB;当传输方向是从主机到设备是,则当CBW发送成后,向设备的Out端点发送CBW中规定长度的数据CBWCB。CBWCB是命令块数据,是遵循某一规范的命令集。当主机与设备之间的数据传送完毕后,主机还需从设备的In端点读取传送状态,并根据接收的CSW数据包判断出通信是否正常。2.SCSI体系结构模型及命令描述块SCSIArchitectureModel是一个SCSII/O系统的抽象模型,可以应用到所有的SCSI接口、协议、存取方法和设备上。SCSI系统使用的是

7、客户-服务器模型,PC是客户机,SCSI硬盘是服务器,客户机提供面向块的设备所理解的命令,服务器完成命令的具体操作。域SCSI设备服务分发子系统目标器启动器服务分发接口连接子系统任务管理器LUN应用客户设备服务器任务集(队列)l域:一个SCSI域的结构化模型是一个I/O子系统,它由几个SCSI设备组成,这些设备彼此之间通过一个服务分发子系统进行通信l服务分发子系统(ServiceDeliverySubsystem,SDS):由一个连接子系统和至少两个服务分发接口(SDI)组成,它的任务是做到对客户机和服务器之间请求

8、和相应进行无差错传输。连接子系统是物理总线,包括它的电缆、连接器和电气特性。服务分发接口提供了相应的协议。l启动器(initiator)和目标器(target):可以发送SCSI命令和任务管理请求的SCSI设备称为启动器,可以执行SCSI命令和任务管理请求的SCSI设备称为目标器。l任务管理器:它管理控制着一个或多个任务的执行,并对任务管理请求作出反应。任务

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

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

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