OTG[近年发展起来的技术]
USB OTG标准在完全兼容USB2.0标准的基础上,增添了电源管理(节 省功耗)功能,它允许设备既可作为主机,也可作为外设操作(两用OTG)。 OTG两用设备完全符合USB2.0标准,并可提供一定的主机检测能力,支持主机通令协议(HNP)和对话请求协议(SRP)。在OTG中,初始主机设备称为A设备,外设称为B设备。可用电缆的连接方式来决定初始角色。图1所示是用第5个ID脚确定默认主机的示意图,两用设备使用新型mini-AB插座,从而使mini-A插头、mini-B插头和mini-AB插座增添了第五个引脚(ID),以用于识别不同的电缆端点。mini-A插头中的ID引脚接地,mini-B插头中的ID引脚浮空。当OTG设备检测到接地的ID引脚时,表示默认的是A设备(主机),而检测到ID引脚浮着的设备则认为是B设备(外设)。系统一旦连接后,OTG的角色还可以更换。主机与外设采用新的HNP,A设备作为默认主机并提供VBUS电源,并在检测到有设备连接时复位总线、枚举并配置B设备。OTG标准为USB增添的第二个新协议称为对话请求协议(SRP)。SRP允许B设备请求A设备打开VBUS电源并启动一次对话。一次OTG对话可通过A设备提供VBUS电源的时间来确定(注:A设备总是为VBUS供电,即使作为外设)。也可通过A设备关闭VBUS电源来结束一次会话以节省功耗,这在电池供电产品中是非常重要的。例如,在两台蜂窝电话通过连接互相交换信息时,一台连接在费电的mini-A端,是A设备,默认为主机。另一台是B设备,默认为外设。当在不需要USB通信时,A设备可以关闭VBUS线,此时B设备就会检测到该状态并进入低功耗模式。
在USB标准中,主机采用A型接口,称为A类设备(A-Device);外设采用B型接口,称为B类设备(B-Device)。1个DRD既可以作为主机,也可以作为外设。那么,当2个DRD互连时,哪个设备作为主机,为什么要作为主机?为了 解决这两个问题,在OTG中提出了新的协议——主机协商协议(HNP)。在OTG中还定义了一种新的接口——微型AB插座(mini-AB receptacle)以及微型A插头(mi-ni-A plug)和微型B插头(mini-B plug)。在微型AB插座、微型A插头和微型B插头中增加了1个引脚——ID引脚,如图l所示。 主机协商协议(HNP)
OTG收发器一般用在嵌入式设备中,这类设备普遍采用电池供电,对功耗要求很严。为了节省电源,在OTG标准中,当电源总线没有使用时,允许A类设备挂起电源总线。 当1个B类设备要工作时,它必须通过某种方法通知A类设备向电源总线供电。为了实现这一功能,在OTG中提出了 会话请求协议(SRP)。在OTG中,1个会话定义为A类设备向电源总线VBUS有效供电的时间。需要注意的是,在OTG中电源一直都是由A类设备(连接mini-Aplug的DRD)提供的。由于主机协商协议,A类设备也可能作为外设使用,此时,电源也必须由A类设备提供。当A类设备挂起VBUS后,B类设备进入休眠状态。当B类设备需要再次工作时,它可以通过向数据线发送1个脉冲信号(Data-linePulsing)或向电源总线发送一个脉冲信号(VBUSPulsing)来请求A类设备向电源总线供电。OTG要求无论是DRD设备还是普通的B类设备,都必须具有发送会话请求的功能;同时,普通的A类设备或者DRD设备都必须能够响应1个会话请求。
图3 所示电路给出了构建OTG功能时需要在基础USB外设上添加的电路,电路中的通用串行总线控制器可以是一个微处理器和USB SIE(串口引擎),也可以是集成的μP/USB芯片或与USB收发器相连的 ASIC。为总线提供电源的外部设备需要一路3.3V稳压输出供电电压,以便为逻辑电路和连接在D+、D-引脚的1500Ω电阻提供电源。通过D+、D-引脚上的上拉电阻可向主机发出设备已连接的信号,并指示设备的工作速度。电阻上拉至D+表示全速运行,电阻上拉至D-表示低速运行。其它端点(包括D+和D-的15kΩ下拉电阻)用于检测上拉电阻的状态。由于USB设计需要提供热插拔功能。因此,其ESD保护电路主要用于为D+、D-和VBUS引脚提供保护。