段晋军,位恒曦,常晓明
(太原理工大学 计算机科学与技术学院,山西 太原030024)
随着当今电子技术的发展,人们对数据通信速度和操作安装的简易性等方面的要求日益提高,使得数据通信技术不可避免地成为一项关键技术。USB是一种通用串行总线,其发展速度非常迅猛,USB协议已由传输速度为12 Mb/s的USB1.1发展到传输速度支持低速、全速、高速和超高速的USB3.0,最大传输速度高达5 Gb/s。USB总线技术由于数据传输速度高、使用方便和能够连接多达127个外设,因此其在数据通信中的应用越来越广泛。
Windows平台下传统的USB应用系统的开发步骤是:先用Windows DDK或第三方开发工具开发USB驱动程序,然后用Visual C++开发应用程序。若让不熟悉Windows编程的开发者用传统方法开发USB驱动程序和应用程序,将会非常困难[1]。因此,本文介绍了一种难度较低的USB应用系统实现方案,即在LabVIEW环境下基于NI-VISA实现PC与C8051F320单片机的USB通信系统。
本系统选用具有USB接口的C8051F320-TBC开发板实现数据的双向通信。该设计完成两项任务:(1)采集单片机上温度传感器的数据,通过USB上传至PC;(2)PC通过USB发送指令至单片机,控制单片机执行相应的动作。
本系统的硬件平台结构如图1所示。

图1 硬件平台结构图
本系统的软件平台设计包括单片机端的固件(Firmware)程序设计、PC端的驱动程序设计和PC端的应用程序设计3方面。
单片机端固件程序的任务是处理来自USB主机端的标准请求和完成与USB主机的数据交换;PC端的驱动程序作为 USB主机(PC)和 USB从机(单片机)的桥梁,其主要任务是让USB主机可以识别USB设备,并将硬件本身的功能告诉USB主机;……