前 言
技术的发展永无止境。
当技术人员还沉湎于RS-232及打印机并口接口设计时,一种新的接口标准已经迅速发展成熟,这就是USB。随着USB的出现,一场老式接口的淘汰运动已经拉开了序幕。
USB(Universal Serial Bus,通用串行总线)是用来连接外围设备与计算机的新式接口,每一台新式的PC都至少有两个USB连接端口。标准的外围设备(例如鼠标、键盘、调制解调器、外部磁盘驱动器以及游戏控制设备等)都已经改用USB接口来连接到PC。USB的接头与连接端口不但体积小,而且可以利用集线器(Hub)让多个USB设备同时连接到一个连接端口。
安装USB设备不需要用户自己设置硬件与软件的选项,您可以在计算机运行时任意连接或是移除设备,操作系统会自动侦测有无USB设备的连接。Windows操作系统包含了标准外围设备的USB驱动程序,并且提供API函数让用户与设备通信。
USB设备可以使用4种传输类型和3种传输速度。USB的传输类型包括控制、中断、批量与等时。USB的传输速度包括低速、中速和高速。低速最快每秒可以传输1.5Mbits的数据,中速最快每秒可以传输12Mbits的数据,高速最快每秒可以传输480Mbits的数据。
要设计USB设备的硬件与软件,需要了解USB的工作原理以及PC机的操作系统如何与USB设备通信。除此之外,选择适合的USB芯片与工具有助于简化设计工作。在本书中除了介绍USB的基本原理外,也介绍USB芯片与工具,并且以实际的范例程序代码,来帮助读者快速进入USB设计领域。
本书共分成15章:
第1章“USB简介”介绍USB的发展史、优点与缺点以及与其他接口(例如 RS-232,IEEE-1394等)的比较。另外,还介绍建立USB接口所需的PC与外围设备的软硬件规格,如何下载USB的规范与工具软件等。
第2章“USB传输”介绍USB的4种传输类型,以及各种传输类型的结构、数据格式、传输速度和适用的设备种类。
第3章“检测设备”介绍Windows操作系统在USB设备连接时,如何自动检测设备以了解设备的功能。Windows传送各种请求给设备,设备则是依据请求的种类来响应。
第4章“控制传输”介绍USB最基本的传输类型。每一个USB设备都必须支持控制传输,控制传输可以让PC设置USB设备的配置,或是用来交换数据。控制传输包含3个阶段:设置、数据与状态。每个阶段会传送3种信息包:令牌、数据与联络。该章还介绍USB的标准请求、设备类别的请求以及厂商自定义的请求。
第5章“USB控制器芯片”介绍USB控制器的内部组成组件及其结构。通过几个较受欢迎的USB芯片来做实际的解说。
第6章“Cypress enCoRe控制器芯片”以Cypress公司所出品的enCoRe系列芯片为范例,介绍此芯片的内部结构与电路。书中使用汇编语言来示范程序设计的实例,并介绍辅助设计用的硬件与软件工具。
第7章“驱动程序”介绍Windows操作系统的驱动程序模型,撰写客户化的驱动程序所需的注意事项和辅助工具软件。Windows操作系统使用.inf文件来建立USB设备与驱动程序的信息,该章介绍.inf文件的格式与使用技巧。
第8章“设备类别”介绍设备类别的定义。USB设备可以归类成各种设备类别,例如键盘、鼠标与游戏杆等属于人机接口设备(Human Interface Device,HID)类别。非标准类型的设备也可以改用USB接口来连接到PC。
第9章“设备测试”介绍USB设备的测试工具、测试仪器与测试的规范。当USB设备通过测试后,就可以挂上USB所认可的标志。
第10章“电源管理与信号编码”介绍USB设备(包括集线器)使用电源的方式。USB设备可以通过总线来取得电源,也可以自己提供电源。在数据传输的过程中,总线会改变成各种状态。当设备不用时,会自动进入节能状态。该章还详细介绍了USB的数据传输使用的编码格式。
第11章“电路接口”介绍USB设备的电路接口,以及USB电缆与连接器的规格。USB缆线使用双绞线来减少噪声的干扰。
第12章“集线器”介绍集线器的内部构造及其功能。集线器可以让多个USB设备同时连接到PC机上。该章还介绍集线器的描述符与请求。
第13章“HID设备”介绍HID设备的软硬件要求、描述符以及特定请求。HID设备使用报表来传输数据。该章详尽介绍报表的格式与内容。
第14章“HID程序设计”介绍Windows操作系统用来与HID设备通信的API函数。书中同时用Visual C++与Visual Basic程序代码做范例,来显示API函数的实际应用。
第15章“HID设备开发实例”带领技术人员进入开发实景。通过对电路连接、主机应用程序、固件汇编程序、固件C语言程序的全方位展示,进行实际开发前的预演。与前面各章的内容相比,此章的软件内容比较丰富,对于正确理解前面的各种基础概念具有实际的辅助作用(此章为第2版新增内容)。
附录“USB参考资料”介绍USB的规范与工具软件、USB芯片相关厂商的网址资料。
本书第1版承蒙读者厚爱获得了多次重印的机会。在收到的许多读者反馈中,包含了大量中肯的意见,第2版针对这些意见,对若干术语进行了订正,并对第1章、第2章的部分内容以及其他各章进行了重新整理和编辑,此外,还增加了第15章,以纠正第1版中实例不足的缺憾。
II
USB 2.0硬件设计(第2版)
III
前言