毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

USB通信程序设计 第5页

更新时间:2010-3-14:  来源:毕业论文
USB通信程序设计 第5页
第三章 协议
3.1 Mass Storage 协议
USB协议能够在启动或是当设备插入系统时对设备进行备置,这就是USB设备为什么可以执插拨的原因。USB设备被分成以下几类:显示器(Monitors)、通讯设备(Communication devices)、音频设备(Audio)、人机输入(Human input)、海量存储(Mass storage)。特定类(class)的设备又可划分成子类(subclass),划分子类的后软件就可以搜索总线并选择所有它可以支持的设备。每个设备可以有一个或多个配置(Configuration),配置用于定义设备的功能。如果某个设备有几种不同的功能,则每个功能都需要一个配置。配置(configuration)是接口(interface)的集合。接口指定设备中的哪些硬件与USB交换数据。每一个与USB交换数据的硬件就叫做一个端点(endpoint)。因此,接口是端点的集合。USB的设备类别定义(USB Device Class Definitions)定义特定类或子类中的设备需要提供的缺省配置、接口和端点。描述符(descriptor)描述设备、配置、接口或端点的一般信息,下图为USB 描述符的层次结构。
 图3.1 USB描述符层次结构
USB(Host)唯一通过描述符了解设备的有关信息,根据这些信息建立起通信,在这些描述符中,规定了设备所使用的协议、端点情况等。因此,正确地提供描述符,是USB设备正常工作的先决条件。USB海量存储设备(USB Mass Storage Class)包括General Mass Storage Subclass、CD-ROM、Tape、Solid State。Mass Storage Class只需要支持一个接口,即数据(Data)接口,选择缺省配置时此接口即被激活。数据接口允许与设备之间进行数据传输,它提供三个端点:Bulk Input 端点、Bulk Output 端点和中断端点。通用海量存储设备(General Mass Storage Device)是随机存取、基于块/扇区存储的设备。它只能存储和取回来自CPU 的数据。这种设备的接口遵循SCSI-2标准的直接存取存储设备(Direct Access Storage Device)协议。USB设置上的介质使用与SCSI-2设备相同的逻辑块(logical blocks)方式寻址。下面介绍基于Bulk Only(批量传输)模式的Mass Storage 设备的描述符:每个USB设备都必须有一个设备描述符。
 图3.2 设备(Device)描述符
Mass Stroage设备的设备类型和子类代码均在接口描述符中设置,这里置0。其中iSerialNumber可为零,即不指定Serial Number。
配置描述符如下图:
 图3.3 配置(Configuration)描述符
这里配置所支持的接口数应为1。即设置至少支持一个接口,这里为Bulk-Only Data接口,此接口使用三个端点:控制端点(默认)、Bulk-In和Bulk-Out。其中bInterfaceSubClass指定所使用的工业标准命令块,bInterfaceProtocol为所使用的传输协议。
 图3.4 bInterfaceSubClass 处的工业标准命令块代码
 图3.5 Mass Storage 传输协议
接口描述符如下图:
 图3.6 接口(Interface)描述符
由于控制端点为每个设备都使用的缺省端点,因此不需要定义,只需定义Bulk-In和Bulk-Out两个端点,其端点描述符如下:
 图3.7 Bulk-In端点描述符
图3.8 Bulk-Out端点描述符
3.2 Bulk-Only传输协议
设备插入到USB后,USB即对设备进行搜索,并要求设备提供相应的描述符。在USB Host 得到上述描述符后,即完成了设备的配置,识别出为Bulk-Only的Mass Storage设备,然后即进入Bulk-Only传输方式。在此方式下,USB与设备间的所有数据均通过Bulk-In和Bulk-Out来进行传输,不再通过控制端点传输任何数据。在这种传输方式下,有三种类型的数据在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设备所执行的操作可用下图描述:

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

USB通信程序设计 第5页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。