结 论 32
致 谢 33
参考文献 34
1 绪论
1.1 研究的背景及意义
USB(Universal Serial Bus)是通用串行总线的缩写,因其具有方便易用、高性价比、容错性优越和动态分配带宽等特点,现已成为计算机的主流接口。
随着嵌入式系统的广泛应用,各种小型终端也需要开发出与外界联系的USB接口。目前,常用的技术有两种。第一种是基于单片机的USB接口,特点是需要外置芯片,电路复杂,而且留下的CPU资源不多;第二种是基于ARM的USB接口,特点是资源丰富,但ARM系列产品较多,如果选型不当,还需要搭接较多的外围电路,且不能很好地发挥CPU性能。因为ARM9核芯片内部集成了控制USB的所有部件,外围电路简单,易于实现。论文网
对于数字系统而言,尤其是被广泛应用在工业界的嵌入式系统,进行USB系统的开发和研究是十分必要的。一方面,USB技术作为一种新型的串型通信技术,随着协议版本不断更新,传输的速度已经从1.5Mbps的低速发展到了480Mbps的高速度,这可以在很大程度上满足不同数字系统对串行通信的要求。从另一方面来看,USB技术不同于以往的串行通信接口技术,在实际应用中,可以根据实际需要把数字系统开发成相应的USB主机及USB设备,这在实现不同系统间的数据交互方面有很大的灵活性。
因此,由以上分析可得,对USB技术在数字系统尤其是嵌入式系统中的应用方法进行研究,为USB技术日后的广泛应用奠定了基础,具有十分深远的意义[1]。
1.2 国内外研究现状和发展方向
1.2.1 USB研究现状
1.2.2 嵌入式系统研究现状
1.2.3 国内外研究发展趋势
1.3 研究内容与本文结构
1.3.1 研究内容
(1)掌握并应用基于ARM的嵌入式开发环境;
(2)学习USB基本特性和通信流程;
(3)掌握 USB 设备端控制器的使用和基本通信流程;
(4)编程、调试、初步掌握 USB 设备端控制器驱动程序的开发。
1.3.2 本文结构
第一章绪论,主要介绍USB及嵌入式系统的发展前景及研究意义;第二章介绍有关USB设备驱动的知识,第三章介绍嵌入式系统的概述,第四章介绍此次实验的硬件实现平台,第五章介绍系统实现方法。
2 USB设备驱动简介
USB(Universal Serial Bus)意为通用串行总线。USB是一种快速、同步、双向、低成本、动态可连接的串行接口。USB已经被广泛应用到了各种电子设备上。尤其现在的大多数手持设备几乎都采用了USB接口。如今,USB即可用来连接其他设备后高速传递数据,又可用来充电,使各种手持设备可以作为U盘、MODEM、无线网卡等起作用。
事实上,USB只是作为主机和外围设备直接的连接渠道。而驱动程序能让这种连接发挥作用。驱动程序主要用来解决硬件“需要提供什么功能”、“如何使用这些功能”。USB设备即可以作为主机使用,也可以作为从设备使用。而对应的USB驱动程序主要有两种类型:宿主系统上的驱动程序以及设备上的驱动程序。而以宿主观点来看,宿主系统USB驱动程序控制了插入其中的USB设备,而USB设备的驱动程序则控制这一设备如何作为USB设备与主机通信[4]。文献综述
2.1 USB设备基础
USB设备的构成包括配置接口和端点,以及USB驱动程序如何绑定到USB接口上。端点是USB通信最基本的形式,USB端点只能是往一个方向传送数据,即从主机到设备(称之为输出端点)或者从设备到主机(称之为输入端点),因此可以看作是单向管道。USB有四种不同的类型,分别对应不同的传输类型:控制、中断、批量、等时。其次接口,USB端点被绑定了即为接口。USB的一个接口只能处理一种USB的逻辑连接;一个USB设备可以有很多个接口,不同的接口可以代表不同的功能,因此,功能不同的USB接口需要不同的驱动程序来驱动。另外就是配置,USB接口本身被绑定为配置。一个USB设备可以有多个配置,而且可以在配置之间切换以改变设备的状态;一个时刻只能激活一个配置,但是一个配置通常有一个或者更多的接口。