越来越多的非PC便携式设备需要扮演USB宿主与USB外设双重角色,为实现这种应用模式,必须将OTG宿主功能嵌入到这些设备中。要达到这个目标,可将USB宿主或OTG IP嵌入至宿主CPU中,或重新设计系统的PCB,并加入USB OTG芯片功能(USB OTG控制芯片或USB OTG桥接芯片)。
如今的移动运算与通讯设备大都配备USB外设连接功能,可与USB宿主(通常为PC)进行通讯。但根据USB规范,两个外设无法直接相互通讯,这也意味着目前大多数USB系统必须配合PC才能使用。值得注意的是USB规范并没有强制性要求使用这种以PC为中心的模式。为突破上述限制,业界制定出USB On the Go(OTG)规范,让两个支持OTG规范的系统能直接进行通讯。OTG是USB 2.0行业规范的补充,它使PDA能将文件直接输出至打印机;MP3随身听能互传文件;可拍照手机能将影像直接送至打印机打印;以及其它众多以往无法进行的应用模式。
鉴于业界需要扩充现有USB设备及其外设的功能,通过针对与USB外设的连接加入宿主功能,USB OTG规范被设计成可增强现有USB设备和USB外设的功能。这将创造出一个“无缝连接的USB设备环境”,使这种最普及的连接技术达到更理想的境界。 
市场趋势显示,越来越多的移动设备兼具USB宿主与USB外设功能,也就是所谓扮演双重角色,以便支持打印与大容量存储的应用。为实现这些应用模式,必须将OTG宿主功能嵌入到非PC的便携式设备中。要达到这个目标,可将USB宿主或OTG IP嵌入至宿主CPU中,或重新设计系统的PCB,并加入USB OTG芯片功能(USB OTG控制芯片或USB OTG桥接芯片)。
除了硬件的变更之外,在便携式USB嵌入式系统中实现USB OTG,还必须考虑软件与功耗的因素。
单芯片USB OTG控制器方案为嵌入式系统与外设提供了一套简单即插式点对点连接方案。这种方案使工程师能专注于系统层次的设计,以及与USB芯片厂商合作专注于宿主CPU的USB接口和USB芯片厂商能提供的软件支持上。
特别有价值的就是USB芯片厂商提供的基于目标操作系统平台的USB软件支持。根据以往的经验,USB软件支持是最耗时费力的研发工作。
USB或USB OTG的软件支持相当复杂,并非所有USB芯片厂商有能力支持全套软件,因为市场上有许多不同的操作系统。不同的移动电话制造商在其手机上使用不同的操作系统,例如Linux、WinCE mobile、VxWorks以及Nucleus等。
要解决支持不同操作系统的难题,其中一种方法就是使用模块化的技术,例如飞利浦的FlexiUSB堆栈。这种堆栈能提供广泛的平台支持,并提供针对各种嵌入式系统的一个类驱动程序的完整库。该库能迅速移植到RTOS以及各种尚未被支持的处理器。这种模块支持全速与高速USB OTG解决方案。在FlexiUSB堆栈中,OTG控制方面的应用编程接口(API)可直接被应用程序层所使用。
以电池供电的便携式嵌入型USB系统,最重要的考虑因素就是降低功耗。在以PC为中心的环境中,PC扮演宿主的角色,能为USB设备与USB外设供电。在内建宿主或OTG功能的双重角色USB便携式设备中,USB设备必须为其USB外设供应8mA的电源。此外,外部电源控制电路的大量功耗问题亦须克服。因此,OTG控制器必须尽可能降低功耗并整合各种关键的省电特性。
市场上具备低功耗与各种省电特性的芯片级解决方案,包括飞利浦的全速USB OTG解决方案ISP1362以及高速USB OTG解决方案ISP1761。这两款USB控制器具有内建的电源管理电路与相关功能,能协助节省和延长电池的寿命。低待机电流以及会话请求协议(SRP)能在USB总线没有作业时关闭Vbus,从而节省耗电,并能让设备启动USB总线的传输作业。
在实现一款单芯片USB OTG控制器时,设计者须考虑接口支持:该接口支持必须与目前市场上大多数宿主CPU兼容。例如,ISP1362与ISP1761具备支持DMA的通用CPU接口,能支持大多数ARM、MIPS以及各种RISC处理器。 |