论文部分内容阅读
USB(Universal Serial Bus)接口具有众多优良特性——即插即用,支持热插拔,传输速率高(USB2.0工作在高速模式时理论上传输速率达480Mb/s),配置灵活,扩展性能好(主机可同时支持127个设备端通信);作为一种标准配置接口,被广泛应用于PC机及周边环境。这些特性也正符合了嵌入式系统的设计需要,因而被移植和广泛应用于嵌入式系统设计中,所谓嵌入式系统,是为了满足某些专门领域应用而开发的计算机系统,具有实现功能单一,系统集成度高,占用资源少,软硬件可裁剪等显著特点。如手机,MP3/4,数码相机,各种PC机外围设备等等,不一而尽。在这众多的嵌入式系统产品中,很多都提供有USB接口,一方面可以与PC机通讯,相互传送数据;另一方面这些带USB接口的嵌入式系统之间也可能相互实现通信。从技术层面而言,在这些带USB接口的嵌入式系统的背后,涉及到如何实现一个良好的USB接口。由于不同的嵌入式系统各具特色,而USB接口协议相对又比较复杂,从而使得嵌入式系统USB接口的开发难度加大,加之各种USB接口芯片可供选择,一方面提供了灵活性,但同时也给开发人员带来挑战。
笔者在三年的读研期间,有幸参与了多个USB接口项目的设计工作,并对这些成果进行了认真分析和总结,这篇论文展示了嵌入式系统设备中,实现一个实用的USB接口项目的开发过程。
本论文着重论述了当前使用最为广泛的符合1.1协议的slave模式芯片的开发,这一开发涉及到slave模式芯片的固件编程,同时,某些slave模式的嵌入式系统,可能还需开发专门的USB设备驱动程序;设备驱动的开发必须依据主控机所安装的操作系统,本文以目前应用最为广泛的Windows和Linux操作系统为例,叙述了设备驱动的开发方法。
论文首先对USB协议部分作了简要介绍,包括协议架构、数据流模型、协议层、设备架构和主机架构等内容;USB协议规范详细描述了USB系统的层次结构和通信流模型,也为USB接口的程序设计提供了依据。
接下来论文详细探讨了USB接口的开发技术,在说明USB硬件电路设计规则基础上,重点论述了嵌入式系统中USB接口最关键的两项开发技术—设备端的固件编程和驱动开发。其中固件编程主要描述了USB接口初始化和中断服务程序的设计方法。设备的驱动分WINDOWS的WDM驱动开发和LINUX操作系统模块驱动开发讲述,重点说明驱动开发环境的配置,分析驱动程序结构模型以及驱动设计的一般方法。在此基础上,论文也简述了程序调试相关技术。
最后论文会介绍几个USB项目的开发过程和技术细节,包括如何用CH375主控USB接口芯片设计出读写U盘的模块,如何用uPSD32xx通用USB单片机来开发税控器的USB接口。同时也介绍了程序调试方法和技巧。其中包含着USB接口软硬件设计的具体内容。本论文对USB接口的开发有一定的指导意义,可以帮助工程技术开发人员尽快掌握USB设备的特点,熟悉固件编程规则和设备驱动开发方法。