在线测量数据的采集及传输系统的设计_第1页
在线测量数据的采集及传输系统的设计_第2页
在线测量数据的采集及传输系统的设计_第3页
在线测量数据的采集及传输系统的设计_第4页
在线测量数据的采集及传输系统的设计_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要:设计一种基于STM32和CPLD的数据采集系统,实现现场数据的采

集、传输、显示和存储。数据采集过程由CPLD控制,采用VerilogHDL语言

设计输入通道选通和A/D采集控制程序,进行数据的滤波、放大、转换,实现

多通道数据的采集;在STM32中实现数据处理、传输,并在PC机中开发上层

数据管理软件,实现数据的显示、存储。系统可实现多通道数据采集实时显示的

要求,电路设计方法简单、可靠性高,能满足实际应用的要求。

本文的研究对象是数据采集技术,是信号处理的核心之一,为复杂的数字信

号处理提供一定的理论指导[4]。对于数据采集系统,随着数据量的不断加大和

实时处理要求的不断提高,提出了运用FPGA进行数据处理,以便提高系统的实

时性、可靠性和数据快速存储的能力。本文研究了数据采集的实现方法,综合运

用了FPGA、SDRAM、以太网传输等技术,系统的最高采样率达25MspS。本

文设计了一种应用ALTERAEP3C25F256FPGA实现时序控制的数据采集系统,

通过以太网RJ45接口与PC机进行通信,该系统具有数据采集速度高、功耗低、

数据传输方便等优点。目前USB已广泛应用于数据采集系统,现阶段使用较多

的是USB2.0规范。随着测试测量要求的不断提高,USB2.0已逐渐难以满足

要求。新的USB3.0规范很好的解决了USB2.0中存在的一些局限,非常适用

于现代测试测量系统。

关键词:STM32;CPLD;实时数据;数据管理

引言

随着自动控制和计算机技术的成熟和发展,以及它们和传统工业的结合,加

工设备的自动化程度有了大幅度的提高,各种控制设备与控制技术得到了广泛应

用,大大提高了加工制造的效率,当然这种高效的生产对检测量的精确性和实时

性也提出了更高的要求,而依靠传统的数据采集方法(即由操作工人凭借简易测

量工具进行测量)已无法满足这种要求。

目前,生产设备的参数采集手段主要有便携式检测仪和在线检测系统,采用

便携式仪器需要花费大量的人力和时间,采集到的数据不能实时反映设备加工的

状态,具有一定局限性;一般的在线检测系统,检测数据相对单一,不能满足多

成分分析的需要;对于一些大型的在线检测系统,虽然能满足实时检测和精度要

求,但系统体积庞大、投资多、难以推广使用,并且国内很多在线检测系统,对

检测到的数据缺乏综合利用和管理,不能很好地为工艺和装置的优化节能及节能

减耗改造服务。因此开发出具有实时数据采集、存储、传输等功能的在线数据采

集系统是十分必要的。

在工业生产和科学技术研究的各行业中,常常需要对各种数据进行采集,如

液位、温度、压力、频率等信息的采集。在图像处理、瞬态信号检测、软件无线

电等一些领域,更是要求高速度、高精度、高实时性的数据采集与处理技术[1]。

随着数字技术的发展,一些高性能的DSP(DigitalSignalProcessing),FPGA

(FieldProgrammableGateArray)和高速的A/D应用于数据采集系统中,大大

提高了系统的测量精度、数据采集处理速度、数据传输速度等[2]。数据采集技

术是信息科学的一个重要分支,它研究信息数据的采集、存储、处理及控制等工

作,它与传感器技术、信号处理技术、计算机技术一起构成了现代检测技术的基

础[3]。随着微电子技术的飞速发展,数据采集技术得到了长足的发展。基于以

太网传输、具有海量数据存储深度和高速ADC所组成的数据采集系统成为当今

发展趋势。

1系统的整体方案与工作原理

数据采集系统是基于CPLD和STM32的弱信号采集电路,可用于各种弱信

号检测的应用研究中,整个系统由信号滤波、信号放大、数据采样处理和主计算

机传输接口等组成。信号滤波防止信号产生"混叠现象";信号放大对输入信号

进行调理,使信号在A/D转换能够转换的电压范围内,以满足采样的要求;数

据采样处理完成模拟信号的采样保持和数字化;与主计算机的数据接口,将数据

上传给计算机,满足信号检测的实时性,进行数据的存储、显示等。数据采集电

路板硬件功能模块构成如图1所示。

场入消理模块

困1数据采集电路板硬件功证模块构成

2系统硬件结构

整个系统由信号预处理、信号采集和数据传输三大模块组成,其中信号预处

理进行信号滤波、信号放大,预处理模块由MC1558,MC1556等组成;信号

采集进行信号选通、A/D转换信号采集模块由AD508、A/D转换芯片、CPLD

组成;数据传输进行数据的软件滤波、通过通信口与上位机进行通信,数据传输

由STM32芯片、信号输出接口模块组成。

在航天、雷达、通信等领域都需要进行大量数据处理,而数据采集与传输是

数据处理的前提。但是随着数据采集精度的不断提高,庞大的数据量导致数据传

输面临巨大压力。传统并行数据传输模式传输速率已经不能满足高速采集领域的

传输需求,串行传输技术不仅克服了输出速率不足的问题,而且不存在高速传输

并行信号的偏移问题,可以显著提高通信系统间的数据传输效果[1]。目前常用

的LVDS串行传输方式传输速度仅有数百兆比特,与此同时LVDS差分走线对

PCB设计要求较高[2]。而光纤传输具有传输频带宽、通信容量大、抗干扰能力

强、布板简单等优点[3]。传统单路光纤传输速率很难超过5Gb/s,基于此本系

统通过两路光纤增加带宽,提高传输速率。

基于以上分析,本文设计了一种高速数据采集与光纤传输系统。系统控制设计采

用FPGA实现,FPGA器件兼有可编程性和高速I/O的技术优势,可以满足串行

传输协议及演变进化的需求,已成为实现串行接口应用的理想平台[4]。

2.1信号预处理电路

由于待采集电压信号输入动态范围较宽,且极性各异,采用输入电压范围可

调的信号预处理电路。信号预处理电路如图2所示,信号放大倍数为RlxR2/

(100x100)。

图2信号预处理电信

2.2信号采集模块

CPLD是在PAL、GAL等逻辑器件的基础上发展起来的,同以往的GAL、PAL

等相比,CPLD的规模比较大,适合于时序、组合等逻辑电路的应用场合。采用

Altera公司的EPM7128SQI100作为数据采集的控制芯片,负责信号采样、A

/D转换、数据输入控制等。EPM7128SQI100具有128个宏单元,84个用户

I/0管脚,工作电压为5.0V,具有2500个可用门和ISP,管脚间延迟为6.0

ns,计数器速度可高达125MHz,可以很好地满足系统的需要。信号采集电路

如图3所示。

2主要硬件模块设计

2.1FPGA控制模块

系统采用Xilinx公司的Virtex-6FPGA作为主控芯片,Virtex-6FPGA是

XHinx较新一代高性能FPGA,内部集成多个吉比特高速收发器,支持多种IP

核,在高速数据采集领域表现比较出色[4]。FPGA控制模块主要实现8路A/D

采集模块工作时序生成、可编程时钟电路控制、高速光纤通信以及外部触发信号

判别。

2.2A/D采集模块

A/D采集模块采用了8片ADI公司的AD9226芯片该芯片是一种单通道、

12bit、65MS/s模数转换器,可采用单端输入或差分输入[5]。AD9226内部

可提供1V和2V两种基准电压源,本系统中设计采用2V基准电压。由于

AD9226电压输入范围为1.0V-3.0V,为了扩大电压采集范围,使系统电压范

围可以达到-5V-+5V,利用运算放大器AD8065在AD9226前端设计了一个

衰减电路。根据满足采集电压范围的要求,衰减电路需要满足:

其中Vin为输入电压值,Vout为输出电压值。A/D转换出的数字信号只需

按式(1)反向运算即可得到输入电压的真实数值。单路A/D采集电路如图2所示。

2.3光纤通信模块

本系统中AD9226为12bitADC,8路ADC采集到的数据为96bit。为了

保证数据正确传输,与上位机协议将A/D采集数据进行编帧。设置16bit帧头

EB90,16bit帧尾146F,8路A/D采集数据按照上位机编码协议打包成一个

128bit的数据帧。本设计中AD9226最高采样率设置为60MHz,8路A/D采

集电路最高数据速率达5.76Gb/s,整个系统的最高数据速率达7.68Gb/s。为

了满足整个系统传输速率的要求,采用了基于Aurora协议的光纤传输方案。

Aurora协议是Xilinx公司开发的一种支持多路光纤传输,且具备信道初始化与

时钟矫正等功能的高速串并转换协议[6]。针对不同应用的需求,Aurora协议可

支持流(Streaming)和帧(Framing)两种数据传输模式,以及全双工、单工

数据通信方式[6]。Aurora8b/10bIP核结构框图如图3[7]所示。

图3Aurora8b/10b结构框图

UO-lfO

EPM7128

VO

It)

I喈222W

ADG508是一款8通道CMOS模拟多路选择器,具有高速转换速度和低内

阻特性,通道切换具有防短路功能。在CPLD控制下,它可对采集信号进行有序

通道切换。A/D转换芯片选用AD977,AD977是ADI(AnalogDevices)公司

推出的一款高速16位A/D转换器,输入电压范围为-10~+10V,单极5V

电压供电,采样频率可达100kHz。数据采样系统最大采样速率可达50kHz,信

号分辨率可达0.3mVo通过采用多路转换开关ADG508与16位A/D配合

使用,降低了成本。

2.3数据传输模块

STM32是数据通信芯片,主要负责数据处理、传输控制、参数设置等。采用

STM32F103XB系列ARM芯片,该系列芯片是意法半导体基于Contex-M3内

核的32位微处理器,可以满足高性能、低功耗和低成本特性的嵌入式应用。芯

片具备72MHz时钟频率,拥有丰富的外设装置,包括128KB嵌入式闪存、

20KB的SRAM、两个ADC接口、三个UART、支持USB、CAN和七个DMA

通道等丰富的外围模块,以其高速的指令执行速度、方便的JTAG调试方式和低

功耗等特性为数据采集与处理的设计提供了一个较为完善的平台。数据传输电路

如图4所示。

图4数据传输电路由

STM32F103VBT6的所有I/。端口兼容CMOS和TTL,在5V引脚上的输

入电压最小值为-0.3V,最大值为5.5V,低电平电压范围为-0.5~0.8V,

高电平电压范围为2.0~5.0V,经EPM7128输出的数据直接与

STM32F103VBT6连接,简化了电路。

2.4系统的组成与原理

数据采集包括模拟信号和数字信号的采集,本系统对信号的处理主要包

括模拟部分、FPGA内部时序设计部分。其中模拟部分主要完成对模拟信号的

A/D转换设计;数字部分完成对ADC、SDRAM和DM9000的驱动。图1为本

论文数据采集系统的总体框图。

在模拟信号采集的过程中,模拟信号首先经过单转差分器将调整后的模

块信号输入给A/D转换器(选用的ADC芯片需要差分形式的信号输入),然后经

模数转换之后将12bit的数字信号直接输出给FPGA,FPGA接收数据并存储在

SDRAM中,然后通过FIFO方式读出SDRAM中存储的数据并传输给网卡控制

器DM9000,DM9000通过以太网接口RJ45接口输出UDP协议数据给PC机,

在PC端可以对接收到的数据进行进一步处理。

FPGA是整个数据采集系统的核心模块吏t所有的信号处理过程及存储、

转发过程进行时序控制。网卡控制芯片DM9000集成10/100M自适应收发器,

完全符合IEEE802.3U规格,其自动协调功能自动完成配置以最大限度地适合其

线路带宽。

3软件设计

根据设计任务的要求,系统软件主要完成数据的采集、滤波处理、串口与PC

机的通信,数据采集软件由信号采集与通信模块软件、上位机监控软件两部分组

成。

3.1数据采集部分

如图AD8138完成把单端信号转化为AD9225进行A/D转换器输入所

需要的差分形式。使用差分形式,可以有效地滤除偶次谐波分量,同时对其它共

模杂散信号(如由电源和地引入的噪声)及对晶振的反馈信号也有很好抑制作用。

在本系统中,选用ADI公司的AD9225芯片进行模数转换,AD9225

是一款单芯片、12位、25MspS模数转换器(ADC),采用单电源供电,内置一

个片内高性能采样保持放大器和基准电压源。它采用多级差分流水线架构,内置

输出纠错逻辑,在25MspS数据速率时可提供12位精度,并保证在整个工作温

度范围内无失码。

3.2数据采集部分

AD8138完成把单端信号转化为AD9225进行A/D转换器输入所需要

的差分形式。使用差分形式,可以有效地滤除偶次谐波分量,同时对其它共模杂

散信号(如由电源和地引入的噪声)及对晶振的反馈信号也有很好抑制作用。

在本系统中,选用ADI公司的AD9225芯片进行模数转换,AD9225

是一款单芯片、12位、25MspS模数转换器(ADC),采用单电源供电,内置一

个片内高性能采样保持放大器和基准电压源。它采用多级差分流水线架构,内置

输出纠错逻辑,在25MspS数据速率时可提供12位精度,并保证在整个工作温

度范围内无失码。

SDRAM内存芯片的主要信号有控制信号、控制信号、数据信号,均为

工作时钟同步输入、输出信号。控制信号主要有:CS(片选信号),CKE(时钟使能

信号),DQM(输入、输出使能信号),CAS、RAS、WE(读写控制命令字)。通过

CAS、RAS、WE的各种逻辑组合,可产生各种控制命令。地址信号有:BAO和

BA1页地址选择信号,A0〜A12地址信号,行、列地址选择信号。通过分时复

用决定地址是行地址还是列地址。在读写操作中,在地线上依次给出页地址、行

地址、列地址,最终确定存储单元地址。数据信号有:DQO~DQ7,双向数据,

其使能受DQM控制。SDRAM的工作模式通过LOADMODEREGISTER命令

对工作模式寄存器进行设置来选择。设置参量有Reserved(备用的人)Write

BurstMode(WB,写突发模式)、OperationMode(OpMode,工作模式)、

CASLatency(CAS延迟)、BurstType(BT,突发类型)、BurstLength(突发长

度)。SDRAM控制器FPGA和SDRAM的连接框图如图4所示。

图5是SDRAM控制器的状态转移图。状态图中的各个状态内均包含一

系列的子状态转移(对SDRAM内存条发出连续命令),每个子状态完成一个功能

操作。初始化操作包括前面介绍的内存条初始化全过程,工作寄存器的默认值在

Verilog程序中指定。以后可以通过LOAD_MODE命令改变内存条的工作模式。

初始化结束后,SDRAM进入Idle状态,刷新计数器开始工作,控制器开始响

应外部逻辑的操作请求。

3.3数据转发部分

在本数据采集系统中,以网卡控制芯片DM9000作为和PC端通信的

中介,在这里选择UDP输入协议,从SDRAM中读取数据并传送到PC机。

DM9000是一款完全集成的和符合成本效益单芯片快速以太网MAC控制器与

一般处理接口,一个10/100M自适应的PHY和4KDWORD值的SRAM。它

的目的是在低功耗和高性能进程的3.3V与5V的支持宽容。DM9000还提供了

介质无关的接口,来连接所有提供支持介质无关接口功能的家用电话线网络设备

或其他收发器。该DM9000支持8位,16位和32位接口访问内部存储器,以

支持不同的处理器。DM9000物理协议层接口完全支持使用lOMBps下3类、

4类、5类非屏蔽双绞线和lOOMBps下5类非屏蔽双绞线。这是完全符合正EE

802.3U规格。它的自动协调功能将自动完成配置以最大限度地适合其线路带宽。

还支持IEEE802.3X全双工流量控制。在该数据系统中,以FPGA驱动DM9000

工作,实现和PC端的互连。DM9000与FPGA接口如图6所示。

3.1信号采集与通信模块软件设计

数据采集系统的固件驱动程序(又称单片机程序)是固化到CPU模块内的软

件,采用模块化设计,主要模块包括:信号采集控制模块和数据传输模块两大部

分。信号采集控制模块软件固化到CPLD中,数据通信模块软件固化到STM32

中。

信号采集控制模块软件利用Altera公司的Quartus开发软件实现,采用

VerilogHDL语言设计,主要功能包括输入通道选通、数据采样控制。通过CPLD

芯片分别控制ADG508和AD977,进行模拟量输入通道的选择和启动A/D转

换。数据的采集算法过程中,根据香农定理,采样频率大于被采集信号的2倍频

率。信号采集模块软件流程图如图5所示。

S5信号采集模块软件流程图

数据传输模块软件在RealViewMDK环境下编写,主要功能包括数据接收、

数据处理、串口通信。空圾通过握手信号启动CPLD的数据采集程序,在启

动A/D转换器转换下一路信号。软件设计上,采用极值滑动平均滤波抑制叠加

在模拟输入信号上的噪声;应用软件拦截技术、软件看门狗技术、故障处理自恢

复技术等措施使受干扰而"跑飞”的程序回到正常的轨道上;采用I/。自检等

程序预先发现故障并定位故障所在,提高系统的可靠性。数据通信模块软件流程

图如图6所示。

图6数据通信模块软件流程图

3.2上位机监控软件设计

用户应用服务程序直接面向用户,是控制数据采集软件的最上层,不仅提供

与用户交互的界面,还能通过发送各种控制命令来控制采集模块的丁作。利用微

软公司开发的软件开发平台VC++6.0没计上层界面,进行数据的实时显示、

存储。采用串口传输协议,将底层采集到的数据传输到上位PC机,并在

VC++6.。设计的上层界面中实时显示。

制定通信协议:通信双方的波特率设定为9600b/s;帧格式:一个起始位,

八个数据位,一个可编程的第九位,一个停止位;工作方式:PC机采用查询方

式,STM32采用中断方式;功能标志:发送请求标志#OF1H,接收请求标志

#OFFH;校验:通信双方采用求和校验的方式,即发送一串字符,双方计算累加

和,与PC机比较,有错即重发。

该数据采集系统中,FPGA与DM9000以16bit的总线方式连接,以单工

模式运行。在系统上电时,由FPGA通过配置DM9000内部网络控制寄存器

(NCR)、中断寄存器(ISR)等,完成DM9000的初始化。随后,DM9000进入数

据收发等待状态。当处理器要向以太网发送数据帧时,先将数据打包成UDP数

据包,通过16bit总线逐字节发送到DM9000的数据发送缓存中,然后将数据

长度等信息填充到DM9000的相应寄存器内,随后发送使能命令,DM9000A

将缓存的数据和数据帧信息进行MAC组帧,通过RJ45接口发送到PC机。

由于在本系统中采用单工模式运行以16bit方式在FPGA与DM9000

之间进行通信,FPGA配置DM9000发送的流程如图7所示。寄存器ISR中的

PTS标志位是发送中断标志位,当一帧数据发送完毕,PTS=O,FPGA检测到该

标志后,应清除标志位以便发送新的数据帧。这里需要注意的是,向FC、FD所

写的帧长度应该是包含目的MAC地址段、源MAC地址段和有效数据的总长度。

1)半双工通信

USB2.0采用半双工通信,同一时间只能有一个方向的数据传输,在需

要双向高速数据传输的场合往往难以满足要求。

2)需要主机调度

USB2.0标准在传输调度上采用主从结构,需要计算机首先发起IN

Token或OUTToken,USB设备才能进行数据传输,一次数据传输完成后,

又必须等待下一个Token,大大制约了数据传输的实时性。

3)通信速率相比于竞争对手不高

USB的竞争对手有1394和eSATA等,较新的1394b标准数据传输

速度达到了800Mbps,几乎比USB2.0HS高一倍。而eSATA的数据传输速

度更高。

2USB3.0SS(SuperSpeed)标准简介

为了加强USB的性能和竞争力,USB联盟推出了新的USB3.0SS

(SuperSpeed)标准。该标准使用两条差分链路实现了全双工通讯,速率达到

了5.0Gps,不但高于1394b标准,与eSATA相比也同样具有竞争力。

USB3.0在2.0的基础上新增加了2对差分链路,专门用于传送SS差

分信号。主机侧接口的机械特性和USB2.0兼容,而设备侧使用了新的接口形

式,以容纳新增的两对差分信号线。USB2.0接口的B型连接器可以插入USB

3.0的设备端,此时设备工作于USB2.0模式下"旦USB3.0的B型连接器

无法插入USB2.0的设备端。

除此以外,USB3.0的总线供电能力达到1A,使其可以用于移动硬盘

等耗电量较大的设备,而不必另外配备外接电源。

3CYUSB3014芯片介绍

CYUSB3014是USB业界的领头羊Cypress公司出品的USB3.0控

制器,该款控制器集成了200MHz的ARM9控制器、512K字节的RAM和

USB3.0物壬醺,具有可编程的100MHzGPIFII接口。

CYUSB3014芯片逻辑框图

4系统硬件设计

本系统中,使用了一片AD6644作数据转换。这是AnalogDevice公

司生产的14位高速ADC,最高采样速率达到40Msps.

整个系统的功能框图如图2所示。

系统的功能框图

图中,传感器将外部信号变换为电信号;放大滤波部分将传感器输出的

微弱电信号进行放大、滤波处理,以去除外部干扰;AD6644在FPGA的控制

下对放大滤波后的信号进行采集和转换;FPGA读取AD输出,并按照

CYUSB3014的GPIFII接口规范将该数据写入芯片内部的FIFO.此外,FPGA

还可以根据当前信号特性调整放大滤波电路参数,以获取更优的信噪比。

5GPIFII接口与FPGA程序设计

在整个硬件系统中,FPGA与CYUSB3014之间的数据传输速度是决

定整个系统性能的关键。Cypress在GPIF的基础上设计了可编程GPIF-II接

口,该接口可工作于主控或从属方式,支持32位数据总线,接口频率最高可达

100MHz,有异步和同步两种时序。在本系统中,为了达到更高的数据传送效率,

根据GPIF-H接口时序,编写了相应的FPGA程序,实现了在FPGA和

CYUSB3014之间的高速数据传输。实测结果表明,FPGA和CYUSB3014之

间的数据传输速度最高达到了200Mbytes/s,完全满足本系统要求。下文是数

据传输状态机的部分代码:

数据传输状态机的部分代码

6USB固件设计

CYUSB3014集成了一片ARM9核心的处理器,完成USB初始化、

枚举、数据传输管理等工作。固件开发使用开源的gcc编译器和Eclipse集成

开发环境,下面是用于管理数据传输的部分代码:

用于管理数据传输的部分代码

7上位机驱动和软件设计

Cypress提供了基于WDF的驱动程序模块,WDF(WindowsDriver

Foundation)是microsoft推行的驱动开发框架,用来替代之前的WDM框

架。WDF框架对WDM进行了封装和继承,与WDM相比,WDF框架的驱

动开发更简单方便,尤其是简化了电源管理和PNP(Plugandplay)方面的工

作量。根据该系统的实际需要,对驱动代码进行了修改并编写了应用程序,能够

稳定可靠地采集数据,表明该系统满足了预期的设计要求。

1USB2.0的性能与局限

通用串行总线USB(UniversalSerialBus)是目前应用极为广泛的一

种系统总线,大量应用在测试测量领域。目前应用最广泛的是USB2.0标准,

具有最高480Mbps的通信速率。但同时USB2.0标准也存在着以下不足:

1)半双工通信

USB2.0采用半双工通信,同一时间只能有一个方向的数据传输,在需

要双向高速数据传输的场合往往难以满足要求。

2)需要主机调度

USB2.0标准在传输调度上采用主从结构,需要计算机首先发起IN

Token或OUTToken,USB设备才能进行数据传输,一次数据传输完成后,又

必须等待下一个Token,大大制约了数据传输的实时性。

3)通信速率相比于竞争对手不高

USB的竞争对手有1394和eSATA等,较新的1394b标准数据传输

速度达到了800Mbps,几乎比USB2.0HS高一倍。而eSATA的数据传输速度

更肩)。

2USB3.0SS(SuperSpeed)标准简介

为了加强USB的性能和竞争力,USB联盟推出了新的USB3.0SS

(SuperSpeed)标准。该标准使用两条差分链路实现了全双工通讯,速率达到

了5.0Gps,不但高于1394b标准,与eSATA相比也同样具有竞争力。

USB3.0在2.0的基础上新增加了2对差分链路,专门用于传送SS差

分信号。主机侧接口的机械特性和USB2.0兼容,而设备侧使用了新的接口形

式,以容纳新增的两对差分信号线。USB2.0接口的B型连接器可以插入USB

3.0的设备端,此时设备工作于USB2.0模式下"旦USB3.0的B型连接器

无法插入USB2.0的设备端。

除此以外,USB3.0的总线供电能力达到1A,使其可以用于移动硬盘等

耗电量较大的设备,而不必另外配备外接电源。

3CYUSB3014芯片介绍

CYUSB3014是USB业界的领头羊Cypress公司出品的USB3.0控

制器,该款控制器集成了200MHz的ARM9控制器、512K字节的RAM和

USB3.0物理层,具有可编程的100MHzGPIFII接口。

图1是该芯片的逻辑框图。该芯片可用于数字摄像机、数据采集、测试

测量设备等多个领域。

4系统硬件设计

本系统中,使用了一片AD6644作数据转换。这是AnalogDevice公

司生产的14位高速ADC,最高采样速率达到40Msps.

整个系统的功能框图如图2所示。

图中,传感器将外部信号变换为电信号;放大滤波部分将传感器输出的

微弱电信号进行放大、滤波处理,以去除外部干扰;AD6644在FPGA的控制

下对放大滤波后的信号进行采集和转换;FPGA读取AD输出,并按照

CYUSB3014的GPIFII接口规范将该数据写入芯片内部的FIFO.此外,FPGA

还可以根据当前信号特性调整放大滤波电路参数,以获取更优的信噪比。

5GPIFII接口与FPGA程序设计

在整个硬件系统中,FPGA与CYUSB3014之间的数据传输速度是决

定整个系统性能的关键。Cypress在GPIF的基础上设计了可编程GPIF-H接

□,该接口可工作于主控或从属方式,支持32位数据总线,接口频率最高可达

100MHz,有异步和同步两种时序。在本系统中,为了达到更高的数据传送效率,

根据GPIF-II接口时序,编写了相应的FPGA程序,实现了在FPGA和

CYUSB3014之间的高速数据传输。实测结果表明,FPGA和CYUSB3014之

间的数据传输速度最高达到了200Mbytes/s,完全满足本系统要求。下文是数据

传输状态机的部分代码:

6USB固件设计

CYUSB3014集成了一片ARM9核心的处理器,完成USB初始化、

枚举、数据传输管理等工作。固件开发使用开源的gcc编译器和Eclipse集成

开发环境,下面是用于管理数据传输的部分代码:

7上位机驱动和软件设计

Cypress提供了基于WDF的驱动程序模块,WDF(WindowsDriver

Foundation)是microsoft推行的驱动开发框架,用来替代之前的WDM框

架。WDF框架对WDM进行了封装和继承,与WDM相比,WDF框架的驱

动开发更简单方便,尤其是简化了电源管理和PNP(Plugandplay)方面的工

作量。根据该系统的实际需要,对驱动代码进行了修改并编写了应用程序,能够

稳定可靠地采集数据,表明该系统满足了预期的设计要求。

在智能仪器、信号处理以及工业自动控制等领域,都存在着数据的测量与控

制问题,常常需要将外部的温度、压力、流量、位移等模拟量进行采集。目前常

用的数据采集方式是通过数据采集板卡,常用的有ISA总线,PQ总线,422,

485等接口形式的A/D采集卡,这种板卡不仅安装麻烦,而且易受计算机插槽

数量和地址、中断资源的限制。通用串行总线(UniversalSerialBus,USB)的

出现,很好地解决了以上问题。本文所设计的就是基于USB总线的快速12b

的数据采集系统。

2USB总线简介

USB总线是Intel,DEC,Microsoft,IBM等公司联合提出的一种新的串

行总线接口规范,是为了解决日益增加的PC外设与有限的主板插槽和端口之间

的矛盾而制定的一种串行通信标准。USB具有较高的传输速度:USB协议1.1

支持低速(1.5Mb/s)和全速(12Mb/s)2种传输模式,而2.0协议支

持的速度提高到480Mb/s。他的数据传输速度比标准串/并口高,且具有使

用简单、支持即插即用、易于扩展等特点。

USB接口采用4线电缆,其中2根信号线,1根电源线和1根地线,电源

线可以向外设提供最大5V,500mA的电流。USB接口有4种传输方式:控制

传输、批量传输、终端传输和同步传输,可以满足不同传输的需要。

2系统原理

该系统由工控机、USB100.AT89C51单片机、PTR2000(2块)、ADUC812

单片机构成。

2.1ADUC812高性能单片机

AnologDevice公司的ADUC812高性能单片机由与8051兼容的内核

[1]、片内外围设备、电源单元和模拟单元组成。8051兼容的内核额定的工

作频率是12MHz(最大可达16MHz),3个16b定时计数器,功能包括看门狗

定时器、电源监视PSM、高速ADC以及DMA控制器。片内有8kB的闪速/

电可擦除程序存储器,640B的闪速/电可擦除数据存储器和256B的片内数据

RAM,支持16MB的外部数据存储空间和64kB的外部数据寻址空间,为多处

理器接口和I/O扩展提供了32条可编程的I/O口线端口3有高电流驱动能力,

同时具有标准的UART接口和可配置的12C端口或SPI端口。模拟单元包括8

通道、高速(200kb/s)自校准12bADC、片内40PpM/C电压基准、2个电压

输出DAC和片内温度传感器等,可构成一个强大的12b数据采集系统。

2.2USB100通用串行总线协议模块

USB100是基于ASIC设计的,内部封装了USB1.1全部协议以及多达384

B的发送缓冲区和128B的接收缓冲接口,对USB接口的操作如同对外部存储

器操作一样方便,由USB100模块完成全部协议的转换和封装,使开发过程变

得十分简单。

各管脚说明如下:

P1-P9,P16,NC:空脚。

PIO,VCC:输出,+5V输出,提供给外部MCU使用,最大400mA。

Pll,USBVCC:输入,USB接口的电源脚。P12-P13,D+,D-:输入

/输出,USB数据线。P14-P15,GND:电源地。

P17,RXE:输出,高表示模块没有数据输出"氐表示模块有数据输出,可

以读数据。

P18,TXE:输出,高表示模块发送缓冲区已满;低表示发送缓冲区为空,

可以发送数据。

P19,WR:输入,将8b并行总线上的数据锁存入内部缓冲区。

P20,RD:输入,允许内部接收缓冲区数据通过8b并行总线读出。

P28-P21,D0-D7:8b双向数据线,他是一个8b并口,USB100通过

他与单片机交换数据。

USB100模块的控制时序:

发送时序当单片机检测到USB100模块TXE为低时,表示内部发送缓冲

区允许发送数据到USB端口,可以将数据通过8b数据总线发给USB100模

块,发送数据锁存由WR控制,USB100模块TXE为高时,禁止发送数据。

接收时序当单片机检测到USB100模块RXF为低时,表示内部接收缓冲

区有来自USB端口的数据,可以通过8b数据总线将数据读入发给USB100模

块,接收数据锁存由RD控制,接收时序如图5所示。

2.3PTR2000无线传输模块

PTR2000是一个小型、超低功耗无线数据收发模块。该模块工作频率为国

际通用的数传频段433MHz[3],采用了FSK调制,抗干扰能力强,采用了

DDS+PLL频率合成技术,频率稳定性极好,灵敏度达到-105dPm,最大发

射功率为+10dPm,工作电压2.7~5.25V,具有2个工作频道,工作最高

速度可达19.2kb/s(也可工作在其他频率,如9600b/s),可直接与CPU串

口使用如8031等,也可以按计算机RS232串口,软件编程非常方便。由于该

模块采用了低发射功率、高灵敏度设计,使用无需申请许可证。

各管脚说明如下:

P1:VCC,电源输入端,接2.7〜5.25V。

P2:CS,频道选择,CS=0选择工作频道1,即433.92MHz;CS=1选

择工作频道2,即434.33MHz。

P3:DO,数据输出。

P4:DI,数据输入。

P5:GND,接地端。

P6:PWR,节能控制,PWR=1,正常工作状态;PWR=0,待机微功耗状

态。

P7:TXEN,发射接收控制,TXEN=1模块处于发射状态,TXEN=0模块

处于接收状态。

3采集系统的编程

3.1单片机ADUC812编程

程序在初始化了各种参数以后,开始不断循环,查询A/D端口,将各路A/D

端口的数据不断采集,并通过串口输入PTR2000,由PTR2000将数据传输出

去;同时该模块不断查询串口,若有由PTR2000通过串口输入的数据,及时将

数据输出到端口。本程序采用语言编程,主程序为

D/ACmain()o

注:FFH开始采集数据标志;EEH结束标志。

3.2AT89C51单片机编程

AT89C51负责传输数据,一方面他通过PB口与USB100的并行数据口相

连,负责从USB100接收或者将数据传输给USB100模块;另一方面AT89C51

通过串口与另一块PTR2000相连,负责将从USB100模块接收的数据传给

PTR2000,或者将从PTR2000模块接收的数据传给USB100模块。他的程序与

ADUC812的程序相似,区别在于他没有开始和结束标志,并且他查询的是

USB100模块是否有数据输出和串口是否接收到PTR2000传来的数据。

3.3工控机编程

在工控机上安装好USB100模块的专用驱动程序后,USB100即可作为一个

标准的设备来编程,可以按照与串口完全一样的方法进行编程。在本次设计中采

用了VC编程,在VC中采用MSComm控件,将USB接口作为一个标准的串

口使用。程序分为两部分:一部分是USB接口程序;另一部分是应用程序部分。

将由ADUC812采集到的A/D数据用直观的图像的方法显示出来。

3USB接口的数据采集系统的设计实现

整个系统主要由4部分组成:USB接口芯片及外围电路、控制电路、数据

缓冲电路和A/D转换电路。USB接口芯片选择了Cypress公司的EZ-USB

2131Q,该芯片内嵌8051控制器,因此整个系统以EZ-USB控制器为核心,由

EZ-USB经控制电路实现对A/D转换电路和数据缓冲电路的控制,模拟信号转

换后的数据送入数据缓冲器,当数据缓冲器存满之后,通知EZ-USB控制器,由

主机取出数据。整个系统框图如图1所示。

图1系饶摩理框图

3.1USB接口电路设计

EZ-USB2131Q是CYPRESS公司生产的EZUSB系列芯片的一种,该芯片

集成了USB外设接口所需的功能电路,其原理框图如图2所示。

图2AN213IQC<8。引的)同化框用

AN2131Q具有24个I/。引脚,16b地址总线和8b数据总线,可以进

行外部存贮器的扩展。

图2中的微处理器是一个具有快速执行周期和加强特性的8051核,其性

能是标准8051的5倍,指令系统与标准的8051兼容。他使用内部RAM存储

固件和数据,上电后USB主机通过USB总线将固件和外设特性描述符下载到

RAM中,然后重新连接,按照描述符中定义的外设特性完成重列举。这使得USB

有一个"软”解决方案,即USB外设的设计者可以随时设置和升级固件,不受

端口数、缓冲大小、传输速度及传输方式的限制。

本系统中EZ-USB的外围电路主要包括EZ-USB芯片和PC机的接口电路、

电源模块及EZ-USB供电电路、E2PROM枚举电路(I2C总线上连接E2PROM

存储设备的PID,VID),其主要功能是保证EZ-USB芯片的正常工作并实现和

PC机的通讯;功能电路是利用他的I/O弓I脚实现的,由于EZ-USB的I/O是

可编程的,通过寄存器设置PA口的高4位和PB口为输入,用来传输数据缓冲

器中的12b数据,利用C口接收中断和产生控制信号。

EZ-USB为块传输、控制传输和中断传输提供了16个端点,在数据采集系

统设计中使用了块传输方式,使用终端2-in来传输数据,允许的最大数据包为

64B;终端1-out和终端3-out输出控制信号。

3.2A/D转换电路

系统中A/D转换芯片采用了MAXIM公司的MAX122,该芯片是12b

的高速的A/D转换器。在完全转换模式下,他的转换时间可以达到2.6|JS,

采样率为333kSIs。MAX122有5种工作模式,在数据采集系统中,采用了

模式2即连续转换模式。在这种模式下,每次转换需要13~14个时钟脉冲节拍,

转换可以不间断地进行,但是需要提供开始转换使能信号,并且要保证使能信号

和时钟信号同步,读信号和片选始终处于有效状态。数据输出使能信号一直有效,

在转换结束时产生新的数据。

3.3控制电路及数据缓冲电路

A/D转换器MAX122的采样率较高彳导到的数据不能通过USB总线直接

传送给主机,因此需要在A/D转换器和主机之间连接数据缓冲器,A/D转换

器产生的数据先存储在缓冲器中,当缓冲器数据存满之后,通知主机取走数据。

这里的数据存储器使用的是128kx8的静态RAM,使用2片并接将数据线扩展

16bo

&n控制电路是整个系统的核心,系统中采用一片Altera公司的EPM7128

设计实现控制电路,该器件具有在线调试的功能,因此给设计带来了很大的方便。

控制电路的原理框图如图3所示。

在智能仪器、信号处理以及工业自动控制等领域,都存在着数据的测量与控

制问题,常常需要将外部的温度、压力、流量、位移等模拟量进行采集。目前常

用的数据采集方式是通过数据采集板

控制电路的原理框图

控制电路主要由以下部分组成:逻辑控制电路、时钟电路、三态缓

冲电路、时序逻辑控制电路和地址发生器。逻辑控制电路接收USB控制器发出

的控制信号,产生三态缓冲电路和时钟电路的控制信号;三态缓冲电路控制数据

传输方向,是由MAX122传输到RAM,还是由RAM传输至I」USB控制器;时

钟电路用来产生MAX122的时钟信号CLKIN和转换开始信号CONVST,以及

地址发生器的时钟信号;时序逻辑电路调整相关信号之间的同步,保证电路的时

序正确;地址21发生器由计数器来实现,提供RAM的读写地址信号。

系统的工作过程如下:控制电路接收到开始采集信号时,控制三态

缓冲电路的数据传输方向为A/D转换器转换的数据存入SRAM中,并且使时

钟电路产生A/D转换器的转换开始信号CONVSL时钟CLKIN信号和地址发

生器的时钟信号及控制信号。CONVST和CLKIN信号还必须通过时序逻辑控制

电路调整使2个信号同步,CONVST信号在下一个时钟信号(CLKIN)上升沿

来到之前保持低电平至少50ns,确保转换时间为13个时钟周期。并且地址发

生器的时钟信号也要和CONVST信号同步,使A/D转换器产生的数据能存入

正确的地址中。

控制电路接收到读数据的信号时,便产生控制信号,使三态数据缓冲

器的数据传输方向是从SRAM到USB控制器,地址发生器产生的地址信号是

SRAM的读地址。当地址发生器的计数器计数到1FFFFH(128kb),即RAM

的最后一个地址时,计数器发生溢出,产生溢出中断信号INTO和INT1到USB

控制器的PC口的第2位和第3位(设置为8051辅助功能位),当USB接收

到中断信号之后,在中断服务程序中,进行相应的读处理。

SRAM的读/写是相互独立的,由地址发生器产生地址信号,地址

发生器由计数器来实现。当开始采集数据时,对RAM进行写操作,地址发生器

产生的地址信号清0,同时必须使能RAM的写使能,在写使能低有效时,数据

就写入SRAM。时钟信号和A/D转换器的转换时钟相一致,每产生一个数据,

地址自动加10当采集结束时,主机发出命令取出数据,对RAM进行读操作,

当第一个读脉冲到达时,地址发生器产生的地址信号清0,时钟信号和USB控

制器读的周期相一致,每读一个字节,地址自动加L

4系统驱动程序设计

USB接口的数据采集系统其系统软件包括3个方面:USB外设固件

(Firmware)、主机操作系统上的用户驱动程序和用户操作界面的应用程序。

USB外设固件框架是由EZ-USB软件开发包中提供的,根据用户的

需要填写其中的函数,这些函数主要包括:

TD」nit()(用于初始化Firmware的全局状态变量);

TD_Poll()(用于调用实现外设主要功能的用户子程序)。

这2个函数是用户一定要填写的。

数据采集系统中TD_Init()主要包括PA,PB和PC的初始化以

及其他用到的寄存器的初始化。

TD_Poll()主要包括控制信号和数据传输的实现。初始化时,必

须按照一定的顺序对寄存器进行操作。

另外,还必须注意INTO和INT1中断响应程序的处理。

EZ-USB的用户驱动程序包括下载Fireware的驱动程序和功能驱动

程序,前者称为ezloader,后者称为通用驱动程序GPDO用户应用程序的开发

就是基于通用驱动程序GPD的接口进行的。用户操作界面的应用程序使用VC

++6

.0来实现,在应用程序中对EZ-USB硬件进行读写调用CreatFile,

CloseFile,ReadFile,WriteFile,lOControl等对设备直接操作的函数。

1系统硬件设计

1.1系统构成和工作原理

系统由数据采集器、BLE终端节点、BLE协调器节点、上位机等部件构成,

采用BLE4.0的无线数据传输技术,把采集到的数据收集到一个BLE协调器中,

并由上位机实现对数据的显示和处理,系统的整体结构如图1所示。其中数据采

集终端主要完成电流、温度、湿度等参数的采集;BLE终端节点主要完成从数据

采集终端接收数据,并通过无线通信方式发送接收的数据,或者接收BLE协调

器节点发送的控制命令进行操控;BLE协调器节点是整个网络的发起者,管理整

个网络的规模,存储有BLE网络中各个节点的信息。担当BLE网络中的协调器

的角色,主要任务就是组建和维护一个网络,收集BLE网络中各个节点发出的

信息,通过RS232接口把数据传到上位机;上位机接收BLE协调器节点传来的

信息,并处理和显示数据。

1.2协调器与终端器节点电路设计

终端节点电路主要有数据采集电路

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论