基于 VC 的 USB 接口通信程序设计
0 引言
随着信息技术的迅速发展,数据采集和处理技术广泛应用于雷达、通信、遥测、遥感等
领域。而在早期的计算机系统上通常使用串口或并口来发送数据,每个接口都需要占用计算
机内部很多的资源,传统的接口一般采用 PCI 总线或 RS-232 串行总线。PCI 总线有较高的
传输速率,可达 132 Mbit/s,也可以即插即用,但是它们的扩充槽有限且插拔不方便;RS-23
2 串行总线连接比较方便,但是传输速率太慢,不易用于高速传送数据和传送大量数据。USB
(通用串行总线)集中了 PCI 和 RS-232 串行总线的优点,具有方便的即插即用和热插拔特性
以及较高的传输速率,因此,将 USB 技术应用于数据采集是非常合适的,可以达到数据采
集系统的高速度处理。目前,USB 已经推出了其协议的 2.0 版本,速率高达 480 Mbit/s。
本文研发了一套基于 USB 接口的数据采集系统,整个系统的设计涉及到硬件、设备固
件(Firmware)、USB 设备驱动程序及客户应用软件。下面分别加以说明。
1 USB 接口芯片
本文介绍的 USB 数据采集系统采用了 Cypress 公司 EZ-USB FX2 系列的 CY7C68013
-128AC 芯片,它同时集成了 8051 微控制器和 USB2.0 收发器,在提高集成度的同时也加
快了数据传输的速度。在系统中,CY7C68013-128AC 既是数据采集控制器又是 USB 控制
器,EZ-USB FX2 系列有 3 种型号:CY7C68013-56PVC、CY7C68013-100AC、CY7C68013-
128AC。该系列的芯片都是针对 USB2.0 的,并且与 USB1.1 兼容。其中,CY7C68013-128A
C 是 128 脚,TPQF 封装,功能非常完善,与另外两种相比,主要是增加了 16 位地址总线
和 8 位数据总线以及更多的 IO 口,因此,CY7C68013-128AC 的可扩展性最好。图 1 是该
芯片的内部结构图。
2 USB 的固件和驱动程序设计
2.1 固件
固件是储存在程序内存中的代码,它使得 USB 接口芯片与主机和外设中其他电路能够
通信。Cypress 公司给出了一个固件库和固件框架(Frame Works),均是用 Keil C51 开发的。
固件库提供了一些常量、数据结构、宏、函数来简化用户对芯片的使用;固件框架实现了初
始化芯片、处理 USB 标准设备请求以及挂起状态下的电源管理等功能。该框架不添加任何