本文介绍了一种基于通用串行总线USB(Universal Serial Bus)数据采集系统设计。
随着用户对数据采集系统要求的不断提高,USB接口以其简单易用、速度快而被广大
用户所接受。本所阐述的数据采集系统采用了集成了微处理器的USB接口芯片
PDIUSBDI2来完成采样控制并与PC机应用程序完成系统通信功能。由应用程序完成
用户命令及数据的显示。该系统采用USB总线取代传统的数据采集总线,通过对USB
协议和设备构架的理解,对数据采集系统进行了硬件设计和软件设计。硬件设计主要解
决了控制器与主机通信问题,数据采样、模拟输出、I/O扩展等电路设计以及它们之间的
接口。软件编程主要分为三部分:一是为满足获得最大传输速率和运行效率的固件程序
编程;二是为用户提供的以动态链接库形式封装的功能函数;三是提供演示和测试的
控制面板程序,并为系统提供了两个应用实例。除此之外,还介绍了设备驱动程
序的开发,并在文章结尾对USB的应用前景进行了探索。
目录
第一章绪论5
1.1课题背景5
1.2课题的提出5
1.3 USB串行总线优势6
1.4本课题研究的内容和意义7
第二章USB概要设计9
2.1 USB传输要件9
2.2事务、信息包和联络信号9
2.3 USB的传输结构10
2.4 USB总线枚举过程13
2.5 USB的设备描述符14
2.6 USB请求15
第三章数据采集系统的硬件设计17
3.1硬件系统的结构17
3.2芯片选择17
3.2.1 ADC0809 18
3.2.2 AT89C51 20
3.2.3 PDIUSBD12 21
3.3接口硬件电路设计24
3.3.1 A/D与单片机接口电路25
3.3.2 PDIUSBDI2与单片机接口电路25
第四章数据采集系统软件设计27
4.1 A/D转换时序控制27
4.2固件的开发27
4.3采用PDIUSBD12的固件设计28
4.3.1驱动的开发工具28
4.3.2 PDIUSBD12固件程序的编写29
4.4固件结构30
4.5固件的编程实现32
4.5.1底层函数32
4.5.2命令接口32
4.5.3中断服务程序ISR.C 34
4.5.4主循环MAINLOOP.C 36
第五章USB设备驱动及应用程序设计40
5.1 USB设备驱动程序40
5.2 USB设备应用程序设计46
第六章结论49
参考文献50
附录51
本次设计的数据采集系统是在单片机AT89C51控制下进行数据采集,并通过PHILIPS公司的USB接口芯片PDIUSBDI2上传给PC机进行分析、显示和存盘。该系统用传统的USB总线取代了RS232串行总线,通过对USB协议和设备构架的充分理解,对以单片机89C51和USB接口芯片D12为主的数据采集系统进行了硬件设计和软件编程,并在此设计的基础上给出相应的原理图。硬件设计主要解决的是D12与单片机的接口电路的设计。软件设计可分为三部分:一是充分了解D12的主要功能特点,为满足D12在USB上的最大传输速率而编写固件程序,用C51语言编写:二是了解USB的设备驱动程序与应用。
1.1课题背景
现代工业生产和科学研究对数据采集的要求日益普遍,在瞬态信号测量、图像处理等一些测量中,都需要进行数据采集。现在通用的数据采集卡一般多是利用微机机箱内的PCI插槽或ISA插槽进行扩展。通过数据采集系统,可以简洁、通用化的硬件配合以相应的软件实现以往专用测试仪器的功能;完成“软件既仪器”的理念.
信息技术与电子技术的迅猛发展,使得计算机和外围设备也得到飞速发展和应用。过去人们单纯追求计算机与外设之间的传输速度,现在纠错能力和操作安装的简易性也成为人们关注的目标。USB通讯技术的出现,使高传输速度、强纠错能力、易扩展性、方便的即插即用,有机的结合在一起。USB设备需要依据USB协议进行数据的解包与打包,底层硬件设备与操作系统之间需要以驱动程序为桥梁。驱动程序以WDM为模型,以DDK为开发工具,以IRP为消息传播载体,来实现与Windows系统底层核心机制相交互的功能。
1.2课题的提出
对于数据采集系统而言有两个关键性问题:一是控制A/D转换和数据传输的控制器,一是采集系统与上位机PC的传输方式。其中控制器一般采用通用的单片机,包括4位、8位、16位以至32位的各类单片机;这些单片机芯片优势在于价格低廉、结构简单、接口扩展能力强等,但是其数字运算能力较差,所以目前出现了许多以DSP芯片作为数据采集系统控制器的数据采集系统。本课题为简化开发难度,充分利用现有的工作环境采用较常用的AT89C52单片机作为系统控制器。
对于数据采集系统与上位机的通讯方式,现行的常用方式是利用PC机箱内的PCI, ISA插槽进行扩展:其传输速度分别为132M/S. 16M/S、但是由于PC机接口资源有限,且需要对接口卡硬件资源进行合理配置,故其存在以下缺点:安装麻烦;价格昂贵;受计算机插槽数量、地址、中断资源限制,可扩展性差;在一些电磁干扰性强的测试现场,无法专门对其做电磁屏蔽,易导致采集的数据失真。
本课题旨在使用新型的通用串行总线USB完成数据采集系统的构架,充分发挥USB总线接口简洁、使用方便的优势;并为后续的使用USB总线对实验室
现有的“频率特性测试系统”改进作前期准备工作。课题主要完成四个方面的工作:数据采集系统硬件设计、固件设计、应用程序及WDM设备驱动程序设计。使用到的软件工具包括Prote199,K eilC 51,M icrosoftV isualSt udio6 .0,W in2000DDK:使用到的硬件工具包括单片机写入器、万用表、示波器等等。采用的操作系统平台为Windows 200。
1.3 USB串行总线优势
通用串行总线USB( UniversalS erialB us)是1995年康柏、微软、IBM,D EC等公司为解决传统总线不足而推广的一种新型的通信标准。该总线接口具有安装方便、高带宽、易于扩展等优点,已逐渐成为现代数据传输的发展趋势。基于USB的高速数据采集卡充分利用USB总线的上述优点,有效解决了传统数据采集卡的缺陷。
USB从传统I/O模式的栓桔中解放出来,开辟了一条外设同PC机连接的方法。与其他的老式PC机接口相比,USB具有如下优点:
1.热插拔:用户可以把USB外设连接到一台正在运行的PC机上,操作系统能自动识别,并且用户可以立即使用,而不需要重新启动。用户也可以在任何时候断开USB设备,而不管计算机是否正在运行,这都不会损坏计算机。
2.即插即用:USB实现了自动配置,它不需要用户手动配置I/O地址和中断请求(URQ)。当USB外设接入PC时,操作系统会自动检测到这个连接。并加载适合的驱动程序。对用户来说,只需要等待几秒钟,USB外设的安装就会完成。
3.共享式接口:USB端口支持多个外设的连接,通过USB集线器,一个USB主控制器可以连接多达126个外设。
4.接口体积小巧:和其它老式的PC接口相比,USB接口小且薄,更适合于外设体积的小型化。
5.使用灵活:USB支持三种类型的传输速率,1.5Mb/s的低速传输、12Mb/s的全速传输和480Mb/s的高速传输。USB支持四种传输类型,块传输、同步传输、中断传输和控制传输。这使得USB总线适合多种外设的传输需要。
6.提供电源:USB电缆向外设提供一根+5V的电源线,电流的大小取决于集线器端口。用户可以直接使用这个总线电源。
当然,USB总线还存在许多缺陷,比如USB2.0所支持的480Mb/s速率不及IEEE-1394的六分之一;USB总线传输距离有限;USB总线协议复杂等。但随着操作系统、硬件厂商对USB的进一步支持,其在PC外设方面的将大有可为。