USB技术及开发

时间:2023-06-08 08:18:04 公文范文 来源:网友投稿

摘 要 通过对USB历史发展的探究,对USB技术背景及应用需求的分析,深入了解这一通讯技术的特点,在此基础上通过对硬件层面及通讯协议构成的分析,全面分析、掌握相关技术的开发基础。

关键词 USB接口;通信协议;开发

中图分类号 TP 文献标识码 A文章编号 1673-9671-(2011)112-0126-01

USB,是英文Universal Serial BUS(通用串行总线)的缩写,而其中文简称为“通串线,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯,是应用在PC领域的接口技术”。USB接口支持设备的即插即用和热插拔功能。实际上随着单片机技术的大规模应用,USB已经超出了普通电脑和外设间通讯这一应用范畴。

1 USB发展历史

USB接口技术的出现有其历史必然性,其主要特点体现在:使用方便,支持热插拔;传输速度快;可级联(但实际效果不好);独立供电(一些高电耗的设备仍需外部电源)等几个方面。目前在工业生产尤其是与电子工业密切相关的领域得到了广泛的应用,这就使得我们更加有必要去研究USB技术并学习相关开发知识

现代工业生活的发展背景下,传统的串口、并口通讯方式逐渐不能满足现有系统或者设备的数据传输速率需求;随着电子工业的发展,新的技术及理念的推出为新的串口通讯方式的出现提供了物质基础。以Intel为首的七家公司于1994年推出了USB(Universal Serial Bus,通用串行总线协议)概念,并在隨后的几年内不断的对USB协议进行改进,成功推行USB 1.1;2004年底,正式推出了USB 2.0协议;2008年底,正式发布USB 3.0标准。USB自从1996年推出后,已成功替代串口和并口成为当今个人电脑和大量智能设备的必配的接口之一。

2 USB接口概述

USB各个版本的主要差别:USB版本主要经历了1.0、1.1、2.0、3.0几个阶段。USB1.0版本最大传输速率:1.5 Mbps(192 KB/s)低速(Low-Speed);最大输出电流协议:500 mA;推出时间:1996年1月;4线。USB1.1版本最大传输速率速率称号:12 Mbps(1.5 MB/s)全速(Full-Speed);最大输出电流协议500 mA;推出时间1998年9月;4线。USB2.0版本最大传输速率速率称号:480 Mbps(60 MB/s)高速(High-Speed);最大输出电流协议500 mA;推出时间2000年4月;8线。USB3.0版本最大传输速率速率称号:5 Gbps(640 MB/s)超速(Super-Speed);最大输出电流协议900 mA;推出时间2008年11月。

3 USB主机和USB设备的连接

各USB版本间能很好的兼容。USB用一个4针(USB3.0标准为9针)插头作为标准插头,采用菊花链形式可以把所有的外设连接起来,最多可以连接127个外部设备,并且不会损失带宽。USB需要主机硬件、操作系统和外设三个方面的支持才能工作。目前的主板一般都采用支持USB功能的控制芯片组,USB接口可用于连接多达127个外设。

3.1 USB主机部分

客户软件:负责和USB设备的功能单元进行通信,以实现其特定功能;USB系统软件:负责和USB逻辑设备进行配置通信,并管理客户软件启动的数据传输;USB总线接口:用于给USB系统提供一个或多个连接点。

3.2 USB设备部分

USB设备部分和主机连接如图1。

4 USB通信协议

4.1 通信协议

数据通信协议部分是USB的核心内容,以差模串行信号为载体传送二进制代码来传输信号。数据包作为最基本的完整信息单元,构成USB的三种事务。进而,组合不同的传输类型,传输各种类型的数据,实现USB的各种功能。

图 1

4.2 USB封包格式

包是USB最基本的数据单元,每个包,基本包含一个完整的USB信息。按照其在整个USB数据传输中的作用不同,包分为三类:令牌包、数据包和握手包。具体格式如下:同步字段(SYNC);PID字段;数据字段;CRC字段;包结尾字段(EOP)。

令牌包:SYNC,8位;PID高低,8位;ADDR,7位;ENDP,4位;CRC5,5位。数据包:SYNC,8位;PID高低,8位;DATA,0-1023字节;CRC16,16位。握手包:SYNC,8位;PID高低,8位。特殊包:

使用背景为主机想要从高速传输变成低速传输时。

4.3 USB传输类型

以包为单元,USB定义了四种数据的传输类型:控制传输、中断传输、批量传输和同步传输。每一种类型都由一定的包按照某种特定的格式组成。不同的传输类型的最大传输速度、占用USB总线的带宽、传输数据的总量和应用场合等都是不同的。传输是一种比较笼统的说法,在实际的数据传输中,往往还需要细分为多个数据交换过程,每一次的数据交换过程既不能叫做某种传输,也不是包,而是另外一个重要的概念—处理事务。每种传输方式都由多个处理事务来完成,每一笔处理事务由底层包组成。域、包、处理事务和传输的关系就是实现USB通信的过程。

控制传输:主要传输一些控制命令和数据,USB设备收到这些数据和命令后,按先进先出的原则处理。

中断传输:该方式传送的数据量很小,但这些数据需要及时处理,以达到实时效果。如:键盘、鼠标、游戏手柄等外部设备。

批传输方式:该方式用来传输要求正确无误的数据。通常打印机、扫描仪和数码相机以这种方式与主机连接。

等时传输:该方式用来连接需要连续传输,且对数据的正确性要求不高而对时间极为敏感的外部设备,如:麦克风、音箱以及电话等。

5 USB开发实例

5.1 USB存储设备枚举过程

集线器检测新设备;主机发送Get_Status请求;集线器重新设置该新设备(Set_Feature);集线器在设备和主机之间建立一个信号通路(Get_Status);集线器检测设备速度;获取最大数据包长度(Get_Device_Deor)。

以下操作雷同,不同操作系统设定时延是不一样的,如果没有反应就再发送一次命令,重复三次。主机分配一个新的地址给设备(Set_Address);主机向新地址重新发送Get_Device_Deor命令;主机向设备循环发送Get_Device_Configuration命令,要求USB设备回答,以读取全部配置信息;主机发送Get_Device_String命令;主机弹出设备信息窗口;PC判断是否能够提供USB的Driver;主机发送Set_Configuration(x)请求;此时,常规的USB完成了其必须进行的配置和连接工作。

5.2 数据传输(Bulk-Only协议)

三种类型的数据在USB和设备之间传送:CBW(Command Block Wrapper,即命令块包),是从USB Host发送到设备的命令;CSW(Command Status Wrapper),执行完HOST的命令后DEVICE发送给HOST;普通数据。

数据展开后,命令块包CBW数据输出(从主机)、数据输入*(向主机)、发为命令状态包(数据输入、输出都流为命令状态包)。

5.3 需要掌握的要点

需要研究掌握SCSI(Small Computer System Interface)数据格式和SCSI部分命令,这里不再赘述。

5.4 USB设备响应流程

主机命令被设备接收,解析为要处理的命令块。此时进行判定,处理确认则解析并处理命令,返回状态块,回复主机。若否则判定数据写入完成,完成返回状态块;写入判定部分否,则写入闪存,返回主机。

6 结束语

USB作为一种方兴未艾的通讯接口技术,还有广阔的应用空间,如在电力自动化通信、微机保护通讯等方面。对USB技术的持续学习和研究将在未来的电子工业上产生广泛推动作用。

参考文献

[1]胡晓军.SY-USB接口开发技术[M].西安电子科技大学出版社,2011.

[2]张建忠,徐敬东,编著.计算机网络基础与应用[M].机械工业出版社,2011.

[3]YU.比特流的大运河[J].微型计算机,微型计算机杂志社,2005.

推荐访问:开发 技术 USB