论文部分内容阅读
通用串行总线 (USB)具有热插拔、即插即用、数据传输可靠、扩展方便、低成本等优点,是当前计算机必备的接口之一,同时也被广泛地应用于嵌入式系统设计中,但在USB的拓扑结构中居于核心地位的是PC,USB设备只能作为PC外设实现与PC的数据传输,而不能实现它们之间点对点的通信。随着移动终端的普及,不使用PC,直接在移动终端间进行连接的需求越来越多,USB On-The-Go (USB OTG)的扩展标准正是为了满足这一需求而提出的,OTG技术实现了在没有PC的情况下从设备间的数据传送,在移动终端上实现这一技术则能使移动终端的数据传输脱离PC的束缚。
本课题的主要目的是研究如何在手持嵌入式终端上实现USB OTG功能。课题硬件平台以Intel XscalePXA255处理器为核心,并集成了众多周边模块,软件平台采用Linux 2.4.19,控制芯片选用飞利浦公司的ISP1362这样一款集成了OTG控制器、主机控制器和外设控制器的USB控制芯片。在对USB协议进行分析的基础上,本文给出了硬件电路设计和驱动软件设计。USB OTG驱动软件主要分为四部分:硬件访问层,主机驱动,从机驱动和OTG驱动。主机驱动包括主机控制器驱动、USB系统驱动、支持Mass Storage协议的设备类驱动,实现系统与 USB 大存储设备的通信。从机驱动包括设备控制器驱动,协议驱动,MassStorage类设备驱动,实现系统与PC的通信。OTG驱动主要是OTG状态机的实现。
论文所设计的系统已经能够在以Intel Xscale PXA255处理器和 ISP1362 控制芯片为硬件平台、Linux2.4.19操作系统为软件平台的系统中稳定运行,能够以多种指定的存储设备类型与PC进行正常通讯,同时能作为USB主机和USB存储类设备进行正常通讯。