USB On-The-Go 技术概述
发布时间:2008/5/27 0:00:00 访问次数:584
    
    
    来源:电子技术应用 作者:杨智君 田 地 余青松 郝新轶 丘春玲
    
    摘要:usb otg(on-the-go)是usb 2.0规范的补充,它使外设可以在无主机参与的情况下直接互连进行通信工程.本文讨论了usb otg补充规范的新增特性,包括otg事务请求协议srp和主机流通协议hnp、连接器和电缆、两用otg设备和外设式otg设备、驱动程序以及数据流模型。
    
    关键词:usb 2.0 otg 规范
    
    usb的广泛应用其正在成为外设与pc机及膝上型电脑连接的工业标准usb外设主要是便携式设备,随着其数量的不断增多,设备之间无主机参与的直接通信成为亟待解决的问题。我们开发了基于usb总线(接口芯片为philips公司的pdiusbd12)的数据采集系统,取得了满意的效果。但在开发usb1.1设备时遇到的设备互连直接通信的解决方案.usb 2.0 虽然在速度等方面有很大的改进,但同样要依赖计算机主机进行通信。
    
    
    
    2001年底,usb开发者论坛(usb implementers forum,usb if)发布了专门用于usb外设间“可移动互连”的usb2.0补充规范usb on-the-go,其目标是使外设以主机的身份和另外特定的一组外设直接通信。本文中归纳usb 2.0补充规范otg的相关技术,并主要讨论其新增特性。
    
    1 新的协议
    
    otg补充规范对usb2.0的最重要的扩展是其更具节能性的电源管理和允许设备以主机和外设两种形式工作。otg有两种设备类型:两用otg设备(dual-role device)和外设式otg设备(perip-heral-only otg device) 。两用otg设备完全符合usb2.0规范,同时它还要提供有限的主机能力考核成绩和一个miniab插座、支持主机流通协议(host negotiation protocol,hnp),并和外设式otg设备一样支持事务请求协议(session request protocol,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-line pul-sing)和vbus脉冲调制(vbus pulsing) 。它通过使能数据线上拉电阻(全速和高速设备为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为
    
    
    来源:电子技术应用 作者:杨智君 田 地 余青松 郝新轶 丘春玲
    
    摘要:usb otg(on-the-go)是usb 2.0规范的补充,它使外设可以在无主机参与的情况下直接互连进行通信工程.本文讨论了usb otg补充规范的新增特性,包括otg事务请求协议srp和主机流通协议hnp、连接器和电缆、两用otg设备和外设式otg设备、驱动程序以及数据流模型。
    
    关键词:usb 2.0 otg 规范
    
    usb的广泛应用其正在成为外设与pc机及膝上型电脑连接的工业标准usb外设主要是便携式设备,随着其数量的不断增多,设备之间无主机参与的直接通信成为亟待解决的问题。我们开发了基于usb总线(接口芯片为philips公司的pdiusbd12)的数据采集系统,取得了满意的效果。但在开发usb1.1设备时遇到的设备互连直接通信的解决方案.usb 2.0 虽然在速度等方面有很大的改进,但同样要依赖计算机主机进行通信。
    
    
    
    2001年底,usb开发者论坛(usb implementers forum,usb if)发布了专门用于usb外设间“可移动互连”的usb2.0补充规范usb on-the-go,其目标是使外设以主机的身份和另外特定的一组外设直接通信。本文中归纳usb 2.0补充规范otg的相关技术,并主要讨论其新增特性。
    
    1 新的协议
    
    otg补充规范对usb2.0的最重要的扩展是其更具节能性的电源管理和允许设备以主机和外设两种形式工作。otg有两种设备类型:两用otg设备(dual-role device)和外设式otg设备(perip-heral-only otg device) 。两用otg设备完全符合usb2.0规范,同时它还要提供有限的主机能力考核成绩和一个miniab插座、支持主机流通协议(host negotiation protocol,hnp),并和外设式otg设备一样支持事务请求协议(session request protocol,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-line pul-sing)和vbus脉冲调制(vbus pulsing) 。它通过使能数据线上拉电阻(全速和高速设备为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为