2022年2022年基于USB总线数据采集系统设计与实现 2.pdf
《2022年2022年基于USB总线数据采集系统设计与实现 2.pdf》由会员分享,可在线阅读,更多相关《2022年2022年基于USB总线数据采集系统设计与实现 2.pdf(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、I目录第一章 绪论.51.1 课题背景 .51.2 课题的提出 .51.3 USB串行总线优势 . 61.4 本课题研究的内容和意义. 7第二章USB概要设计. 92.1 USB传输要件 .92.2 事务、信息包和联络信号. 92.3 USB的传输结构 . 102.4 USB总线枚举过程 . 132.5 USB的设备描述符 . 142.6 USB请求.15第三章数据采集系统的硬件设计. 173.1 硬件系统的结构 . 173.2 芯片选择 .173.2.1ADC0809.183.2.2AT89C51. 203.2.3PDIUSBD12.213.3 接口硬件电路设计 . 243.3.1A/D 与
2、单片机接口电路 . 253.3.2PDIUSBDI2 与单片机接口电路 .25第四章数据采集系统软件设计.274.1 A/D转换时序控制 . 274.2 固件的开发 .274.3 采用PDIUSBD12的固件设计 .284.3.1 驱动的开发工具 . 284.3.2PDIUSBD12固件程序的编写 .294.4 固件结构 .304.5 固件的编程实现 . 324.5.1 底层函数 .324.5.2 命令接口 .324.5.3 中断服务程序 ISR.C. 344.5.4 主循环 MAINLOOP.C. 36第五章USB设备驱动及应用程序设计. 405.1 USB设备驱动程序 . 405.2USB
3、设备应用程序设计 . 46名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 23 页 - - - - - - - - - II第六章 结 论.49参考文献.50附录.51名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 23 页 - - - - - - - - - 基于 USB总线的数据采集系统设计摘要:本文介绍了一种基于通用串行总线USB(Univer
4、sal Serial Bus)的数据采集系统设计。随着用户对数据采集系统要求的不断提高,USB接口以其简单易用、速度快而被广大用户所接受。本论文所阐述的数据采集系统采用了集成了微处理器的USB接口芯片 PDIUSBDI2 来完成采样控制并与PC机应用程序完成系统通信功能,由应用程序完成用户命令及数据的显示。该系统采用USB总线取代传统的数据采集总线 ,通过对 USB协议和设备构架的理解,对数据采集系统进行了硬件设计和软件设计。硬件设计主要解决了控制器与主机通信问题,数据采样、 模拟输出、I/O扩展等电路设计以及它们之间的接口。软件编程主要分为三部分:一是为满足获得最大传输速率和运行效率的固件程
5、序编程;二是为用户提供的以动态链接库形式封装的功能函数;三是提供演示和测试的控制面板程序,并为系统提供了两个应用实例。除此之外,论文还介绍了设备驱动程序的开发,并在文章结尾对USB的应用前景进行了探索。关键词 :USB总线;单片机;数据采集;固件;Windows 驱动程序模型;设备驱动程序USB bus-based data acquisition system design andimplementationAbstract:This paperdescribesthe designof a dataacquisition systembasedon USB. With theadvance
6、of the clients requirement on data collection of a system,as a late-model interfacetechnology,USB is well acceptedby vast clients becauseof its simplicity andhigh speed.Thesystem using the USB interface chip with on-chip microprocessorPDIUSBDI2controls thedata acquisition processand communicates wit
7、h the computer. Through the man-machineinterface clientscan sendcommendanddatacanbeprinted. With good understandingof USBprotocol and device truss, the system is design by using USB instead of other buses.Thehardware design includes the communication betweenthe controller and computer, the dataacqui
8、sition part, analog output, I/O extension and the interface between them. The softwareprogram mainly includes the firmware code in the controller, functions for clients with DLLencapsulationand the control panel design.Also the device driver development is introducedandtheforeground of USB applicati
9、on is explored atthe end.KEY WORDS:USB bus;datacollection;MCU;fireware;WDM ;device drive program名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 23 页 - - - - - - - - - 第 1 页 共 56 页第一章绪论本次毕业设计的数据采集系统是在单片机AT89C51 控制下进行数据采集,并通过PHILIPS 公司的 USB 接口芯片 PDIUSBDI2 上传给 PC 机
10、进行分析、显示和存盘。该系统用传统的 USB总线取代了 RS232串行总线,通过对 USB 协议和设备构架的充分理解,对以单片机 89C51和 USB 接口芯片 D12 为主的数据采集系统进行了硬件设计和软件编程,并在此设计的基础上给出相应的原理图。硬件设计主要解决的是D12 与单片机的接口电路的设计。软件设计可分为三部分:一是充分了解D12 的主要功能特点,为满足D12 在 USB 上的最大传输速率而编写固件程序,用C51 语言编写:二是了解 USB 的设备驱动程序与应用。1.1 课题背景现代工业生产和科学研究对数据采集的要求日益普遍,在瞬态信号测量、图像处理等一些测量中,都需要进行数据采集
11、。现在通用的数据采集卡一般多是利用微机机箱内的PCI插槽或 ISA插槽进行扩展。 通过数据采集系统,可以简洁、 通用化的硬件配合以相应的软件实现以往专用测试仪器的功能;完成“ 软件既仪器 ” 的理念 .信息技术与电子技术的迅猛发展,使得计算机和外围设备也得到飞速发展和应用。过去人们单纯追求计算机与外设之间的传输速度,现在纠错能力和操作安装的简易性也成为人们关注的目标。 USB通讯技术的出现,使高传输速度、强纠错能力、易扩展性、方便的即插即用,有机的结合在一起。USB设备需要依据 USB协议进行数据的解包与打包,底层硬件设备与操作系统之间需要以驱动程序为桥梁。驱动程序以WDM 为模型,以DDK
12、为开发工具,以 IRP为消息传播载体,来实现与Windows系统底层核心机制相交互的功能。1.2 课题的提出对于数据采集系统而言有两个关键性问题:一是控制 A/D转换和数据传输的控制器,一是采集系统与上位机 PC的传输方式。 其中控制器一般采用通用的单片机,包括4位、8位、16位以至 32位的各类单片机 ;这些单片机芯片优势在于价格低廉、结构简单、 接口扩展能力强等,但是其数字运算能力较差,所以目前出现了许多以DSP芯片作为数据采集系统控制器的数据采集系统。本课题为简化开发难度,充分利用现有的工作环境采用较常用的 AT89C52单片机作为系统控制器。对于数据采集系统与上位机的通讯方式,现行的常
13、用方式是利用PC机箱内的 PCI,ISA插槽进行扩展 :其传输速度分别为 132M/S. 16M/S、但是由于 PC机接口资源有限,且需要对接口卡硬件资源进行合理配置,故其存在以下缺点:安装麻烦 ;价格昂贵 ;受计算机名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 23 页 - - - - - - - - - 第 2 页 共 56 页插槽数量、地址、 中断资源限制, 可扩展性差 ;在一些电磁干扰性强的测试现场,无法专门对其做电磁屏蔽,易导致采集的数据失真。本课题旨在使用新
14、型的通用串行总线USB完成数据采集系统的构架,充分发挥USB总线接口简洁、使用方便的优势;并为后续的使用 USB总线对实验室现有的 “ 频率特性测试系统 ” 改进作前期准备工作。课题主要完成四个方面的工作:数据采集系统硬件设计、固件设计、应用程序及WDM 设备驱动程序设计。使用到的软件工具包括 Prote199,K eilC 51,M icrosoftV isualSt udio6 .0,W in2000DDK: 使用到的硬件工具包括单片机写入器、万用表、示波器等等。采用的操作系统平台为Windows 200。1.3 USB串行总线优势通用串行总线 USB( UniversalS erialB
15、 us)是1995年康柏、微软、 IBM,D EC等公司为解决传统总线不足而推广的一种新型的通信标准。该总线接口具有安装方便、高带宽、易于扩展等优点,已逐渐成为现代数据传输的发展趋势。基于USB的高速数据采集卡充分利用 USB总线的上述优点,有效解决了传统数据采集卡的缺陷。USB从传统 I/O模式的栓桔中解放出来,开辟了一条外设同PC机连接的方法。与其他的老式 PC机接口相比, USB具有如下优点:1. 热插拔 :用户可以把 USB外设连接到一台正在运行的PC机上,操作系统能自动识别,并且用户可以立即使用, 而不需要重新启动。 用户也可以在任何时候断开USB设备,而不管计算机是否正在运行,这都
16、不会损坏计算机。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支持四种传输
17、类型,块传输、同步传输、中断传输和控制传输。这使得 USB总线适合多种外设的传输需要。6. 提供电源 :USB电缆向外设提供一根+5V的电源线,电流的大小取决于集线器端口。用户可以直接使用这个总线电源。当然 ,USB总线还存在许多缺陷, 比如USB2.0所支持的 480Mb/s速率不及 IEEE-1394的六分之一 ;USB总线传输距离有限 ;USB总线协议复杂等。但随着操作系统、硬件厂商对USB的进一步支持,其在 PC外设方面的将大有可为。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - -
18、 第 5 页,共 23 页 - - - - - - - - - 第 3 页 共 56 页1.4本课题研究的内容和意义本课题旨在对 USB总线的结构、协议和系统体系进行充分研究的基础上,完成一个实际的 USB数据采集系统软硬件的构架。具体需要做的工作包括软件和硬件两部分。硬件方面,该系统使用 Philips公司的 PDIUSBD12芯片作为设备的 USB接口芯片 ;采用常用的 AT89C51作为系统的 CPU: ADC0809芯片作为 AD转换芯片。配合其它辅助芯片和单片机固件完成输入模拟信号的采集、存储和向PC主机的传输。软件方面分如下几部分 :1. 单片机固件 :本系统中的单片机固件采用C语
19、言编写,使用 KeilC 51编译器为开发工具。固件中主要完成对 USB协议规定的诸多标准请求以及用户自定义请求的响应;此外还包括控制ADC0809芯片完成对模拟信号的转换代码,以及USB设备所需各种描述符的定义。2. 主机设备驱动程序 :USB外设的驱动程序只能为 WDM(WindowsD riverM odle)形式的驱动,课题中采用以DDK2000为开发工具,在 VC6.0集成开发环境编写,编译时直接在DDK2000的DOS窗口中编译。3. 用户应用程序 :应用程序是采集到数据最终显示、处理的地方。系统用户应用程序界面模仿传统示波器的外形 ;以图形的方式动态的显示采样数据;具体的采样数值
20、也可以写入“ 记事本” 文件中,进而可以用其它专门软件进行处理。Philips公司提供了 PDIUSBD1 2的开发包,包括软件和硬件两部分。为用户使用该种型号的 USB接口芯片进行设备开发提供一个基础和工作平台。该数据采集系统的目的在于为实验室现有的一套频率特性测试仪的改进做前期工作。但系统应用的潜力并不局限与此,比如在增加与被测信号相适应的传感器、采样保持、滤波和隔离电路后系统可以方便的应用于家庭医疗护理方面,可以用于对人体的心率、脉搏、体温等参数的测试。在个人电脑逐步进入家庭的当今,这样的系统应当具有一定的应用前景。名师资料总结 - - -精品资料欢迎下载 - - - - - - - -
21、 - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 23 页 - - - - - - - - - 第 4 页 共 56 页第二章USB概要设计2.1 USB 传输要件1、端点端点是 USB 设备的一个部分,所有的传输都是将端点作为发出点或者接收点。通常情况下,设备端点是一个内存区域,或者是控制芯片的一个缓存器,端点的作用是数据缓存。每个 USB 设备有一个唯一的地址,这个地址是在设备连上主机时由主机分配的,而设备中的每个端点在设备内部有唯一的端点号,这个端点号是在设备设计时被给定的。端点号可以是015,方向可以是IN(设备发送数据给主机)或者OU
22、T(主机发送数据给设备)。每个设备必须将端点0 设置为控制端点。控制端点是双向传输数据,其他端点都是单向数据传输。2、管道管道是设备端点和主机控制器之间的连接,在一个传输发生之前,必须首先建立一个管道。管道随着主机和设备的连接的建立而建立,当移除设备时, 管道也跟着被移除。每一个设备都会和主机建立一个默认的控制管道(Default Control Pipe) ,此管道使用端口 0。不同的传输类型使用不同的管道,此外管道还可以被分为消息管道(MessagePipe)和流管道( StreamPipe)消息管道是指具有某种USB 定义格式的数据流,是双向的管道;而流管道则是不具有USB 定义格式的数
23、据流,不具有双向性。控制传输是唯一使用双向消息管道的传输,其他传输都是使用单方向的流管道。2.2 事务、信息包和联络信号每一个 USB 传输包含一个或多个事务,每一个事务又包含一到三个信息包。事务根据其数据流方向以及传输目的,可以分为3 类:输入、输出与设置。每一个传输类型的传输包括一个或多个阶段(Stage),一个阶段即一种类型的事务。每个阶段又可以分为一个或几个相位( Phase ) ,相位包含几个或两个事务信息包。信息包是一个区块的固定格式信息,每个信息包由一个信息包标示符(PID)开头,作为信息包的识别。 根据事务种类的不同, PID 后面可能有端点地址、 数据、状态信息,或者是一个在
24、帧号码、错误校验位。在控制传输、批量传输和中断传输中都有一个相位是联络数据包,它包含的是联络信息。 但是联络信号不是仅仅在联络数据包中,有些数据信息包中也包含联络信号。USB定义的联络信号如下:ACK(Acknowledge) :表示主机或设备已成功接收数据。NAK(Negative Acknowledge):表示设备在忙中。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 23 页 - - - - - - - - - 第 5 页 共 56 页STALL :表示 3 种意义
25、,即不支持的控制要求、控制要求失败或端点失败。NYET(Not Yet) :表示设备是否已准备好接收数据,只有高速设备使用。ERR (Error) :表示在集线器和主机事务中, 设备没有传回预期的联络信号。ERR只有在高速集线器完成事务分割时才会使用。2.3 USB 的传输结构USB 的传输结构描述的是各个类型USB 传输的时序、数据包和特征。下面分别介绍一下 4 种 USB 传输类型的传输结构:1、控制传输控制传输用于在设备初次连接时对器件进行配置,以及对设备的状态进行实时检测,还有在设备配置完成后用于特殊传输目的。端点0 只可以采用控制传送的方式。每一个控制传输都必须有设置与状态阶段,数据
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年2022年基于USB总线数据采集系统设计与实现 2022 基于 USB 总线 数据 采集 系统 设计 实现
限制150内