1.目的通用串行总线(USB)是一种新兴的计算机外围串行通信接口标准,与常用的计算机接口(如串口、并口等)相比,通用串行总线(UniversalSerialBus,USB)具有热插拔、即插即用、数据传输可靠、扩展方便、低成本等优点。从问世以来,它得到了广泛的应用,一方面已成为当前计算机必备的接口之一,同时也被广泛地应用于嵌入式系统设计中。从1994年USB0.7出现开始,USB实施者论坛(ImplementationForum)先后定义了USB0.8、0.9、1.0、1.1、2.0以及USBOTG等规范,以及各种不同的设备类规范。其中USB1.1规范目前正逐步广泛应用,而USB2.0和USBOTG作为USB协议的更新和扩展,也将使USB占领更广的外设接口领域。其中:●USB1.x规范支持1.5Mb/s和12Mb/s不同的传输速度。●USB2.0规范中新添加了480Mb/s的高速数据传输。●USBOTG规范是为了适应点对点通信对接口的需求而对USB2.0规范的补充。USB的出现和发展要求研究外设接口的工程技术人员了解USB协议和软硬件实现,鉴于此,本书的目的就是从协议和软硬件实现两方面对USB进行了系统的介绍,以求帮助广大读者更好地学习和了解USB。2.内容本书共由14章组成,第1章介绍了USB系统的发展历史、基本结构、实际应用以及和其他主要接口的比较等内容。从第2章到第6章系统地分析了USB1.1规范的组成结构、机械/电气特性、通信原理,并分别介绍了USB主机、USB集线器和USB设备的结构和功能特性。第8章介绍了USB的软硬件开发的过程,包括主机和设备开发两部分。当前市场上有很多关于USB硬件器件的生产厂商,如Philips、ScanLogic、Cypress等,和支持USB系统软件厂商,如Windows、Linux、VxWorks等。本书利用第9章和第10章的篇幅,以ScanLogic公司的SL811HS器件和Philips公司的PDIUSBDll器件为例介绍了USB主机和USB设备的设计开发和测试过程。在第11章,作者对Linux下USB子系统结构作了较为详细的分析,包括USB内核、HCD和客户端驱动程序的结构和功能,希望读者能借此进一步深入了解USB系统结构和工作过程。为了适应高速数据传输和点对点设备数据传输的需求,USB2.0规范和USBOTG规范在基于USB1.1规范的基础上添加了新的软硬件特性,本书在第12章和第14章分别对USB2.0规范和USBOTG规范作了详细的介绍。当前关于USB主机控制器存在由各大器件生产厂商联合指定的HC规范(UHCI、OHCI和EHCl)。其中UHCI和OHCI为支持USB1.1规范的HC规范,而EHCI为支持USB2.0规范的HC规范。本书在第7章和第13章分别对UHCI/OHCI规范和EHCI规范作了介绍。除了基本的USBl.x、USB2.0和USBOTG规范外,USB-IF根据不同的应用领域定义USB设备类规范,如HID(HumanInterfaceDevice)设备类规范、大容量存储设备(MassStorageDevice)类规范、打印机设备类规范、音频(Audio)设备类规范等。USB设备类规范根据设备特性定义了相关的设备描述、控制以及数据传输等特性。USB设备类规范的定义为USB设备的即插即用特性奠定了基础。关于USB设备类规范,本书对USB设备类的设计思想做了分析并介绍了集线器类(第5章)、打印机类(第11章11.5.2节)和HID类(附录A),对其他设备类没有进行详细的介绍,感兴趣的读者可参考相关规范。3.读者本书是在我们工作实践的基础上编写完成的,它既可作为USB初学者了解USB规范的指导,又可为工程技术人员开发USB的软硬件产品提供参考。了解协议可参考第1-6章(USB1.1)、第12章(USB2.0)和第14章(USBOTG);研究USB软硬件设计,除了解前面的规范外还要了解USB的软硬件的设计和实现(其他章节)。4.感谢本书主要由Motorola(中国)电子有限公司软件工程师肖踞雄和翁铁成共同执笔完成,作者长期从事单片机与嵌入式系统的软硬件开发和USB主机端协议栈及USB设备驱动程序软件的相关工作。宋中庆、高建伟和吴娜参与了主要部分的编写工作。承蒙摩托罗拉软件中心李新先生详细地审阅全稿,并提出了许多有益的建议;清华大学出版社第三事业部王景先先生对本书的编写和出版提出许多宝贵意见:许多同行和专家也给予了很多良好的建议和启发,在此,一并深表谢意。另外,感谢作者各自的家人,在工作紧张的时候对我们的帮助和支持。USB是一种新兴的技术,发展迅速,我们在编写的过程中尽可能力求概念的准确和完整,但由于时间仓促和水平有限,必有许多不足之处,敬请同行、读者批评指正。由于时间和商业保密的关系,作者对一些有价值的工作未能完全反映在书中表示歉意。作者2003年9月