固件程序按功能可以划分为 USB通信程序、A/D转换程序和 LED显示程序,其中 USB通信程序是整个固件程序的主要部分,其功能是实现 USB设备枚举和数据传输。USB设备枚举是 USB设备插上之后,主机与设备交换信息并自动配置的过程,枚举成功后, USB接口与主机就可以进行通信了。
设备驱动程序是连接设备和主机应用程序的纽带,它向上提供应用程序的访问接口 (API),向下则实现对具体设备的访问和管理功能。驱动程序与设备硬件和上层用户程序密切相关,在 USB体系的中间起到信息转换和传递的中介作用。在开发 USB设备时,设备驱动程序的设计是一个非常重要的环节,直接影响到整个设备系统的性能。
本系统采用 Driverworks开发 WDM型 USB设备驱动程序应用程序的主要功能是在设备驱动程序中查找设备,与设备交换数据,并将设备发送来的数据进行处理和显示。应用程序和驱动程序的通信是通过访问应用程序接口 (API)函数实现的,所以应用程序的开发必须在能访问 API函数的平台上进行。 Microsoft公司提供的visualC++6.0是一种功能强大的支持 API函数的编程工具,本设计的主机应用程序就是以VC为平台进行开发的,其功能主要包括查找 USB设备,与 USB设备交换数据和动态显示数据曲线。
5 总结
本文的创新点在于完成的基于 USB接口和 µC/OS-Ⅱ的数据采集系统,采样频率可达 15KSPS(每秒采样次数),数据传输错误恢复率大于 99%,即插即用、使用方便且具有很低的开发成本,可以为数据采集特别是电池供电移动或手持采集设备提供一种有效的解决方案和方便使用、高效传输的设备形式;其次,而在 PC端引入微软新近的 WDM驱动程序模型,在其基础上开发了数据采集系统的设备驱动程序,可以成功地对设备进行识别、配置,并提供了同设备进行数据交换的应用程序接口,基于这些接口,编制了具有查询设备、与设备交换数据并将数据绘制成动态曲线等功能的 PC端应用程序。