基于AVR和CPLD的高速数据采集系统-基础电子_第1页
基于AVR和CPLD的高速数据采集系统-基础电子_第2页
基于AVR和CPLD的高速数据采集系统-基础电子_第3页
基于AVR和CPLD的高速数据采集系统-基础电子_第4页
基于AVR和CPLD的高速数据采集系统-基础电子_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

精品文档-下载后可编辑基于AVR和CPLD的高速数据采集系统-基础电子输入系统的信息大多数是模拟量,为使计算机能够处理这些模拟量,必须经由数据采集系统将模拟量转化为数字量。CPLD是在PAL、GAL等逻辑器件的基础上发展起来的,CPLD的规模比较大,适合于时序、组合等逻辑电路的应用场合,它的高集成度能力大大缩小电路板的尺寸,降低了系统的成本,而且能够提高系统的性能和可靠性。对于一个成型的探测系统而言,通常都是有采集储存部分的,无论是电信号、光信号、声音信号、磁信号等在被探测器接收到后大部分都需要转化为数字信号传给处理器才能完成分析、判断的过程。对于需要高速采集并存储的系统,常常需要购买昂贵的高速采集卡等设备,在基于CPLD、AVR等控制高速ADC、储存等技术的基础上,本文设计低成本、高速采集存储的硬件实现。

1系统总体设计方案

系统利用ATmegal62作为主控制器,CPLD用于产生控制时序,二者相结合协调进行数据的采集与传输控制。图1给出其系统总体设计方案框图。

数据采集系统的工作原理是:模拟量信号经过传感器后转化成电压量,通过ADC将模拟量转换为数字量,而后进行传输存储和处理。在本系统中,在CPLD和AVR的控制下,将采集到的模拟信号经过A/D器件转换之后,转换结果先缓存到FIFO,再转存到非易失性Flash阵列中,其中FIFO不但可以实现缓存功能,还可以解决A/D转换之后数据位数跟Flash存储器的数据线位数不匹配的矛盾。

1.1采集部分

本系统应用的A/D转换器是MAXl308,它具有8通道可编程配置,可接收数字输入分别激活每一路通道;100ps通道间T/H匹配;转换时间为0.72(单通道),0.9(2通道),1.2*通道),1.98μs(8通道);吞吐率为1075(单通道),90(2通道),680(4通道),456千次/秒(8通道)。其他特性包括20MHzT/H输入带宽、并具有内部时钟、内部(+2.5V)或外部(+2.0~+3.OV)基准,以及低功耗省电模式。

1.2控制与存储部分

如图2所示是4个Flash模块组采用流水线(pipeline)操作,使用该方式可以克服Flash写入速度较慢的缺点。Flash存储器的写入有2个阶段:数据加载阶段(通过I/0端口将数据写入页寄存器)和编程阶段(在芯片内部,将页寄存器的数据传输到存储单元)。由于编程阶段是自动进行的,不需要外部系统的干预,控制器可以进行其他事务的处理,如有效块地址的运算等,从而节省系统开销。NAND型Flash存储器的写操作以流水线方式进行,首先加载第1个Flash模块组,数据加载完后,第1个模块组进入自动编程阶段:再加载第2个Flash模块组,数据加载完后,第2个模块组进入自动编程阶段;然后依次对第3个乃至第4个模块组进行操作,当第4个模块组数据加载完后,第1个存储模块组已经自动编程结束,接着再加载和自动编程形成流水线的工作方式。从整个系统总体效果来看,它一直在进行存储加载数据。

2程序设计与实现

编程实现采集部分的功能,采集部分时序图如图3所示。任意选择两条通道进行内部时钟分析,图中为第3通道和第7通道,当控制信号产生低电平时,控制引脚起作用,触发采集功能,同时EOC引脚电平至低。在tCTR段时间后读信号被启动经过tACC的时间后,12位数据将出现在DO-D11引脚上。在整个采集、存储过程中其他通道和通道3、通道7一样,随后将数据存入数据缓存器中。

2.1控制A/D转换程序设计

根据控制存储的要求,首先要设计控制A/D转换的状态机,用来确定A/D转换的状态,根据MAXl308工作时序特点而设计的控制A/D转换的状态机转换图如图4所示。实现控制A/D转换的状态机部分主要VHDL程序源代码如下:

将程序至CPLD中运行调试,经过对电路的调试和测量,控制8通道A/D同时转换的状态机产生的示波器时序波形如图5所示,其中,0、1、2、3、4分别对应的是图3中的CONVST、EOC、EOLC、CS、RD,而第5通道是对FIF0的写信号。从示波器显示的波形图可以看出产生的8个连续的脉冲对应位置完全满足图3所要求的时序要求,也就是说在控制器同时控制8路信号的采集时不会出现时序混乱的情况。由此可知,采用本系统中设计的采集程序可以实现同时采集的要求,并且根据采集的脉冲宽度分析可知该系统能满足采集速度为10Mb/s的设计要求。

2.2控制Flash存储程序设计

4个Flash存储器的流水线工作原理如图2所示,对单独的每一片Flash来说每存储都是在上存储过程中加载完成后进行,而对于由4片Flash存储器组成的整个系统,它一直在加载存储数据,这样可以保证存储速度大于采集速度,从而保证存储过程中不会因单片Flash存储速度慢而造成丢失数据。实现Flash存储的主要程序:

在数据加载期间本系统应采用DMA传输控制方式,即:每当FIF0的半满标志信号HF产生有效电平时,ATmegal62就启动中断,在中断程序中,ATmegal62将产生NANDFlash命令和有效地址,以及启动DMA控制器。一旦DMA控制器启动,ATmegal62就将转入后台进行有效地址的运算等,从而参与数据传输过程,整个数据从FIFO到Flash存储器的传输过程是由CPLD内部编写的DMA控制器控制完成。启动DMA控制器传输一页2048个字节的数据,中断完成16K字节的传输。其示波器时序如图6所示:第0,1,2,3通道是FIF0的读数据时序波形,第4通道是Flash的写通道时序波形。

3结论

通过使用AVR和CPLD编程,设计实现了一种成本低且可实现10Mb/s以上并行采集数据率的高速数据采集存储系统。在分析MAXl308特性及转换时序的基础上,设计完成了A/D转换器及其外围电路,并通过调试可知时序稳定。通过VHDL语言实现了采集模块、控制与存储模块和

温馨提示

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

最新文档

评论

0/150

提交评论