USB设计的注意事项
通用串行总线(USB)就像在过去20年里无所不在的RS-232串行端口一样正在逐步普及。实际上,现今发售的大部分PC都只有USB端口,而没有串行或并行端口。USB最初是为计算机及其外设而设计的,但是由于便于使用和颇受欢迎,使得其使用范围已经扩展到视频游戏、PDA、MP3播放器和数据记录仪等方面。在进行USB设计时,需要考虑许多特性:是选择低速、全速还是高速传输速率;采用A型还是B型连接器;功耗、兼容性测试以及设备类型选择。什么是新的USB On-The Go(OTG)标准?工程师该从哪里着手?
第一步是理解USB的基本原理。USB系统是一种分层的星型配置结构,由一台主控制器和多台直接连接或菊花链型连接的设备组成。每个端口可以且仅可以连接一台设备。但该设备可以是USB集线器,它采用树型结构将单个端口扩展为多个下行端口。菊花链型设备是有限制的:每台控制器允许5级分支,一台主控制器最多可以连接127台设备。因此,计算机可以有多台主控制器。
图1 类似于Microchip Technology的PIC18F4550之类的单片机可以将USB集成为一个基本串行接口,这适合于较少连接到个人计算机的嵌入式应用。
这些设备可以在系统启动时连接,也可以在系统工作过程中进行热插拔。对于数码相机或便携式音乐播放器之类的设备而言,热插拔是非常方便的,因为这些设备主要是在与计算机断开连接之后使用。在这些情况下,仅在上传或下载信息时才将USB连接到计算机。每次想要将设备连接到计算机或断开与计算机的连接时都要重启系统非常不便。
在主控制器和集线器或设备之间建立连接是一个比较简单的过程。USB连接器有三种类型。“A”型连接器用于与主控制器连接(上行连接),而“B”型连接器用于与设备连接(下行连接)。最后一种连接器为“mini-B”型,它是一款尺寸得到优化的B型连接器。这些连接器各不相同,因此用户不可能混淆和错误连接设备。
USB最强大的功能之一是可以通过USB电缆对设备供电。USB电缆有四根导线:电源线、地线、D+和D-。D+和D-导线是差分对,用于数据通信。电源和地连接可为设备提供5V的电压和最高500 mA的电流。与某一设备连接后,主控制器将通过一个称为“枚举”的过程查询该设备。枚举过程允许主控制器了解所连接的设备、设备执行的数据传输类型、消耗的功率以及其他参数。在启动时,设备仅允许汲取100 mA的电流。随后,主控制器将允许设备消耗更多的电流,最高可达500 mA,这取决于它向其他已连接设备提供了多少电流。
需要注意的一点是有些集线器是非自供电的,这意味着它们通过上行连接供电,然后将电能传递给下行连接。幸运的是,设计人员有两种选择。您可以使用有自己电源的自供电集线器,或使设备具有自己的电源。诸如打印机、扫描仪和扬声器之类的设备都有自己的电源。而诸如鼠标、键盘和闪存U盘之类的设备可通过USB电缆供电。
在USB系统中进行连接时,电缆长度不得超过5米。使用集线器,系统可以通过6根电缆和5个额外的集线器,将电缆总长最多扩展到30米。
如上所述,枚举过程用于搜索设备的功能。其他功能用于决定设备的数据传输类型,以及加载正确的设备驱动程序。USB定义了以下四种传输类型:
* 控制——向设备发送短命令和查询,或接收来自设备的状态响应
* 中断——需要确保快速响应的非常小的数据包,用于如鼠标或键盘之类的设备
* 批量——带有错误检测的大量数据传输,用于如打印机或硬盘驱动器之类的设备
* 同时——不带错误检测的实时数据流传输,用于扬声器之类的设备
设备驱动程序将定义每台下行连接的设备的类型。根据设备类型,操作系统可提供一个标准驱动程序。人机接口设备类(HID)和海量存储设备类(MSD)在操作系统中都有自带的驱动程序。其他类型包括音频、打印机、视频以及测试和测量设备。USB也提供了供应商设备类,允许自定义设备类型以建立USB连接。这些驱动程序是针对具体应用程序的,由生产商提供。
设计人员经常看到兼容USB 1.1或USB 2.0。这是什么意思?USB 1.1在1998年9月发布,它定义了两种工作速度:低速和全速。低速USB定义最大数据传输速率为1.5 Mb/s。它通常用于使用控制和中断传输类型的HID应用,例如鼠标和键盘。全速USB定义最大数据传输速率为12 Mb/s,包括所有需要较高带宽的设备。由于USB简单实用,过去很多使用串行或并行连接的设备,甚至是插入到计算机ISA和PCI插槽的专用卡都转为使用 USB。在意识到需要更高的速度后,于2000年4月发布了USB 2.0,该标准提供了又一种工作速度:高速——工作速度为480 Mb/s。USB 2.0向后兼容使用低速或全速的USB 1.1设备,但是提供了更高的数据传输速率,以加快音频或视频设备的数据流传输,以及提高外部硬盘驱动器、网络摄像头、扫描仪和打印机等设备的工作效率。
需要注意的是,USB将可用带宽划分为由主控制器监控的帧。每个低速或全速帧包含1.5 KB,每毫秒传输一帧。所有使用同时和中断数据传输类型的设备均占用每帧中的一个时隙,所以可保证所需的带宽和时序要求。帧内的所有其他时间都分配给了批量和控制传输。尽管最高比特率可以是1.5、12或480 Mb/s,但是任一设备只会占用带宽的一小段。实际上,总线可能会耗尽带宽,这取决于连接到主控制器的USB设备数。因此计算机上需要拥有多台主控制器。需要注意的另外一点是,许多设备都是作为USB 2.0设备上市的,但不是所有的USB 2.0设备都是高速设备。USB-IF组织提供了USB徽标和USB高速徽标,以帮助区分产品性能。
最后是USB OTG。USB OTG补充规范的最初发布时间是2001年12月,并于2003年7月发布了第二次修订版。这个USB扩展规范允许一个端口既可以用作主机也可以用作设备。确定作为主机还是设备取决于插入到设备的是USB电缆的哪一端。USB OTG的出现允许诸如PDA之类的设备用作与计算机进行交互的设备,以建立连接并下载文件、通讯薄和手机号等。然后PDA可与打印机连接以打印图片或文件,与键盘或鼠标连接以输入数据条目,或与其他可增强PDA使用的外设主机连接。由于USB OTG多用于便携式或体积较小的设备,所以定义了两种新型连接器:mini-A和mini-AB型。尽管不如USB 2.0类型众多,集成USB OTG模块的单片机正在逐渐增多且在许多供应商处应该都有销售。
对于最终用户而言,USB的简单程度令人难以置信。设备在主机上即插即用的安装方式和热插拔功能,使得在过去使用产品时最头疼的事情现在却变得极其简单。据估计,到2004年为止,全球USB设备使用量超过了10亿。随着USB向高速模式的扩展,唯一不能使用USB的设备就只有诸如显示器和监视器之类的高品质数字视频产品了。
评论
查看更多