高性能数据采集系统设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1前言
随着越来越多的通信系统在宽带上通行,对信号处理器件
的处理速度和数据采样的速率要求变得越来越高,尤其是在电信领域对信号处理的频带要求不断提高,动态范围要尽可能的大,以便获得更宽的频率和更多的信息量。因此,通信系统对信号处理前端的数模转换(A/D )采样电路提出了更高的要求,希望A/D 转换不仅速度和精度高,而且对存储和处理的速度也提出了更高要求,以满足系统实时、快速处理的要求。在这种背景下,对如何研究提高数据采集与数字信号处理速度成为了通信领域的热点。当前,高速数据采集与高速数据存储处理技术的经成为衡量一个国家科技发展和生产水平技术实力的重要标志。在数据采集于处理速度技术的研究方面,国外一些知名企业如HP
(美国惠普公司)、NI (美国国家半导体公司)、日本横河等仍然占据着强势的地位,但是近年来国内不少企业也纷纷崛起,如北京安迪科技、北京和利时等企业也在急起直追,许多高技术、高指标的产品都拥有了自己的专利,在关键技术研究方面已经冲破了传统仪器的概念,在并行处理技术和智能技术等领域得以长足发展。
数据采集是信息科学的一个重要分支,它与信号处理技术、传感器技术构成了现代检测技术的基础。随着数据采集系统在各领域的广泛应用,人们对速率、分辨率、采样深度、控制方式、精度以及抗干扰能力等数据采集系统的主要技术指标提出了越来越高的要求。其中,
通过速率是数据采集系统设计者与使用者最关心的一项重要技术指标。目前比较通用数据采集的使用方法是PC 或工控机内安装A/D 卡、DAQ 卡等数据采集卡,通过这些采集实现数据采集功能。但经过长期使用后发现这些数据采集设备采集速率慢,在许多应用场合,无法实现数据采集的高速需要。比如在航空航天方面,对火箭喷气流量的动态测试、飞机在风涧中颤振与抖振特性的测量以及遥感卫星的图像传输遥测遥控等场合对高速采集技术要求很高。因此,对数据采集的速度、精度的研究具有十分重要的意义。
2高速数据采集系统的设计目标
一个完整的数据采集系统由输入信号、预采样滤波器、数
字处理器、平滑处理器、输出信号等5部分组成,模拟输入信号经过一个预采样滤波器采样之后,再由模数转换器(ADC )量化为二进制数码,通过计算机进行数据处理,数据经由数模转换器(DAC
)转换为模拟信号。因此,一个很高性能价格比的数据采集系统必须要实现下面的目标。
(1)系统通过速率.高速采集系统的设计,系统通过速率是最重要的技术指标。它是指系统传输速率、系统采集速率以及吞吐率。在数据上可以这样理解为系统每个通道、每秒钟可采集、处理与输出的的样本数。
(2)系统精度,即数据采集的精确度。(3)系统分辨率,即采集对象的清晰程度。(4)系统线性误差。(5)系统短期稳定度。(6)系统通道串扰抑制比。(7)系统共模抑制比。
在上述些技术指标中,系统的分辨率、精度与通过速率对高速数据采集系统最为重要,尤其是系统通过速率,它是区别高速数据采集与一般数据采集的关键指标。
3总体设计方案
传统数据采集和数据传输的方式主要是以单片机作为存储
测试系统的主控元件,通过它来采集数据和传输指令。但是,由于受端口数目、内部定时器和中断源的数目限制,采集速度较慢,采集效果不理想。为了改进这些缺陷,人们提出了几种不同的方法,一种是采样外围扩展芯片的办法,但是这种办法增加了系统硬件的复杂程度,实现难度大;另一种办法是在传统存储测试系统的基础上,选取CPLD 作为系统控制核心,采用高速高速静态随机存取存储器(SRAM )与ADC 结合的设计方案。这种方案通过CPLD 完成高速A/D 转换器的控制,在对信号采集的同时又可以吧数据存储到SRAM 存储器中,系统设计简单,系统
【作者简介】
马立军(1970-),男,广西柳州人,柳州职业技术学院教师,高级工程师,研究方向:计算机网络通信。轻工科技
LIGHT INDUSTRY SCIENCE AND TECHNOLOGY
计算机与信息技术
2012年3月第3期(总第160期)
高性能数据采集系统设计与实现
马立军
(柳州职业技术学院电子信息系,广西柳州545006)
【摘
要】针对传统数据采集系统精度不高,
分辨率低,实现难度大的问题,介绍以CPLD为核心处理芯片的多路数据采集系统的实现方法,从硬件架构与软件设计两方面给出系统的具体实现。该系统结构紧凑、性能优越、价格合理、具有良好的抗干扰性,为高速数据采集、
高速数据存储与高速数据信号处理提供了技术支撑。【关键字】数据采集;数据存储;时序控制【中图分类号】TP274【文献标识码】A
【文章编号】2095-3518
(2012)03-77-02
的整体性能和系统稳定性高。具体设计如图1所示。
图1数据采集系统总体设计方案
从图1可以看出,模拟信号在型号为EPM7128STC-15的CPLD时序控制下经过转换为数字信号,经过A/D转化后的信号实时存储于静态存储器中,又AT89C52单片机将数据从存储器中读取出来,通过总线RS-232串口上传至通用的PC机作等待进一步的处理。
4硬件系统的设计与实现
高速数据采集系统的硬件设计由采集系统方案、A/D转换电路、存贮器、CPLD电路设计以及单片机控制模块。其基本流程如图2所示。
图2高速数据采集系统硬件工作流程
从图2看出,CPLD发出时钟脉冲ADCLK传给ADC后,控制A/D转换。每个ADCLK脉冲ADC按要求转换一次,CPLD立刻给出0E输出数据使能信号,将数据写入512Kxl6的存储器中,循环采集,直到存储器满。CPLD通过置低INTO 通知单片机读取SRAM中的数据,并不断通过串口RS232将数据传输到PC机,数据读取结束后,再将工作状态信号置为无效。等到CPLD检测到无效工作状态信号后,又开始循环进行下一次的采集。为了数据采集完全同步和高速效果,在设计上我们采用两路并行工作的方式采集两路同步信号,选择两个型号完全相同的ADC同时进行采集。
(1)A/D转换电路及存储电路部分设计
A/D转换数据采集的核心,它影响整个采集系统精确度和分辨率,这一部分电路的功能是将输入模拟信号通过A/D转换为高速数字化信号,并将结果存储在SRAM中,等待CPU处理。本设计采用双通道输入方式,由两个信号发生器发出的信号,通过两路A/D数模转换器转换后,由CPLD控制送入SRAM中存储。系统采用两片SRAM同时接收两路AD所采集到的数据,2块SRAM的时钟和控制信号均独立但同步,确保与A/D采样时钟同步。当采样数据放满SRAM后,处理完的数据会由AT89C52单片机通过串行通讯方式传送到PC机上。
(2)CPLD电路部分设计
数据采集电路中,多路控制驱动器、时序控制电路以及地址发生器等芯片分多繁杂,硬件电路的复杂性增加,系统的灵活性和可靠性降低,逻辑时序复杂,采用CPLD方式进行设计是一种比较理想的方案。CPLD是一种复杂可编程逻辑器件,它的电路设计是数据处理的核心,用CPLD实现电路则使开发简单、灵活、方便。在高速数据采集系统中,通常采用DMA方式,但由于单片机本身并不支持这种接口方式,必须外加总线仲裁电路和DMA控制器。
(3)单片机控制模块设计
经过处理的数据一定要通过单片机作主控元件通过RS-232传送到PC机上。单片机以校验和方式发送数据,每发送一帧都要等待上位机的反馈信号,每16B一帧,以判断数据传输是否正确。本文设计的采集系统采用AT89C52单片机。受篇幅限制,具体控制方案不再详述。
5软件设计与实现
高速数据采集系统的高效运作除了取决于硬件因素之外,软件的设计也不能忽略。软件设计使用模块化的设计方法,整个系统由输入设计、编译设计、器件编程、驱动软件等功能模块组成。
(1)输入设计
本文所采用MAX+PLUSH的设计思路,输入方法主要包括原理输入、文本输入、层次输入等三种不同方法,设计时序简单,连线少,它可以根据总线控制指令及A/D的转换时序,在MAX+PLUSH软件平台设计出CPLD的程序,在原理图设计的基础上,通过描述语言的形式把程序表现为逻辑电路图,实现输入。
(2)设计编译
根据设计好的电路原理图,通过编译指令Compile进行编译,生成.RPT格式的报告文件,同时为编程产生输出文件。
(3)器件编程
经过编译正确无误的程序,可以配置到实际器件中验证。采集系统多数器件是可以重复编程的,利用专用编程电缆ByteBlaster将经过编译的文件*.soft配置都所选的芯片中,利用软件中自带的configure和program功能把编译文件配置到器件中。
(4)驱动软件实现
在驱动软件实现上,我们可以充分利用LabView编程简易、界面友好、易于实现等特点,在利用VC++生成DLL后,在LabView中使用CLF节点调用DLL,通过设计动态链接函数库(DLL)实现采集板硬件驱动。
6总结
当前,实现高速度的采集和处理比较多的方法是采用USB 接口技术和快速傅立叶信号基于等算法的信号采集方法。但是USB成本高,设计复杂,实现难度比较大。本文利用CPLD器件结构简单,设计灵活,移植好,性价比高的特点,设计高速数据采集系统。整个采样过程由CPLD器件控制完成,
解决单片机
(下转第86页)