论文部分内容阅读
USB自1994年提出至今已经发展成为PC的标准外设接口。目前MP3播放器、数码相机、PDA、手机等众多手持终端产品都具备USB接口,但在USB的拓扑结构中居于核心地位的是主机(Host),USB的数据传输都发生在主机和从机(Device)之间,任何两个从机之间或是两个主机之间无法直接通信。因此它们只能作为PC外设实现与PC的数据传输,而不能实现它们之间点对点的通信。随着移动终端的普及,不使用 PC,直接在移动终端间进行连接的需求越来越多,USB On-The-Go(USB OTG)的扩展标准正是为了满足这一需求而提出的。USB OTG具有以下特性能使移动终端之间实现互连:
限定主机功能
超小连接器
低功耗特性
USB OTG扩展了便携式设备之间的连通性,限定了主机(Host)功能,在传统的USB外设上增加了主机的功能,适应点对点的连接。OTG设备目前有两种:双角色OTG设备(Dual-BoleDevice)和外设式OTG设备(Peripheral-Only Device)。外设式OTG设备是传统的USB外设。而双角色OTG设备既可作为主机,也可作为外设。作为主机的双角色OTG设备不需要支持所有的USB外设,但当它与PC相连时,就只能作为外设使用。USB OTG与USB标准相比新增了主机流通协议HNP(Host Negotiation Protocol)和事务请求协议SRP(Session Request Protocol)。HNP用于实现主机和从机角色转换,SRP用于从机对事务的请求。
本课题的主要目的是研究如何在嵌入式掌上电脑中实现USB OTG功能。硬件平台是一个以 Intel Xscale PXA255处理器为核心,集成了众多外围电路模块的掌上电脑系统。软件平台是 Microsoft Windows CE.NET 4.2操作系统。USB OTG控制芯片选用的是飞利浦公司的ISP1362。这是一款集成了OTG控制器、主机控制器和外设控制器的控制芯片。该课题主要包含硬件电路设计和驱动软件设计,重点和难点在于驱动软件的设计。USB OTG驱动软件主要分为三部分,主机驱动,从机驱动和OTG驱动。Microsoft Windows CE.NET 4.2操作系统对主机驱动已经有了相应的支持,主要是完成硬件抽象层的设计以及和OTG驱动的接口设计。从机驱动主要实现的是USB存储类设备功能以及和OTG驱动的接口。该软件的重点是OTG驱动的设计,主要包括与主机驱动和从机驱动的接口设计,OTG状态机的实现。
本论文首先对USB协议以及OTG做了简单介绍。然后重点阐述了具体的设计实现,包括硬件和软件的具体实现。