基于FPGA的多路AD自动采集系统设计初稿_第1页
基于FPGA的多路AD自动采集系统设计初稿_第2页
基于FPGA的多路AD自动采集系统设计初稿_第3页
基于FPGA的多路AD自动采集系统设计初稿_第4页
基于FPGA的多路AD自动采集系统设计初稿_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

1、基于FPGA多路A/D自动采集采集系统设计摘要:在以往AD采集中,通过微控制器控制A/D芯片复杂的逻辑,不仅增加了微控制器干预,从而影响处理器运行速度,同时由于微控制器不断介入A/D控制会影响程序正常运行。本文概述了基于FPGA的多路数据自动采集系统的设计和实现过程。该系统采用高速A/D转换器将多路模拟信号转换成数字信号,以FPGA为控制核心产生各种控制时序,控制A/D和模拟量开关切换,并对转换结果进行数据读取保存在双口RAM中,通过试验验证表明该系统工作稳定,能够实现对多路采集信号实时采集处理,检测效果良好。关键词:FPGA A/D转换 自动采集Design of automatic acq

2、uisition and acquisition system based on FPGA multi A/DAbstract: In the past, A/D acquisition through the micro controller to control the complexity of the A/D chip logic. That not only increased the micro controller intervention, so that affecting the operating speed of the processor, but also affe

3、cted the normal operation of the program when the micro controller continuous intervention the A/D conversion. This paper Summary the design and implementation of high speed multi channel data acquisition system based on FPGA, The system uses high speed A/D converter to convert multiple analog signa

4、ls into digital signals. The FPGA is used as control core to generate various control timing, which is used to control A/D and analog switch, at the same time, the data that is converted is stored in dual port RAM. Through the experiment, the system is proved to can stably real-time process for mult

5、i-channel signal acquired system, and the examination effect is good.Key words: A/D FPGA Automatic Acquisition1 引言在高速多路数据采集系统中,通常采用数字信号处理器DSP或单片机作为微控制器,控制模数转换器AD及其他外围设备的工作。但是基于微控制器的高速多路数据采集系统都有一定的不足。由于微控制器基于顺序语言的,各种功能都要靠软件的运行来实现,因此随着程序量的增加,如果程序的健壮性不好,会出现“程序跑飞”和“复位”现象。在A/D转换过程中,通过微控制器控制A/D芯片复杂的逻辑,不仅增

6、加了微控制器干预,从而影响处理器运行速度,同时由于微控制器不断介入A/D控制会影响程序正常运行。因而微控制器很难满足高速多路数据采集系统对实时性和同步性的要求。FPGA时钟频率高,内部延时小,运行速度快,全部控制逻辑由硬件完成。它本身集采样控制、处理、缓存、传输控制、通信于一个芯片内,编程配置灵活、开发周期短、系统简单,具有高集成度、体积小、低功耗、I/O 端口多、在系统编程等优点。在高速多路数据采集系统中,FPGA可以克服上述微控制器的不足之处,满足系统对实时性和同步性的要求。本文给出一种基于FPGA 的高速多路数据采集系统设计方案。2 系统总体设计2.1 系统组成基于FPGA的采集控制模块

7、主要由多路择开关,有源滤波器,A/D转换器和FPGA组成,其中A/D自动采集控制逻辑和双口存储电路在FPGA内部实现。系统的组成框架如图。图1系统组成框图2.2 系统工作原理当复位信号后,时钟产生启动信号,FPGA向采样开关发出选通信号,选定模拟开关采样,第0路模拟量进入,经A/D转换后并存储于双口RAM 中,AD转换芯片反馈给FPGA内控制电路并告知转换完毕,FPGA 内控制电路再选通下1路模拟量进入,重复上述过程。FPGA轮回控制模拟量开关通道导通,当模拟量开关导通后,进行A/D自动转换并存储。而双口RAM数据永远存放的是每个通道最新A/D最新转换值,外部CPU可以通过数据总线读取双口RA

8、M最新值,其中双口RAM 具有2组独立的数据、地址和控制总线,可对任何一个端口进行独立的操作。若未采用双口RAM,FPGA采取中断方式对CPU传输数据时,CPU就会停止当前工作而去处理外部请求,当处理完外部事件后再回到原来被中止处,继续原来的工作,这样会影响CPU的速度。因此引入双口RAM存储FPGA传送来的数据,然后CPU再从双口RAM中读数,从而提高效率。本数据采集系统采用基于FPGA双口RAM、CPU等实现数据运行处理和控制功能,使系统的通信和处理能力大大加强,保证了系统的实时性,可以灵活地通过多种方式控制数据读写。A/D自动转换原理图如图2所示。图2A/D自动转换原理图2.3 系统硬件

9、设计系统采用模拟电源为±15V,数字电源为+5V直流电源供电,内部将+5V电压转换为+3.3V和+1.2V电压以供各器件使用。所有输入的模拟信号范围都是-10V+10V,输入阻抗大于1M,同时也对输入进行了适当的滤波处理处理。2.4 多路模拟开关数据采集模块选用的多路模拟选择开关是ADG506,它是一款单芯片CMOS16通道模拟多路复用器,采用28引脚表贴封装。它根据4条地址线和1个使能的状态,将1路公共输出切换至16路输入之一。使能端EN决定着ADG506的工作状态,当使能端管脚有高电平时,表示该模拟量正常工作,而EN为低电平时ADG506处于非工作状态。它的输出通道号的选择则由其

10、4位地地址位来决定。可以通过FPGA控制多片ADG506芯片进行周期片选采集n路模拟信号。在本设计中16路采集信号分别通过1片ADG506多通道选择开关把信号送入A/D转换器。由FPGA控制多通道选择开关的控制信号,包括使能信号EN和4位地址信号。当使能信号有效时,根据4位地址控制信号来选择要输出的通道,从而使ADG506能对16路模拟输入信号进行周期性选择。图3ADG506真值表2.5 A/D转换电路在数据采集系统中,A/D转换芯片的作用是把模拟信号转换成数字信号。它的性能参数直接影响整个系统的性能,本系统的采集控制模块中选用的A/D转换器是AD公司生产的AD7656,内部具有6个独立的AD

11、转换器,一款内置采样保持放大器的16位ADC,兼具高速性能和低功耗特性,转换时间为4s,输入模拟电压范围为-10V+10V。片内时钟振荡器为各转换级提供适当的时序,无需任何外部时钟。数据接口读取可以通过高速并行接口和串行接口,AD7656分别包括6个AD转换器,将所有三个CONVST引脚(CONVST_A CONVST_B CONVST_B连在一起)便可对六个ADC进行同步采样,AD7656需由CONVSTM脉冲启动转换;CONVSTM脉冲应包括一个CONVST下降沿,随后为一个CONVST上升沿。CONVST上升沿对所选的ADC启动同步转换,AD7656各内置一个片内振动器用于转换,转换时间

12、为4s BUSY 信号变为低电平表示转换结束。BUSY信号下降沿用来让采样保持放大器进入跟踪模式。分别向三个CONVST引脚发出脉冲信号,AD7656还可以实现六个AD转换器的成对同步转换,本文采用将三个CONVST引脚连在一起,实现6路ADC同步采集,在16位模式下启动所有6个AD转换器转换时,需要进行6次读取操作来读取6路转换结果。图4AD7656并行接口工作时序图2.6 FPGA控制电路本设计采用Xilinx公司的FPGA芯片XC3S400AN对AD7656进行采样控制,并将数据存储到双口AM 中。Xilinx公司的Spartan-3AN系列现场可编程逻辑阵列具有丰富的I/O端口,因此对

13、外围设备的控制全部可以通过单独的I/O 端口进行控制,没有端口复用的现象,极大地提高了系统的采集速度。系统中ADG506的通道选择I/O直接由FPGA的输出端口PORT3:0控制,当使能信号有效时,通道选择CONVST控制AD启动转换。通过控制CS和RD信号读取转换结果,FPGA控制电路如图5所示。图5FPGA控制电路路3 系统逻辑设计FPGA逻辑由VHDL语言编写,在Xilinx的ISE10.1开发环境中设计实现。FPGA逻辑分为,模拟量开关控制模块,A/D控制模块和双口RAM模块。图5AD自动采集流程图多路选择控制逻辑,当FPGA启动A/D转换后,首先打开第0路,当A/D转换后或A/D转换

14、超时,FPGA控制A0A3切换到第1路,不断重复上述过程,A/D控制模块是模拟开关选择新通道时,开始启动A/D转换相应的数据采集通道,FPGA要正确地从AD7656中读取AD转换结果,首先控制模拟开关通道控制端A0A3选择相应的数据采集通道,然后通道上的模拟数据才能通过ADG506,进入AD7656采集输入端。模拟数据进入采集输入端后,FPGA通过CONVST给AD7656一个上升沿,AD7656开始进行A/D转换,BUSY信号变高。当BUSY信号由高变低,A/D转换结束,控制模拟开关通道控制端A0A3选择下一个数据采集通道,同时FPGA通过控制CS和RD信号读取AD转换结果并将结果保存到FP

15、GA双口RAM 中,同时可以读取转换结果。FPGA连续读取6次,将6个转换结果依次保存到FPGA双口RAM 中,本设计采用利用ISE10.1仿真工具进行A/D采集逻辑代码进行仿真,仿真结果如所示。图6A/D自动采集控制逻辑仿真4 基于FPGA A/D自动采集应用基于FPGA A/D自动采集应用在数据采集系统应用广泛。在一些实时控制场合,实时算法经常需要由几个DSP串行或并行工作以提高系统的运行速度和实时性。基于FPGA A/D自动采集系统可在实时控制系统,闭环控制系统和数据采集系统那个中广泛应用,数据采集系统的质量直接影响整体系统的工作性能。数据采集系统高速、实时发展趋势,对数据的传输和控制速

16、度提出较高要求,而采用A/D自动采集可有效提高速度,解决速度匹配问题。图7数据采集系统框图设计1块数据采集系统,该系统最大模拟量采集通道数量为96路,调理电路放大倍数为2,用FPGA实现双口RAM 功能,并且控制A/D采样与转换,将A/D转换结果入到双口RAM。CPU通过外部总线接口读取双口RAM的A/D存储结果并可以通过串行接口把数据发送给PC机。通过信号发生器发送一个幅值为5V ,周期为2的正选波通过任意通道输入,通过AD转换数据绘制图形,如果所示,输出波形频率与输入波形一致,幅值是输入波形2倍,表明多路采集系统转换效果良好。5 结束语基于FPGA的高速多路数据采集系统不仅可以对控制器系统模拟信号采集,还可以作为数据采集前端,应用于其它对多路数据采集的实时性和同步性要求较高的监测系统中。与传统的基于微控制的多路数据采集系统相比,具有运行稳定可

温馨提示

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

评论

0/150

提交评论