ImageVerifierCode 换一换
格式:DOCX , 页数:42 ,大小:336.76KB ,
资源ID:10630989      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10630989.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于单片机和USB接口技术的高速数据采集系统的设计.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于单片机和USB接口技术的高速数据采集系统的设计.docx

1、基于单片机和USB接口技术的高速数据采集系统的设计基于单片机和USB接口技术的高速数据采集系统的设计摘要数据采集系统是结合基于计算机的测量软硬件产品实现灵活的、用户自定义的测量系统。数据采集包括从信号源采集信号,将其进行数字化,存储分析并传递到个人PC上。通用串行总线(USB)作为一种新的微机总线接口规范具有便捷、易扩展、低成本、低干扰等特点,非常适合作为主机和外设之间的通信接口。USB为数据采集设备/仪器与PC机之间的连接提供了一个费用低廉且简单易用的方案。USB通讯技术的出现,使高传输速度、强纠错能力、易扩展性、方便的即插即用,有机的结合在一起。USB技术虽然出现的时间并不长,但是由于它的

2、种种优点,被越来越多的厂商和用户所接受.本次毕业设计(论文)设计了一种基于单片机和USB的高速数据采集系统的硬件及固件PDIUSBD12程序设计方案。关键词 数据采集系统;usb接口;单片机AbstractData acquisition uses a combination of PC-based measurement hardware and software to provide a flexible, user-defined measurement system. Data acquisition involves gathering signals from measuremen

3、t sources and digitizing the signal for storage, analysis, and presentation on a personal computer (PC).As a new interface Specificationthe Universal Serial Bus (USB) has the advantages of convenient、expansibility、low cost and antidisturbance So it is fit for the communication interface between the

4、host and available peripherals USB delivers an inexpensive, easy-to-use connection between data acquisition devices/instruments and PCs. USB communication technology can enable high-speed, strong error-correcting capabilities, easy extensibility, plug-and-play convenience, combined with organic. USB

5、 technology is not even in the face of a long time, but because of its many advantages, more and more accepted by manufacturers and users. This thesis introduce to the hardware and software design for the high speed data acquisition system based on Single chip micro computer and USB.Key words data a

6、cquisition;universal serial bus interface;Single chip micro computer第1章 绪论1. 1 研究的背景及目的信息技术与电子技术的迅猛发展,使得计算机和外围设备也得到飞速发展和应用。过去人们单纯追求计算机与外设之间的传输速度,现在纠错能力和操作安装的简易性也成为人们关注的目标。USB通讯技术的出现,使高传输速度、强纠错能力、易扩展性、方便的即插即用,有机的结合在一起。USB设备需要依据USB协议进行数据的解包与打包,底层硬件设备与操作系统之间需要以驱动程序为桥梁。驱动程序以WDM为模型,以DDK为开发工具,以IRP为消息传播载体,

7、来实现与Windows系统底层核心机制向交互的功能。随着控制系统的日益复杂,所要采集的量也会越来越多。因此寻求一种高速、安全、方便的通讯形式是十分必要的。USB技术虽然出现的时间并不长,但是由于它的种种优点,被越来越多的厂商和用户所接受,出现了USB打印机、摄像头等产品。随着pc机日益广泛的应用,其外设也逐日增多,但pc机接口的数量是一定的,这就限制了pc机挂接外设的数量。在很多应用场合,如工业数据采集,常使用采集板卡来完成工作,采用板卡不仅安装麻烦、易受机箱内环境的干扰,而且受计算机插槽数量和地址、中断资源的限制,不可能挂接很多设备,而通用串行总线可以很容易的实现高可靠性、多点的数据采集。1

8、. 2 国内外研究现状及已有成果在国际和国内,现代工业生产和科学研究对数据采集的要求日益提高,在瞬态信号测量、图像处理等一些高速、高精度的测量中,需要进行高速数据采集。现在研究通用的高速数据采集卡一般多是PCI卡, AD卡及422、485卡或ISA卡,存在以下缺点:安装麻烦、价格昂贵、受计算机插槽数量、地址、中断资源限制、可扩展性差,同时在一些电磁干扰性强的测试现场,可能无法专门对其做电磁屏蔽,从而导致采集的数据失真。传统的外设与主机的通讯接口一般是基于总线、ISA总线或者是RS232C串行总线。PCI总线虽然具有较高的传输速度(132Mbps),并支持“即插即用”功能,但其缺点是插拔麻烦,且

9、扩展槽有限(一般为56个),ISA总线显然存在同样的问题。RS232C串行总线虽然连结简单,但其传输速度慢(56kbps),且主机的串口数目也有限。 随着时代的发展,1995年康柏、微软、IBM、DEC等公司为解决传统总线不足而推广的一种新型的通信标准,就是通用串行总线USB。该总线接口具有安装方便、高带宽、易于扩展、使用灵活等优点,已逐渐成为现代数据传输研究的发展趋势。基于单片机和USB的高速数据采集充分利用USB总线的上述优点,有效解决了传统高速数据采集的缺陷。在国内外研究中,高速数据采集领域在很多方面均有应用,例如采用AVR单片机ATmegal28作为主控制器,通过基于CH375的USB

10、接口实现数据传输。给出了高速模数转换及USB接口的电路原理,实现USB数据传输的上、下位机的程序设计。经实验测试,该系统采集速度快,死时间小,计数率高。该系统采集速率最高可以达到5 MS/s,有软件触发、后触发、前触发三种采集模式,已成功应用到高速数据采集领域,它适用于作用大范围场地的辐射监测系统。1.3 课题的研究方法和内容本次设计主要基于单片机和USB接口的数据采集。控制系统的硬件模块主要是由A/D转换器、D/A转换器、微处理器、USB接口控制芯片、串行口控制芯片、放大器等组成。本数据采集和控制系统是以飞利浦 公司的 PDIUSBD12 作为系统的微控制器,管理和控制整个系统。该芯片集成度

11、高,与51单片机兼容,有效的解决了传统高速数据采集的缺陷。本文内容安排如下:第一章对基于单片机和USB的高速数据采集进行了综合,首先介绍了粒子单片机和USB的高速数据采集研究背景及目的,接着对单片机和USB的高速数据采集的国内外研究现状和相关领域中已有的研究成果进行了说明。第二章对本次毕业设计的总体方案与选择的论证进行了说明。首先介绍了单片机芯片和USB接口固件的选择,接着论证了总体设计方案。第三章对系统的硬件与软件部分进行了设计计算。包括对PDIUSBD12的多方面介绍、与单片机的连接,系统程序设计等等。第四章对研究设计进行分析,对内容中的创新,改进及实际意义进行说明。第2章 总体方案设计2

12、. 1 芯片比较本文应用了单片机芯片和USB接口固件,下面对其进行介绍。2.1.1 单片机选型当今单片机厂商琳琅满目,产品性能各异。常用的单片机有很多种:Intel8051系列、Motorola和M68HC系列、Atmel的AT89系列、台湾Winbond(华邦)W78系列、荷兰Pilips的PCF80C51系列、Microchip公司的PIC系列、Zilog的Z86系列、Atmel的AT90S系列、韩国三星公司的KS57C系列4位单片机、台湾义隆的EM-78系列等。我们最终选用了ATMEL公司的AT89C52单片机。AT89C52是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片

13、内含8Kbytes的可反复擦写的只读程序存储器(PEROM)和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU)和FLASH存储单元,功能强大AT89C52单片机适用于许多较为复杂控制应用场合。本次设计选用AT89C52。2.1.2 USB接口芯片的选择 基于USB的外置式硬件电路的设计核心是USB控制器的选择,在进行一个具体的USB设备开发之前,首先要根据具体要求选择合适的USB控制器,整个USB外围设备的设计将围绕该控制器展开。在选定USB控制器以后,如果

14、是带USB接口的单片机,则是一般单片机应用系统的开发;若是USB外设接口芯片,就是USB外设接口芯片与单片机应用系统的接口问题。一般USB接口芯片都支持多种并行总线结构(复用/非复用),可以方便地与多种单片机连接。 目前,市场上可供选择的USB接口芯片很多,按照功能基本上分为两类:一类是纯粹的USB接口芯片或通用USB外设接口芯片(也称USB设备器件);另一类是带有USB接口芯片的单片机(也称USB主控制器)。(1)带USB接口的单片机(USB主控制器)这类芯片主要有Cypress公司的CY7C63xxx/CY7C64xxx系列和EZ-USB, Intel公司的8X930/8x931, Phi

15、lips公司的ISP 1161 (USB 1.1) / ISP I 561 (USB2.0 ), Scanlogic的SL11R以及Motorola的MC68HC908JB8系列等。这种方案的最大好处在于开发难度较小,因为大多数这样的单片机芯片都是基于8051结构或者其它常见的结构,有自己的精简指令集,与单片机类似,熟悉单片机开发的开发者对系统结构和指令集非常熟悉,但其开发一般需要专用的仿真器,对于简单或低成本系统,价格高将会是最大的障碍。(2)纯粹的USB外设接口芯片(USB设备器件)这类芯片主要有NS公司的USBN9602/9603/9604, Scan logic的SUIT以及Phili

16、ps公司的PDIUSBD11/PDIUSBD12 (USB1.1) /ISP1581 (USB2.0)等。纯粹的USB外设接口芯片仅处理USB总线相关事务,必须有一个外部微处理器来进行协议处理和数据交换。这种方案的主要特点是价格便宜、接口形式多样、可靠性高、灵活性大,尤其适合于产品的改型设计,缺点是开发者需要非常熟悉USB协议,还必须用微处理器来控制USB外设接口芯片的工作。综合比较,PDIUSBD 12是一款性价比很高的USB器件,可使设计者选择最合适的微控制器,减少开发时间、风险及费用,是最实用最快捷的方法实现最经济的USB外设的方案。该芯片支持一个控制端点以及4个额外的端点地址。一个端点

17、的缓冲区可以储存到128个字节,而双缓冲区可以到256个字节。PDIUSBD 12通常用作微控制器系统中实现与微控制器进行通信的高速通用并千示接口,并支持本地DMA传输。PDIUSBD 12完全符合USB1.1规范,并符合大多数器件的分类规格:成像类、海量存储器件、通信器件、打印设备以及人机接口设备。同样地,PDIUSBD 12还适用于打印机、扫描仪、外部存储设备和数码相机等等。另外,该芯片还集成了许多特性,包括SoftConnect, GoodLink、可编程时钟输出、低频晶振和终止寄存器集合,简化USB功能在外设上的应用。由于51系列的单片机是应用非常广泛的一种微处理器,在其基础上开发了大

18、量的软件包,对其内部结构和工作原理我们都非常了解,故本系统中我们采用8902进行核心程序的设计来实现其所需的功能。A/D选用我们熟悉而且能满足要求的AD0809。而PDIUSBDI2能够完成将数据信号到符合USB规范的信号的转换。为此,我们利用89C52中丰富的软件资源和USB总线技术即插即用、热插拔特性来完成高速数据采集系统。这样可以降低开发成本,缩短开发周期、降低风险。2.2 系统的原理及其组成基于USB的数据采集和控制系统的硬件模块主要是由A/D转换器、D/A转换器、微处理器、USB接口控制芯片、串行口控制芯片、放大器等组成。本数据采集和控制系统是以飞利浦 公司的 PDIUSBD12 作

19、为系统的微控制器,管理和控制整个系统。该芯片集成度高,与51单片机兼容。 整个数据采集和控制系统的总体结构框图如图2.1所示:图2.1 设计数据采集和控制系统原理图 从结构图中可知,模拟输入信号通过信号处理(放大和滤波)后,输出到A/D转换器,微控制器把经过A/D转换器转换后的数字信号通过USB控制芯片输出给计算机,同时可以在计算机上实现数据的显示和键盘控制;另一方面,经过A/D转换器采集到的数字信号可以通过算法实现控制后,经过D/A转换器输出,进而可以对其它设备进行控制;同时,该系统还可以作为一种USB和串行口的转接卡,通过串行口与USB接口实现数据之间的交互,充分利用了USB的快速性和RS

20、-232远距离的优势,实现了资源优势互补,可以通过该板卡实现数据的远程控制和数据传输,既提高了传输速率,又增加了传输距离。 而USB主机及显示部分则通过输出接口在PC机上显示,采用软件来模拟显示输入信号的波形。同时可以控制A/D转换器的启停、数据存取器的存取、USB外设芯片的工作、显示图形的放大和缩小等。 USB数据传输的硬件结构由以下三部分组成:通用USB控制芯片,微处理器,USB接口。它们构成了一个USB数据传输的最小系统。其功能为:USB收发器负责处理所有与USB总线事务有关的任务,如总线唤醒、数据接受/发送、打包、CRC校验等,但该收发器不负责解释这些数据的意义;微处理器负责处理数据、

21、响应主机请求、以及控制USB收发器的工作;内存负责存储和提供数据。其中,状态监视器是一个高速的单稳态多频振荡器,用来实现掉电和恢复操作的,当系统连续3ms检测不到主机的请求时,系统就会进入挂起状态;当系统从挂起状态退出以后,状态监控器就产生一个正脉冲以复位/唤醒整个系统。第3章 系统的程序设计3.1 系统的硬件设计基于USB的数据采集和控制系统主要利用了A/D转换技术、D/A转换技术和USB技术,是伴随着USB技术的迅速发展与新的数据采集技术的发展而发展起来的。采集到的数据通过主机接口(USB口)发送到上位机并实时显示出来,其波形保真性能与A/D转换器的转换速率、分辨率与精度密切相关。A/D转

22、换速率越高,复现的波形的分辨率也就越高;A/D转换器位数越多,精度越高,波形保真性越高。3.1.1 PDIUSBD12的性能特点和内部结构PDIUSBD12集成了许多新的特性,包括可编程时钟输出、SoftConnet, GoodLink、低频晶振。(1)可编程时钟输出:不必考虑电路设计时使用高频晶振产生的EMI问题D12的CLKOUT引脚输出时钟信号,可用作MCU时钟,最低4MHZ,最高达48MHZ. D12内部有倍频电路,外部只需6M晶振即可提供D12自身工作时钟(48MHZ)及输出时钟。(2)软连接(SoftConnet)技术:芯片内集成有1.5 K的USB上拉电阻,连接此电阻将D+置为高

23、设置为高速USB设备。连接的建立通过外部MCU发送命令来实现,这就允许设备在决定与USB总线建立连接之前完成初始化时序。USB总线连接的连接可以重新初始化而不需要拔插USB电缆。(3)GoodLink技术:可提供良好的USB连接指示。在枚举中,LED指示根据通信情况间歇闪烁。当成功枚举和配置后,LED指示将一直点亮。USB支持两种信号速率。USB的最高速率是12Mb/s,但它可以工作在1. 5Mb/s的较低速率,同一个USB系统可同时支持这两种模式,但1. 15Mb/s低速率方式主要为了降低对速度要求不高的设备的成本,只支持少数像鼠标这样的低带宽要求的设备。 (4)可编程的时钟频率输出:集成3

24、20字节多结构FIFO存储器,具体组成如字节数端点0端点1端点320=16(IN)+16(OUT)+16(IN)+16(OUT)+64(IN)+64(OUT) * 2(双缓冲)主端点的双缓冲配置增加了数据吞吐量,并轻松实现实时数据传输;(5)多中断模式实现批量和同步传输。端点可通过Set Mode命令配置为4种不同的模式,分别为: 模式0 Non-ISO模式(非同步传输) 模式1 ISO-OUT模式(同步输出传输) 模式2 ISO-IN模式(同步输入传输) 模式3 ISO-IO模式(同步输入输出传输)USB电缆可以允许使用不同长度的电缆,最长可达几米。为了提供可靠的输入电压和适当的终端阻抗,在

25、电缆的每一端带偏压的终端。该终端可以发现任一端口上USB设备的“插入”和“拔除”操作,并能区分全速和低速设备。图2指示了高速USB设备在集线器的终端位置及其所连的功能设备,从中可以看出在电缆的下行端的电阻Rpu是接在D+线上的,在低速设备中,Rpu电阻是接在 D-线上的。PD工USBD12的软连接(SoftConnet)技术使得在电路设计中可以省去此电阻,并可以通过软件设置。图3.1 PDIUSBD12的原理图(1)模拟收发器:集成的收发器接口可通过终端电阻直接与USB电缆相连。(2)电压调整器:片内集成了一个3. 3V的调整器用于模拟收发器的供电,该电压还作为输出连接到外部上拉电阻。可选择D

26、12提供的带有上拉电阻的软件连接技术。(3)倍频电路(PLL)片内集成了6M到48M时钟乘法PLL,就可使用低成本的6M晶振。(4) 位时钟恢复:位时钟恢复电路使用4X过采样规则,从进入的USB数据流中恢复时钟。它能跟踪USB规定范围内的抖动和频漂。(5)串行接口引擎(SIE):串行接口引擎实现了全部的USB协议层,完全由硬件实现而不需要固件的参与。该模块的功能包括同步模式的识别、并行/串行转换、位填充/解除填充、CRC校验/产生、PID校验/产生、地址识别和握手评估等。(6)存储器管理单元(ME)和集成RAM:在进行数据传输并与微处理器的并口相连时,MMU和集成RAM作为USB间传输的缓冲区

27、,允许MCU以它自己速率对USB信息包读写。PDIUSBD12内部结构框图如图3.2所示:图3.2 PDIUSBD12的内部框图3.1.2 PDIUSBD12的端点描述端点(Endpoint)是一个USB设备唯一可以确认的部分,它是主机与设备之间的通信流终点。一系列相互独立的端点在一起构成了USB逻辑设备。 (1)端点0要求:所有USB设备都需要实现一个缺省的控制方法。这种方法将端点0作为输入端点,同时也将端点0作为输出端点。USB系统用这个缺省方法初始化及一般地使用逻辑设备(即设置此设备)。缺省控制通道支持了对控制的传送,一旦设备接上,并加电,且又收到一个总线复位命令,端点0就是可访问的了。

28、(2)非0端点要求:设备可以有除0以外的其它端点,这取决于这些设备的实现。低速设备在0号输入及输出端点外,只能有2个额外的可选端点。而高速设备可具有的额外端点数仅受限于协议的定义,协议中规定,最多15个额外的输入端点和最多15个额外的输出端点。非0端点在被配置前处于未知状态,在设备配置以后才能使用。 D12的端点适用于不同类型的设备,并可通过“Set Mode”命令配置为4种不同的模式:模式0(非同步模式),模式1(同步输出模式),模式2(同步输入模式),模式3(同步输入输出模式)。本设计中只用到了模式0配置,同步模式配置未使用。端点可用来存放从主机接受到或者设备发送来的数据,每个端点都有属于

29、自己的缓冲区。模式0配置下的端点缓冲区如表3.1所示。 端点2(主端点)是进行吞吐大数据量的主要端点,具有64字节双缓冲区结构,可以减轻传输大量数据的任务:(1)双缓冲。允许USB与本地CPU之间的并行读写操作这样就增加了数据的吞吐量缓冲区切换是自动处理的这导致了透明的缓冲区操作。(2)支持DMA直接存储器访问操作。可以和对其它端点的正常I/0操作交叉进行。(3) DMA操作中的自动指针处理。在跨过缓冲区边界时不需要本地CPU的干预。(4)可配置为同步传输或非同步批量和中断传输。表3.1 端点缓冲区配置(模式0)端点号 端点索 引传输类型 端点类型 方向 缓冲区长度(字节)0 0 控制输出 默

30、认 输出 160 1 控制输出 默认 输入 161 2 普通输出 普通 输出 161 3 普通输出 普通 输入 162 4 普通输出 普通 输出 642 5 普通输出 普通 输入 643.1.3 PDIUSBD12的指令集 PDIUSBD12有自己的专用指令集,用于设置USB芯片、读取USB芯片的状态和控制USB总线传输。D12芯片内有一系列的寄存器对应着这些指令,微处理器把要设置的值按字节写入D12的这些寄存器,或者从D12的这些寄存器中读出USB总线的状态。D12有三种基本的类型的命令:初始化、数据流和通用命令。(1)初始化命令初始化命令在USB总线进行枚举处理时使用,这些命令用于使能端点

31、的功能,还可用来设置USB分配的地址,包括:设置地址/使能、设置端点使能、设置模式(设置分频系数、软连接、端点模式以及中断模式等)、DMA设置等命令。表3.2 初始化命令指令集命令名 接收者 编码 数据设置地址使能器件 D0h 写1字节设置端点使能器件D8h写1字节设置模式器件F3h写2字节设置DMA器件FBh写/读1字节(2)数据流命令数据流命令用于管理USB端点和外部微控制器之间的数据传输,D12通过微控制器中断初始化大量的数据流。微控制器利用这些命令访问和决定端点的FIFO是否含有有效的数据。包括:读中断寄存器、选择端点、读最后处理状态寄存器、读缓冲区、写缓冲区、使缓冲区有效、清除缓冲区

32、、设置端点状态、应答建立等命令。如表3.4。(3)普通命令:包括发送恢复、读当前帧数目两个命令。表3.3 普通命令指令集命令指令集发送恢复 F6h无读当前桢数 F5h读1或2字节3.1.4 PDIUSBD12的管脚配置PD12共有28个管脚,具有S028和TSSOP28两种封装形式,管脚图如下图3.3所示:图3.3 PBIUSBBI2的管脚配置表3.4 数据流命令指令集数据流命令 读中断寄存器 器件 F4h 读2字节选择端点 控制输出 00h 读1字节(可选)控制输入 01h 读1字节(可选)端点1输出 02h 读1字节(可选)端点1输入 03H 读1字节(可选)端点2输出 04h 读1字节(可选)端点2输入 05h 读1字节(

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1