USB系统设计和实现 计算机科学与技术专业.pdf
第1章绪论
1.1USB简介
USB是由世界著名计算机和通信公司等共同推出的新一代接口标准,全
称为UniversalSerialBus通(串行总线)⑴,是一种快速、灵活的总线接口。
它是为了解决日益增加的PC外设与有限的主板插槽和端口之间的矛盾而制
定的一种串行通信标准。USB应十分广泛,并具有下述优点:
1、适于多种外设,使它不需要为不同的外设准备不同的接口和协议;
2、Windows能自动检测到USB设备的热插拔,并自动配置;
3、PC机上的接口线非常紧缺,而USD设备并不需要户设置端口故无
论从户使方便性,或从对资源的占方面看,USB都很优秀;
4、当接入一个USB设备时,全速USB接口可达12Mbit/So考虑到状态、
控制和出错信息,最大理论速度仍可达到9.6Mbit/s,这是其他串行接口协议
所不能比拟的,且USB也支持1.Mbit/s的低速传输。
、USB接口芯片价格低廉,这也大大促进USB设备的开发与应。
在USB出现之前,计算机典型接口有并行口、串行口、鼠标口、键盘口、
显示器口,及各种卡式接口等,与这些接口对应的有各种不同的电缆,在传
输速度方面,这些接口都存在速度偏低的问题。在技术方面,这种设计容易
产生I/O冲突,中断不够,以及对于每一种新的外设都必须设计新的接口
卡等缺点。当今的计算机外部设备,都在追求高速度和高通性。USB接口
适应了这种要求,并以其速度快、使方便、成本低等优点,迅速得到了众
多PC厂商和半导体厂商的大力支持,外设向USB过度成为必然趋势。
1.2USB驱动程序的意义
如果PC主机不知道如何与USB外设通信,那么这个USB外设一点
处都没有,人机接口设备H(ID)⑵类是Windows完全支持的USB设备类型
中的一种,应程序可以使操作系统内设置的驱动与HID通信,但与HID
通信不像打开一个端口,设定几个参数,然后就可以读写数据那么简单,在
应用程序能与HID交换数据之前,它先要找到设备,获取有关它的报信息。
为做到这些,应用程序必须通过访问通信API函数,使位于上层的应用程序
与位于下层的设备驱动程序进行数据交换。应用程序可以使用任何能访问
API函数的程序语言,VC++是一种能访问API函数的功能强大的语言,因此,
我们应用VisualC++6.0环境下编写与USB设备通信的Windows程序。
1.3VC++软件的介绍
应用基于MFCAppWizard的应用程序。MFC(MicrosoftFoundationClass
Library)中的各种类结合远来构成了一个应用程序框架,它的目的就是在此
基础上来建立Windows下的应用程序,这是一种相对SDK来说更为简单的
方法。因为总体上,MFC框架定义了应用程序的轮廓,并提供了用户接口的
标准实现方法,要做的就是通过预定义的接口把具体应用程序特有的东西填
入这个轮廓。MicrosoftVisualC++提供了相应的工具来完成这个工作:
AppWizard可以用来生成初步的框架文件(代码和资源等);资源编辑器用于
帮助直观地设计用户接口;ClassWizard用来协助添加代码到框架文件;最后,
编译,则通过类库实现了应用程序特定的逻辑。
1.4系统方案设计
上位机界面应用VC++6.0软件来编写,为了简单适用,在创建工程时采
用对话框类型。一个好的应用程序首先要有好的用户界面,看起来赏心悦目,
使用起来简单、方便。显示界面上的各个元