企业简介

作为中国自动化领域的权威旗舰网络媒体,控制网创立于1999年7月,是中国举行的第十四届IFAC (International Federation of Automatic Control)大会的中国官方组织机构的唯一指定网站。控制网是中国自动化学会专家咨询工作 委员会(ECC)的秘书处常设之地。是北京自控在线文化传播有限公司开设的网站。

  • 公司类型:其他

联系方式
  • 控制网
  • 地址:北京市海淀区上地十街辉煌国际2号楼1504室
  • 邮编:100085
  • 电话:010-57116291 / 59813326
  • 传真:010-59813329
  • 网址:http://www.kongzhi.net
  • Email:mahongliang@kongzhi.net
  • 联系人:市场部
案例详细
标题USB On-The-Go技术及应用概述
技术领域人机界面
行业
简介USB On-The-Go(USB OTG)技术是对USB2.0的重要补充,它扩展了便携式设备之间的联通性,实现了两个便携式设备通过USB接口的直接数据通信,而不需要借助计算机的帮助。本文主要介绍了OTG技术的性能特点、芯片类型及其应用领域。
内容



    USB以其具有高速度、低成本、低功耗、即插即用和使用维护方便等优点,使得USB接口的设备正在以惊人的速度发展。随着USB应用领域的逐渐扩大,人们对于USB的期望也越来越高,希望USB能应用在各种计算机领域中,尤其是在移动数据领域中,希望能通过PDA等移动设备来直接与USB外设通信,使得USB能应用在没有PC的领域中。正是在这种新的需求下,USB On-The-Go(USB OTG)技术应运而生。本文主要介绍了USB OTG技术的性能特点、芯片类型及其主要应用领域。

1 USB OTG 的性能特点

1.1  Mini-AB插座和插件

    USB 2.0协议规范中定义了3种主机与设备的连接方式对:主机上的标准A插头和插座、外设上的标准B插头和插座以及外设上可选择的Mini B插头和插座。USB OTG主要是为了应用在便携的移动USB设备上,要求减小插头和插座的大小。为此,OTG 1.0作为USB 2.0的补充,新定义了2种接插件:Mini A插头和插座、Mini AB插座。Mini AB插座正是为 OTG DRD的特点精心设计的。Mini A插座是设计在主机上的,用于连接外设的Mini A插头;同理,Mini B插座设计在外设上,用于连接主机的Mini B插头。因此,不同的插座类型,区分了不同的USB 设备。当OTG DRD需要进行设备角色变换时,就需要相应的改变插座的类型。所以,OTG DRD 上应该同时具有2种插座。Mini AB正是巧妙地应用机械原理,一个插座可以连接Mini A和Mini B插头,而系统又可以通过ID信号线来识别是Mini A还是Mini B插头。同时,为了方便用户识别,对接插件的封装颜色进行了不同的定义:Mini A插头和插座采用白色(White),Mini B插头和插座采用黑色(Black),Mini AB插座采用灰色(Gray)。

1.2  OTG的电气层协议

    USB OTG通过五角接口和五线电缆传输数据。除了传统的四个针脚外,第五个针脚为“ID”脚,ID脚决定了初始化的主从角色:在Mini-A插头中,ID短路接地,所连设备被初始化为主;在Mini-B插头中,ID悬空,所连设备被初始化为从。在软件控制下,主从角色也可以利用主设备转换协议(HNP)进行互换。图1为USB OTG 主从角色的设定。



图1    USB OTG 主从角色的设定

    主设备可提供低功率输出,最小为8mA的电流到USB电缆,当不传输时可关掉VBUS。在VBUS关闭时,如从属设备需要使用总线,则可请求主设备开启VBUS,为VBUS重新供电。低功耗可支持USB设备在电池供电的情况下正常工作,延长电池寿命,节省能源。

1.3 OTG的软件结构
    OTG的软件结构包括3部分:OTG系统硬件驱动,包括会话请求协议(SRP)
和主机交流协议(HNP);OTG系统外设软件,实现标准的USB类,来实现特定的USB外设功能;OTG系统主机软件,包括主机驱动程序、操作系统支持软件以及支持外设的类库。

1.3.1 OTG硬件驱动

●会话请求协议SRP
    会话请求协议(Session Request Protocol,简写为 SRP)用于B设备向A设备请求建立会话和使用总线。
    OTG规范对USB协议最大的扩展就是让双重角色的USB外设具有有限的主控设备能力,能够提供动态的能源管理以及自动转换主控设备或者外围设备功能,这是通过SRP和HNP实现的。
    在一个标准的USB系统中,主控设备在设备连接的整个过程中无论总线是否空闲,始终向USB总线提供标准的5V/100mA能量,这样的要求对于能源有限的便携式设备比如手机来说就很苛刻。为了能够节省能源,USB2.0为OTG主控设备(A设备)提供了一种方法以便在USB总线上没有数据传输时暂时关掉VBUS以节省能量,并且A设备能在外围设备(B设备)发出请求后重新提供VBUS并重新启动一个新的数据传输任务。
    作为USB外设的B设备可以在前一个任务完成2ms之后的任何时刻启动SRP。B设备这样做可以提供“资料线暂停(data-line pulsing)”和“VBUS暂停(VBUSpulsing)”。A设备一直在总线上检测“数据线暂停”和“VBUS暂停”,并在它认为适当的时候通过启动VBUS来开始下一个任务。这个任务一直进行到A设备认为在总线上没有传输的需要的时候,这时A设备就结束了这个任务。

● 主机交流协议HNP
    主机交流协议(Host Negotiation Protocol,简写为HNP)用于初始B设备与初始A设备之间切换主机角色。
    当一个双重身份的设备与一个Mini-A插件连接时,这个设备缺省作为主控设备使用;当它与一个Mini-B插件连接时,这个设备缺省作为外围设备使用。但如果需要转换该设备的身份是,并不需要用户进行任何操作,一个作为缺省从端作用的双重身份的设备可以通过HNP协议来改变身份。
    一次完整的HNP流程是这样的:B设备希望控制总线,成为主机;在A设备发送了SET_FEATURE命令后,B设备就可以来请求控制总线;A设备挂起总线,通知B设备可以控制总线;B设备发送信号,断开与A设备的连接;A设备启动D+信号在线的上拉电阻,将D+置高;这样,A设备就开始作为外设,放弃了总线的控制权,B设备成为了主机;在B设备完成了对总线的控制,就需要上拉其上的D+电阻,放弃总线控制权。当然,这一系列的HNP活动,不仅仅是通过信号在线的电平变化来实现的。电平变化只是一种标志,真正内部对总线的控制权的变化,则要通过软件来实现。

1.3.2 OTG系统外设软件
    考虑到USB协议的复杂性,用户在进行USB主机系统软件设计时,可先侧重实现一部分功能,以后再逐步实施和完善。这里侧重Mass Storage 类协议软件。

● Mass Storage 类协议
    Mass Storage 类(也就是大容量类)主要用于为软盘接口、ATA接口、IDE硬盘接口及Flash内存等设备建立的USB接口,类代码(bInterfaceClass字段的值)为0x08。这一类的特点是数据交换量大,有可能直接涉及