admin管理员组

文章数量:1535838


2024年6月7日发(作者:)

USB OTG技术概述

USB On-The-Go 技术概述

USB-OTG实际上是USB Implementers Forum组织对于传统USB接口的一个追加

协议,直接建立在USB 2.0基础之上。它修改了USB接口的针脚定义和接口外形,对USB2.0

标准最重要的扩展是它更具节能性的电源管理和允许设备以主机和外设(外围设备)两种

形式工作(图1)。

USB OTG定义了两种设备类型:双用设备(英文全称为Dual-Role Device,以下

简称为DRD)和单外设设备(英文全称为Peripheral-Only Device,以下简称POD)。

DRD具备Host和外设的两种功能,但也正是因为具有双重角色任务,DRD必须有切换角

色等新功能;POD基本与外设功能近似,因此在这里我们主要讨论DRD设备。

要成为一个USB Host,必须具有存储外设驱动程序、提供足够的USB端口电流和

相对应Host插座的能力。而它所要实现的基本功能包括三个部分:管理和控制总线,包

括提供USB端口电源管理;检测外设的接入和断开;初始化总线上所有数据包传输等等。

OTG的接插件

USB2.0协议规范中定义了3种Host与外设的连接方式:Host上的标准A插头和

- 1 -

USB OTG技术概述

插座、外设上的标准B插头和插座以及外设上可选择的Mini B插头和插座。USB OTG主

要是为了应用在便携式移动USB设备上,要求减小插头和插座的大小。为此,OTG1.0作

为USB2.0 的补充,新定义了两种接插件:Mini A插头和插座、Mini AB插头和插座。(提

示:在USB-OTG规范中,A设备代表主设备,充当Host的角色,一般指以主机方式工作

的DRD设备,;B设备代表从设备,充当外设的角色。)

Mini AB插座正是为OTG DRD的特点精心设计的。Mini A插座是设计在Host

上的,用于连接外设的Mini A插头;同理,Mini B插座设计在外设上,及来连接Host

上的Mini B插头。因此,不同的插座类型,区分了不同的USB设备。当OTG DRD需要

进行设备角色变换时,就需要相应的插座类型,所以OTD DRD正是凭借两种特性来充当

双用—— Mini AB巧妙地应用机械原理,一个插座可以连接Mini A和Mini B插头,而系

统又可以通过ID信号线来识别。当然,为了方便用户识别,厂商们对接插件的封装颜色进

行了不同的定义:Mini A插头及插座采用白色、Mini B插头及插座采用黑色、Mini AB

插座则采用灰色。

两个DRD设备连接在一起时可交替以主机和从机的方式工作,这个特点兼容了现有

USB规范主机/外设的结构模型。OTG主机同样负责初始化数据通信的任务。比如:总线复

位、获取USB各种描述符和配置设备。这些配置完成后,两个OTG设备便可以分别以主机

和从机方式传输信息,两个设备主从角色交换的过程由主机协商协议(HNP)定义。以下我们

以DRD设备来讨论SRP和HNP协议。

2.会话请求协议——SRP

在以往的USB系统运行过程中,主机提供5V的电源和不低于100mA的总线电流。

当OTG主机连接到有线电源时这种方法是适用的,但像手机这样的自供电移动设备则不能

- 2 -

USB OTG技术概述

承受如此大的电能浪费。一般OTG系统中的A设备采用的是电池供电,这就决定了OTG

系统电源管理是非常重要的。因此,为了节省OTG系统的电源开支,OTG规定A设备在

没有总线活动时可以关掉Vbus上的电源。这样,当一个B设备连接到A设备上之后,就

要初始化SRP,并发给A设备,请求A设备在Vbus提供电流支持,进而进行通信。OTG

中,DRD可以作为A设备,也可以作为外设设备,因此,DRD必须支持初始化SRP和响

应SRP;而POD只能作B设备,所以只能初始化SRP(图2)。

SRP中,B设备有两种方式可以向A设备发送请求,要求建立SRP:一种是数据线

脉冲,一种是Vbus脉冲。任何一个A设备只要求能响应一种SRP方式,而B设备必须能

初始化两种SRP方式——-当B设备先初始化一种SRP,而A设备无法响应的话,则B设

备就要用另一种SRP方式。

A设备检测到数据线脉冲调制或者Vbus脉冲调制后,首先复位总线,然后发送

Set_feature命令而先不进行设备的枚举,此时B设备尚处在默认的从机状态。如果

Set_feature命令成功执行,说明B设备为DRD设备,A设备(使用HNP协议)挂起Vbus准

备让B设备交换为主机方式接管总线。如果Set_feature命令执行失败,说明B设备为外

设式OTG设备,于是A设备使能Vbus准备开始一个传输事务。当A设备认为总线上没

有传输需要时,挂起Vbus以结束该事件。

3.主机流通协议——HNP

- 3 -

USB OTG技术概述

在上面我们已经提及OTG DRD采用Mini AB型插座,因此DRD既可以作为Host,

也可以作为外设。而在某个OTG连接中,这个DRD到底是作Host(即A设备),还是作

为外设(B设备),则要根据接入的另一个OTG设备来定的。如果接入的是OTG POD,

那么这个DRD肯定是充当A设备角色。但如果接入的是另一个DRD,那么这两个DRD

之间就可以HNP协议来随时切换Host角色(图3)。

一次完整的HNP流程是这样的:B设备希望控制总线,成为Host;在A设备发送

了SetFeature命令后,B设备就可以请求控制总线;A设备挂起总线,通知B设备可以控

制总线;B设备发送信号,断开与A设备的连接;A设备改变自身设置;这样A设备就可

以充当外设的角色,放弃对总线的控制权,这时B设备就成为了Host。

4.驱动程序

与PC主机不同,便携式设备没有便捷的方式和足够的空间装载新的驱动程序。因

此,OTG规范要求每个DRD设备有一个支持的外设式OTG目标设备的列表,列表中包括

设备的类型和制造商等信息。USB IF正计划定义“OTG Type”规范。对于符合此规范的

设备,OTG主机只须提供一个驱动程序即可,这将使OTG主机无须为每个设备提供单独

的驱动程序,从而支持尽量多的OTG外设(图4)。

- 4 -

USB OTG技术概述

与PC机不同,OTG两用设备的驱动程序栈是由USB主机栈和USB设备栈构成,

以满足两种工作方式的需要。OTG驱动程序通过连接器的不同或者是否支持NHP交换设

备的工作方式来决定使用USB主机栈还是USB设备栈。当OTG两用设备以主机方式工作

时,USB主机栈工作。其中的主机控制器驱程序负责USB主机栈与硬件端点的数据交换。

当OTG两用设备以从机方式工作时,USB设备栈工作。其中的设备控制器驱动程序负责

USB设备栈与硬件端点的数据交换。

OTG驱动程序负责处理DRD设备的工作方式转换,同时,它还可以返回其结果(如

设备是否支持HNP)并处理总线错误。应用层程序通过OTG驱动程序开始或者结束一个

传输事务,通过USB主机栈或设备栈与硬件层交换数据。

可以说,OTG的确为USB应用带来了新的突破,而目前各数码、外设厂商也纷纷推

出了基于OTG功能的产品。这些产品号称是脱离了PC机的束缚,是数码伴侣的一次革命,

大有OTG可以一统天下的趋势。那么,OTG真的如此美好吗?答案是否定的!

1.传输速度慢

OTG虽然属于USB2.0协议的补充,但它的实际传输速度要比USB2.0的数据传输

速度慢上许多,而且传输过程中数码相机不能拍摄,对传输时的条件要求苛刻。即使使用

最新的OTG2.0版本,1张256MB的存储卡影像传输时间都在5分钟以上,而且要确保

- 5 -

USB OTG技术概述

传输数据的成功,最好是将相机和存储装置平放在桌子上,稍不留神就会造成传输的失败!

但处在野外环境中,试想一下,有谁愿意平端着相机等待5分钟的时间,而且在此期间,

还不能使用数码相机拍摄!

2.兼容性仍须改进

目前支持OTG功能的外设、数码产品已经相当丰富,光是数码相机就有几十个品

牌的产品,近千种型号!OTG作为近两年才开发的一种技术,虽然要求每个DRD设备有

一个支持的外设式OTG目标设备的列表来对OTG设备提供支持,但目前数码产品升级换

代速度极快,同时DRD设备的驱动列表不能像刷新BIOS那样容易升级,因此往往无法支

持新OTG设备,要支持所有OTG设备的难度可想而知!而且即使是一般OTG产品的兼容

性列表标明本产品可以使用在哪些数码相机上,但即使是标明可以适用的数码相机,在实

际使用中也会经常出现死机,或者工作异常,无法传输等问题,因此目前各厂商一般推荐

用户在使用OTG设备时最好使用同一品牌的产品。

当然,通过USB直接管理外围设备的USB OTG已经吸引了越来越多的技术设计者

的注意,但是不同设备间的直接验证成为了非常复杂的问题。一个USB OTG的认证过程

成为了限制以前设备实现USB OTG的障碍,这需要众多的外部设备生产商间的协同与沟

通,同时也需要在未来新的产品中一步到位地加入USB OTG。

3.来自竞争者的压力

此外,虽然USB接口在数码设备中的普及率是最高的,但是USB OTG也并非为实

现数码设备直连的惟一解决方案,比如IEEE 1394有以索尼为首的众多家电厂商的支持,

是不会轻易认输的。

- 6 -

USB OTG技术概述

以上的种种原因阻碍了OTG技术的发展、普及进程。这就是为什么OTG技术在推

出后,至今不能普及的原因。因此目前OTG功能一般体现在在数码伴侣上,只能作为一种

附带功能,毕竟其固有特点在目前是无法将它作为一个主打功能使用的。当然,现在一些

负责任的厂商已经看到了OTG技术本身的优缺点,在推出产品时既考虑了它的优点,也在

避免它所带来弊病……

总的来说,USB OTG规范是USB2.0规范的补充而不是替代品,PC主机和标准外设

并没有被取代。当然,OTG在这些外设间引入了点对点的通信方式,这使得便携式产品的

发展有了更加广阔的空间,只要能迅速地得到广大数码外设制造厂商的支持,USB OTG还

是很有潜力的一项通用标准……

- 7 -


本文标签: 设备外设总线插座方式