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

上传人:b****7 文档编号:10630989 上传时间:2023-02-22 格式:DOCX 页数:42 大小:336.76KB
下载 相关 举报
基于单片机和USB接口技术的高速数据采集系统的设计.docx_第1页
第1页 / 共42页
基于单片机和USB接口技术的高速数据采集系统的设计.docx_第2页
第2页 / 共42页
基于单片机和USB接口技术的高速数据采集系统的设计.docx_第3页
第3页 / 共42页
基于单片机和USB接口技术的高速数据采集系统的设计.docx_第4页
第4页 / 共42页
基于单片机和USB接口技术的高速数据采集系统的设计.docx_第5页
第5页 / 共42页
点击查看更多>>
下载资源
资源描述

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

《基于单片机和USB接口技术的高速数据采集系统的设计.docx》由会员分享,可在线阅读,更多相关《基于单片机和USB接口技术的高速数据采集系统的设计.docx(42页珍藏版)》请在冰豆网上搜索。

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

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

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

摘要

数据采集系统是结合基于计算机的测量软硬件产品实现灵活的、用户自定义的测量系统。

数据采集包括从信号源采集信号,将其进行数字化,存储分析并传递到个人PC上。

通用串行总线(USB)作为一种新的微机总线接口规范.具有便捷、易扩展、低成本、低干扰等特点,非常适合作为主机和外设之间的通信接口。

USB为数据采集设备/仪器与PC机之间的连接提供了一个费用低廉且简单易用的方案。

USB通讯技术的出现,使高传输速度、强纠错能力、易扩展性、方便的即插即用,有机的结合在一起。

USB技术虽然出现的时间并不长,但是由于它的种种优点,被越来越多的厂商和用户所接受.本次毕业设计(论文)设计了一种基于单片机和USB的高速数据采集系统的硬件及固件PDIUSBD12程序设计方案。

关键词数据采集系统;usb接口;单片机

 

Abstract

DataacquisitionusesacombinationofPC-basedmeasurementhardwareandsoftwaretoprovideaflexible,user-definedmeasurementsystem.Dataacquisitioninvolvesgatheringsignalsfrommeasurementsourcesanddigitizingthesignalforstorage,analysis,andpresentationonapersonalcomputer(PC).AsanewinterfaceSpecification.theUniversalSerialBus(USB)hastheadvantagesofconvenient、expansibility、lowcostandanti—disturbance.SoitisfitforthecommunicationinterfacebetweenthehostandavailableperipheralsUSBdeliversaninexpensive,easy-to-useconnectionbetweendataacquisitiondevices/instrumentsandPCs.USBcommunicationtechnologycanenablehigh-speed,strongerror-correctingcapabilities,easyextensibility,plug-and-playconvenience,combinedwithorganic.USBtechnologyisnoteveninthefaceofalongtime,butbecauseofitsmanyadvantages,moreandmoreacceptedbymanufacturersandusers.ThisthesisintroducetothehardwareandsoftwaredesignforthehighspeeddataacquisitionsystembasedonSinglechipmicrocomputerandUSB.

Keywordsdataacquisition;universalserialbusinterface;Singlechipmicrocomputer

第1章绪论

1.1研究的背景及目的

信息技术与电子技术的迅猛发展,使得计算机和外围设备也得到飞速发展和应用。

过去人们单纯追求计算机与外设之间的传输速度,现在纠错能力和操作安装的简易性也成为人们关注的目标。

USB通讯技术的出现,使高传输速度、强纠错能力、易扩展性、方便的即插即用,有机的结合在一起。

USB设备需要依据USB协议进行数据的解包与打包,底层硬件设备与操作系统之间需要以驱动程序为桥梁。

驱动程序以WDM为模型,以DDK为开发工具,以IRP为消息传播载体,来实现与Windows系统底层核心机制向交互的功能。

随着控制系统的日益复杂,所要采集的量也会越来越多。

因此寻求一种高速、安全、方便的通讯形式是十分必要的。

USB技术虽然出现的时间并不长,但是由于它的种种优点,被越来越多的厂商和用户所接受,出现了USB打印机、摄像头等产品。

随着pc机日益广泛的应用,其外设也逐日增多,但pc机接口的数量是一定的,这就限制了pc机挂接外设的数量。

在很多应用场合,如工业数据采集,常使用采集板卡来完成工作,采用板卡不仅安装麻烦、易受机箱内环境的干扰,而且受计算机插槽数量和地址、中断资源的限制,不可能挂接很多设备,而通用串行总线可以很容易的实现高可靠性、多点的数据采集。

1.2国内外研究现状及已有成果

在国际和国内,现代工业生产和科学研究对数据采集的要求日益提高,在瞬态信号测量、图像处理等一些高速、高精度的测量中,需要进行高速数据采集。

现在研究通用的高速数据采集卡一般多是PCI卡,A/D卡及422、485卡或ISA卡,存在以下缺点:

安装麻烦、价格昂贵、受计算机插槽数量、地址、中断资源限制、可扩展性差,同时在一些电磁干扰性强的测试现场,可能无法专门对其做电磁屏蔽,从而导致采集的数据失真。

传统的外设与主机的通讯接口一般是基于PCI总线、ISA总线或者是RS-232C串行总线。

PCI总线虽然具有较高的传输速度(132Mbps),并支持“即插即用”功能,但其缺点是插拔麻烦,且扩展槽有限(一般为5~6个),ISA总线显然存在同样的问题。

RS-232C串行总线虽然连结简单,但其传输速度慢(56kbps),且主机的串口数目也有限。

随着时代的发展,1995年康柏、微软、IBM、DEC等公司为解决传统总线不足而推广的一种新型的通信标准,就是通用串行总线USB。

该总线接口具有安装方便、高带宽、易于扩展、使用灵活等优点,已逐渐成为现代数据传输研究的发展趋势。

基于单片机和USB的高速数据采集充分利用USB总线的上述优点,有效解决了传统高速数据采集的缺陷。

在国内外研究中,高速数据采集领域在很多方面均有应用,例如采用AVR单片机ATmegal28作为主控制器,通过基于CH375的USB接口实现数据传输。

给出了高速模数转换及USB接口的电路原理,实现USB数据传输的上、下位机的程序设计。

经实验测试,该系统采集速度快,死时间小,计数率高。

该系统采集速率最高可以达到5MS/s,有软件触发、后触发、前触发三种采集模式,已成功应用到高速数据采集领域,它适用于作用大范围场地的辐射监测系统。

1.3课题的研究方法和内容

本次设计主要基于单片机和USB接口的数据采集。

控制系统的硬件模块主要是由A/D转换器、D/A转换器、微处理器、USB接口控制芯片、串行口控制芯片、放大器等组成。

本数据采集和控制系统是以飞利浦公司的PDIUSBD12作为系统的微控制器,管理和控制整个系统。

该芯片集成度高,与51单片机兼容,有效的解决了传统高速数据采集的缺陷。

本文内容安排如下:

第一章对基于单片机和USB的高速数据采集进行了综合,首先介绍了粒子单片机和USB的高速数据采集研究背景及目的,接着对单片机和USB的高速数据采集的国内外研究现状和相关领域中已有的研究成果进行了说明。

第二章对本次毕业设计的总体方案与选择的论证进行了说明。

首先介绍了单片机芯片和USB接口固件的选择,接着论证了总体设计方案。

第三章对系统的硬件与软件部分进行了设计计算。

包括对PDIUSBD12的多方面介绍、与单片机的连接,系统程序设计等等。

第四章对研究设计进行分析,对内容中的创新,改进及实际意义进行说明。

第2章总体方案设计

2.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位单片机,片内含8Kbytes的可反复擦写的只读程序存储器(PEROM)和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU)和FLASH存储单元,功能强大AT89C52单片机适用于许多较为复杂控制应用场合。

本次设计选用AT89C52。

2.1.2USB接口芯片的选择

基于USB的外置式硬件电路的设计核心是USB控制器的选择,在进行一个具体的USB设备开发之前,首先要根据具体要求选择合适的USB控制器,整个USB外围设备的设计将围绕该控制器展开。

在选定USB控制器以后,如果是带USB接口的单片机,则是一般单片机应用系统的开发;若是USB外设接口芯片,就是USB外设接口芯片与单片机应用系统的接口问题。

一般USB接口芯片都支持多种并行总线结构(复用/非复用),可以方便地与多种单片机连接。

目前,市场上可供选择的USB接口芯片很多,按照功能基本上分为两类:

一类是纯粹的USB接口芯片或通用USB外设接口芯片(也称USB设备器件);另一类是带有USB接口芯片的单片机(也称USB主控制器)。

(1)带USB接口的单片机(USB主控制器)

这类芯片主要有Cypress公司的CY7C63xxx/CY7C64xxx系列和EZ-USB,Intel公司的8X930/8x931,Philips公司的ISP1161(USB1.1)/ISPI561(USB2.0),Scanlogic的SL11R以及Motorola的MC68HC908JB8系列等。

这种方案的最大好处在于开发难度较小,因为大多数这样的单片机芯片都是基于8051结构或者其它常见的结构,有自己的精简指令集,与单片机类似,熟悉单片机开发的开发者对系统结构和指令集非常熟悉,但其开发一般需要专用的仿真器,对于简单或低成本系统,价格高将会是最大的障碍。

(2)纯粹的USB外设接口芯片(USB设备器件)

这类芯片主要有NS公司的USBN9602/9603/9604,Scanlogic的SUIT以及Philips公司的PDIUSBD11/PDIUSBD12(USB1.1)/ISP1581(USB2.0)等。

纯粹的USB外设接口芯片仅处理USB总线相关事务,必须有一个外部微处理器来进行协议处理和数据交换。

这种方案的主要特点是价格便宜、接口形式多样、可靠性高、灵活性大,尤其适合于产品的改型设计,缺点是开发者需要非常熟悉USB协议,还必须用微处理器来控制USB外设接口芯片的工作。

综合比较,PDIUSBD12是一款性价比很高的USB器件,可使设计者选择最合适的微控制器,减少开发时间、风险及费用,是最实用最快捷的方法实现最经济的USB外设的方案。

该芯片支持一个控制端点以及4个额外的端点地址。

一个端点的缓冲区可以储存到128个字节,而双缓冲区可以到256个字节。

PDIUSBD12通常用作微控制器系统中实现与微控制器进行通信的高速通用并千示接口,并支持本地DMA传输。

PDIUSBD12完全符合USB1.1规范,并符合大多数器件的分类规格:

成像类、海量存储器件、通信器件、打印设备以及人机接口设备。

同样地,PDIUSBD12还适用于打印机、扫描仪、外部存储设备和数码相机等等。

另外,该芯片还集成了许多特性,包括SoftConnect,GoodLink、可编程时钟输出、低频晶振和终止寄存器集合,简化USB功能在外设上的应用。

由于51系列的单片机是应用非常广泛的一种微处理器,在其基础上开发了大量的软件包,对其内部结构和工作原理我们都非常了解,故本系统中我们采用8902进行核心程序的设计来实现其所需的功能。

A/D选用我们熟悉而且能满足要求的AD0809。

而PDIUSBDI2能够完成将数据信号到符合USB规范的信号的转换。

为此,我们利用89C52中丰富的软件资源和USB总线技术即插即用、热插拔特性来完成高速数据采集系统。

这样可以降低开发成本,缩短开发周期、降低风险。

2.2系统的原理及其组成

基于USB的数据采集和控制系统的硬件模块主要是由A/D转换器、D/A转换器、微处理器、USB接口控制芯片、串行口控制芯片、放大器等组成。

本数据采集和控制系统是以飞利浦公司的PDIUSBD12作为系统的微控制器,管理和控制整个系统。

该芯片集成度高,与51单片机兼容。

整个数据采集和控制系统的总体结构框图如图2.1所示:

图2.1设计数据采集和控制系统原理图

从结构图中可知,模拟输入信号通过信号处理(放大和滤波)后,输出到A/D转换器,微控制器把经过A/D转换器转换后的数字信号通过USB控制芯片输出给计算机,同时可以在计算机上实现数据的显示和键盘控制;另一方面,经过A/D转换器采集到的数字信号可以通过算法实现控制后,经过D/A转换器输出,进而可以对其它设备进行控制;同时,该系统还可以作为一种USB和串行口的转接卡,通过串行口与USB接口实现数据之间的交互,充分利用了USB的快速性和RS-232远距离的优势,实现了资源优势互补,可以通过该板卡实现数据的远程控制和数据传输,既提高了传输速率,又增加了传输距离。

而USB主机及显示部分则通过输出接口在PC机上显示,采用软件来模拟显示输入信号的波形。

同时可以控制A/D转换器的启停、数据存取器的存取、USB外设芯片的工作、显示图形的放大和缩小等。

USB数据传输的硬件结构由以下三部分组成:

通用USB控制芯片,微处理器,USB接口。

它们构成了一个USB数据传输的最小系统。

其功能为:

USB收发器负责处理所有与USB总线事务有关的任务,如总线唤醒、数据接受/发送、打包、CRC校验等,但该收发器不负责解释这些数据的意义;微处理器负责处理数据、响应主机请求、以及控制USB收发器的工作;内存负责存储和提供数据。

其中,状态监视器是一个高速的单稳态多频振荡器,用来实现掉电和恢复操作的,当系统连续3ms检测不到主机的请求时,系统就会进入挂起状态;当系统从挂起状态退出以后,状态监控器就产生一个正脉冲以复位/唤醒整个系统。

 

第3章系统的程序设计

3.1系统的硬件设计

基于USB的数据采集和控制系统主要利用了A/D转换技术、D/A转换技术和USB技术,是伴随着USB技术的迅速发展与新的数据采集技术的发展而发展起来的。

采集到的数据通过主机接口(USB口)发送到上位机并实时显示出来,其波形保真性能与A/D转换器的转换速率、分辨率与精度密切相关。

A/D转换速率越高,复现的波形的分辨率也就越高;A/D转换器位数越多,精度越高,波形保真性越高。

3.1.1PDIUSBD12的性能特点和内部结构

PDIUSBD12集成了许多新的特性,包括可编程时钟输出、SoftConnet,GoodLink、低频晶振。

(1)可编程时钟输出:

不必考虑电路设计时使用高频晶振产生的EMI问题D12的CLKOUT引脚输出时钟信号,可用作MCU时钟,最低4MHZ,最高达48MHZ.D12内部有倍频电路,外部只需6M晶振即可提供D12自身工作时钟(48MHZ)及输出时钟。

(2)软连接(SoftConnet)技术:

芯片内集成有1.5KΩ的USB上拉电阻,连接此电阻将D+置为高设置为高速USB设备。

连接的建立通过外部MCU发送命令来实现,这就允许设备在决定与USB总线建立连接之前完成初始化时序。

USB总线连接的连接可以重新初始化而不需要拔插USB电缆。

(3)GoodLink技术:

可提供良好的USB连接指示。

在枚举中,LED指示根据通信情况间歇闪烁。

当成功枚举和配置后,LED指示将一直点亮。

USB支持两种信号速率。

USB的最高速率是12Mb/s,但它可以工作在1.5Mb/s的较低速率,同一个USB系统可同时支持这两种模式,但1.15Mb/s低速率方式主要为了降低对速度要求不高的设备的成本,只支持少数像鼠标这样的低带宽要求的设备。

(4)可编程的时钟频率输出:

集成320字节多结构FIFO存储器,具体组成如字节数端点0端点1端点320=16(IN)+16(OUT)+16(IN)+16(OUT)+[64(IN)+64(OUT)]*2(双缓冲)主端点的双缓冲配置增加了数据吞吐量,并轻松实现实时数据传输;

(5)多中断模式实现批量和同步传输。

端点可通过SetMode命令配置为4种不同的模式,分别为:

模式0Non-ISO模式(非同步传输)

模式1ISO-OUT模式(同步输出传输)

模式2ISO-IN模式(同步输入传输)

模式3ISO-IO模式(同步输入输出传输)

USB电缆可以允许使用不同长度的电缆,最长可达几米。

为了提供可靠的输入电压和适当的终端阻抗,在电缆的每一端带偏压的终端。

该终端可以发现任一端口上USB设备的“插入”和“拔除”操作,并能区分全速和低速设备。

图2指示了高速USB设备在集线器的终端位置及其所连的功能设备,从中可以看出在电缆的下行端的电阻Rpu是接在D+线上的,在低速设备中,Rpu电阻是接在D-线上的。

PD工USBD12的软连接(SoftConnet)技术使得在电路设计中可以省去此电阻,并可以通过软件设置。

图3.1PDIUSBD12的原理图

(1)模拟收发器:

集成的收发器接口可通过终端电阻直接与USB电缆相连。

(2)电压调整器:

片内集成了一个3.3V的调整器用于模拟收发器的供电,该电压还作为输出连接到外部上拉电阻。

可选择D12提供的带有上拉电阻的软件连接技术。

(3)倍频电路(PLL)片内集成了6M到48M时钟乘法PLL,就可使用低成本的6M晶振。

(4)位时钟恢复:

位时钟恢复电路使用4X过采样规则,从进入的USB数据流中恢复时钟。

它能跟踪USB规定范围内的抖动和频漂。

(5)串行接口引擎(SIE):

串行接口引擎实现了全部的USB协议层,完全由硬件实现而不需要固件的参与。

该模块的功能包括同步模式的识别、并行/串行转换、位填充/解除填充、CRC校验/产生、PID校验/产生、地址识别和握手评估等。

(6)存储器管理单元(ME)和集成RAM:

在进行数据传输并与微处理器的并口相连时,MMU和集成RAM作为USB间传输的缓冲区,允许MCU以它自己速率对USB信息包读写。

PDIUSBD12内部结构框图如图3.2所示:

图3.2PDIUSBD12的内部框图

3.1.2PDIUSBD12的端点描述

端点(Endpoint)是一个USB设备唯一可以确认的部分,它是主机与设备之间的通信流终点。

一系列相互独立的端点在一起构成了USB逻辑设备。

(1)端点0要求:

所有USB设备都需要实现一个缺省的控制方法。

这种方法将端

点0作为输入端点,同时也将端点0作为输出端点。

USB系统用这个缺省方法初始化及一般地使用逻辑设备(即设置此设备)。

缺省控制通道支持了对控制的传送,一旦设备接上,并加电,且又收到一个总线复位命令,端点0就是可访问的了。

(2)非0端点要求:

设备可以有除0以外的其它端点,这取决于这些设备的实现。

低速设备在0号输入及输出端点外,只能有2个额外的可选端点。

而高速设备可具有的额外端点数仅受限于协议的定义,协议中规定,最多15个额外的输入端点和最多15个额外的输出端点。

非0端点在被配置前处于未知状态,在设备配置以后才能使用。

D12的端点适用于不同类型的设备,并可通过“SetMode”命令配置为4种不同的模式:

模式0(非同步模式),模式1(同步输出模式),模式2(同步输入模式),模式3(同步输入输出模式)。

本设计中只用到了模式0配置,同步模式配置未使用。

端点可用来存放从主机接受到或者设备发送来的数据,每个端点都有属于自己的缓冲区。

模式0配置下的端点缓冲区如表3.1所示。

端点2(主端点)是进行吞吐大数据量的主要端点,具有64字节双缓冲区结构,可以减轻传输大量数据的任务:

(1)双缓冲。

允许USB与本地CPU之间的并行读写操作这样就增加了数据的吞吐量缓冲区切换是自动处理的这导致了透明的缓冲区操作。

(2)支持DMA直接存储器访问操作。

可以和对其它端点的正常I/0操作交叉进行。

(3)DMA操作中的自动指针处理。

在跨过缓冲区边界时不需要本地CPU的干预。

(4)可配置为同步传输或非同步批量和中断传输。

表3.1端点缓冲区配置(模式0)

端点号端点索引传输类型端点类型方向缓冲区长度(字节)

00控制输出默认输出16

01控制输出默认输入16

12普通输出普通输出16

13普通输出普通输入16

24普通输出普通输出64

25普通输出普通输入64

3.1.3PDIUSBD12的指令集

PDIUSBD12有自己的专用指令集,用于设置USB芯片、读取USB芯片的状态和控制USB总线传输。

D12芯片内有一系列的寄存器对应着这些指令,微处理器把要设置的值按字节写入D12的这些寄存器,或者从D12的这些寄存器中读出USB总线的状态。

D12有三种基本的类型的命令:

初始化、数据流和通用命令。

(1)初始化命令

初始化命令在USB总线进行枚举处理时使用,这些命令用于使能端点的功能,还可用来设置USB分配的地址,包括:

设置地址/使能、设置端点使能、设置模式(设置分频系数、软连接、端点模式以及中断模式等)、DMA设置等命令。

表3.2初始化命令指令集

命令名

接收者

编码

数据

设置地址使能

器件

D0h

写1字节

设置端点使能

器件

D8h

写1字节

设置模式

器件

F3h

写2字节

设置DMA

器件

FBh

写/读1字节

(2)数据流命令

数据流命令用于管理USB端点和外部微控制器之间的数据传输,D12通过微控制器中断初始化大量的数据流。

微控制器利用这些命令访问和决定端点的FIFO是否含有有效的数据。

包括:

读中断寄存器、选择端点、读最后处理状态寄存器、读缓冲区、写缓冲区、使缓冲区有效、清除缓冲区、设置端点状态、应答建立等命令。

如表3.4。

(3)普通命令:

包括发送恢复、读当前帧数目两个命令。

表3.3普通命令指令集

命令指令集

发送恢复

F6h

读当前桢数

F5h

读1或2字节

3.1.4PDIUSBD12的管脚配置

PD12共有28个管脚,具有S028和TSSOP28两种封装形式,管脚图如下图3.3所示:

图3.3PBIUSBBI2的管脚配置

表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