您现在的位置: 范文先生网 >> 理工论文 >> 电子通信论文 >> 正文

USB On-The-Go 技术概述

时间:2007-1-20栏目:电子通信论文

摘要:USBOTG(On-The-Go)是USB2.0规范的补充,它使外设可以在无主机参与的情况下直接互连进行通信工程.本文讨论了USBOTG补充规范的新增特性,包括OTG事务请求协议SRP和主机流通协议HNP、连接器和电缆、两用OTG设备和外设式OTG设备、驱动程序以及数据流模型。
  关键词:USB2.0OTG规范
  
  USB的广泛应用其正在成为外设与PC机及膝上型电脑连接的工业标准USB外设主要是便携式设备,随着其数量的不断增多,设备之间无主机参与的直接通信成为亟待解决的问题。我们开发了基于USB总线(接口芯片为Philips公司的PDIUSBD12)的数据采集系统,取得了满意的效果。但在开发USB1.1设备时遇到的设备互连直接通信的解决方案.USB2.0虽然在速度等方面有很大的改进,但同样要依赖计算机主机进行通信。
  
  2001年底,USB开发者论坛(USBImplementersForum,USBIF)发布了专门用于USB外设间“可移动互连”的USB2.0补充规范USBOn-The-Go,其目标是使外设以主机的身份和另外特定的一组外设直接通信。本文中归纳USB2.0补充规范OTG的相关技术,并主要讨论其新增特性。
  
  1新的协议
  
  OTG补充规范对USB2.0的最重要的扩展是其更具节能性的电源管理和允许设备以主机和外设两种形式工作。OTG有两种设备类型:两用OTG设备(Dual-roledevice)和外设式OTG设备(Perip-heral-onlyOTGdevice)。两用OTG设备完全符合USB2.0规范,同时它还要提供有限的主机能力考核成绩和一个MiniAB插座、支持主机流通协议(HostNegotiationProtocol,HNP),并和外设式OTG设备一样支持事务请求协议(SessionRequestProtocol,SRP).当作为主机工作时,两用OTG设备可在总线上提供8mA的电流,而以往标准主机则需要提供100~500mA的电流。
  
  两个两用OTG设备连接在一起时可交替以主机和从机的方式工作,这个特点兼容了现有USB规范主机/外设的结构模型。OTG主机同样负责补始化数据通信的任务,比如:总线复位、获取USB各种描述符和配置设备。这些配置完成后,两个OTG设备便可以分别以主机和从机方式传输信息,两个设备主从角色交换的过程由主机传输协议(HNP)定义。以下以两用OTG设备为例讨论SRP和HNP。
  
  1.1事务请求协议SRP
  
  在以往的USB系统运行过程中,主机提供5V的电源和不低于100mA的总线电流。当OTG主机(指以主机方式工作的两用OTG设备,又称A-device)连接到有线电源时这种方法是适用的,但像手机这样的自供电移动设备则不能承受如此大的电能浪费。为了节约电源延长电池的使用寿命,当总线上没有活动时,OTG主机将挂起总线电源VBUS。SRP协议可使OTG从机(指外设式设备或者以外设方式工作的两用设备,又称B-device,此处指后者)请求A-device重新使能VBUS,而后A-device使用HNP协议交换两个设备的工作方式,这两步完成后由新的OTG主机开始事务传输。B-device可在前一事务结束2ms后的任意时间开始SRP,SRP的时序波形见图形1。
  
  B-device将先后执行数据线脉冲调制(data-linepul-sing)和VBUS脉冲调制(VBUSpulsing)。它通过使能数据线上拉电阻(全速和高速设备为D+,低速设备为D-)5~10ms实现前者,后者通过驱动VBUS实现。VBUS必须要有足够长的时间对其电容充电,这个时间应能保证不大于13μF的电容充电至2.1V(OTG设备的电容是6.5μF或更小),从而不会对标准主机的96μF或更高的电容充电至2.0V。该限制保证了从B-device引来的VBUS电流不会破坏标准主机的端口。
  
  A-device检测到数据线脉冲调制或者VBUS脉冲调制后,首先复位总线,然后发送Set_feature命令而先不进行设备的枚举,此时B-device尚处在默认的从机状态。如果Set_feature命令成功执行,说明B-device为两用OTG设备,A-device(使用HNP协议)挂起VBUS准备让B-device交换为主机方式接管总线。如果Set_feature命令执行失败,说明B-device为外设式OTG设备,于是A-device使能VBUS准备开始一个传输事务(此时,A-device只是被唤醒,并未改变工作方式)。当A-device认为总线上没有传输需要时,挂起VBUS以结束该事务。这种A-device自动检测B-device是否支持HNP协议的特征称为"NoSilentFailure"。
  
  1.2主机流通协议HNP
  
  
  
  
  当两用设备连接了一个Mini-A插头或者Mini-B插头时,它相应的便以OTG主机或者OTG外设的默认方式工作。A-device为默认主机,所以由它提供VBUS电源,且在检测到有设备接入时复位总线、八举并配置B-device。
  
  A-device在完成对B-device的使用后,可以通过查询B-device的OTG性能描述符来判断是否支持HNP协议(即是否为两用OTG设备)。如支持HNP,B-device将返回有效的OTG性能描述符,A-device则产生一个Set_feature命令(即HNP_Enable)来通知B-device可以在总线挂起的时候以主机方式工作,随后A-device挂起总线。HNP的时序波形见图2

[1] [2] [3] 下一页

下页更精彩:1 2 3 4 下一页