0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

采用ATmegal62处理器与CPLD设计高速数据采集系统的设计

电子设计 来源:郭婷 作者:电子设计 2019-01-11 09:36 次阅读

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

1 系统总体设计方案

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

采用ATmegal62处理器与CPLD设计高速数据采集系统的设计

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

1.1 采集部分

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

1.2 控制与存储部分

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

采用ATmegal62处理器与CPLD设计高速数据采集系统的设计

2 程序设计与实现

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

采用ATmegal62处理器与CPLD设计高速数据采集系统的设计

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

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

采用ATmegal62处理器与CPLD设计高速数据采集系统的设计

采用ATmegal62处理器与CPLD设计高速数据采集系统的设计

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

采用ATmegal62处理器与CPLD设计高速数据采集系统的设计

2.2 控制Flash存储程序设计

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

采用ATmegal62处理器与CPLD设计高速数据采集系统的设计

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

3 结论

通过使用AVR和CPLD编程,设计实现了一种成本低且可实现10 Mb/s以上并行采集数据率的高速数据采集存储系统。在分析MAXl308特性及转换时序的基础上,设计完成了A/D转换器及其外围电路,并通过调试可知时序稳定。通过VHDL语言实现了采集模块、控制与存储模块和Flash存储功能。在完成硬件连接后调试,试验结果显示,该设计能够实现低成本高速采集,多路同时采集速度大于10 Mb/s采集系统,具有一定的实用价值。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    19225

    浏览量

    229534
  • cpld
    +关注

    关注

    32

    文章

    1248

    浏览量

    169285
  • 数据采集
    +关注

    关注

    38

    文章

    5996

    浏览量

    113596
收藏 人收藏

    评论

    相关推荐

    串口数据采集处理虚拟仪器系统设计

    为解决TI公司提供的数据采集卡的成本过高问题,设计一套代替NI采集卡的数据采集系统。前端采集下位机硬件部分为基于LPC2378
    发表于 07-29 10:30 1197次阅读
    串口<b class='flag-5'>数据采集</b>与<b class='flag-5'>处理</b>虚拟仪器<b class='flag-5'>系统</b>设计

    采用PCI总线流水式高速数据采集系统设计

    采用PCI总线流水式高速数据采集系统设计摘要:目前基于PCI总线的高速数据采集
    发表于 10-30 15:09

    高速数据采集系统的硬件结构,CPLD高速数据采集系统中的应用

    高速数据采集系统的硬件结构MAX7000系列CPLD及其开发平台介绍CPLD高速
    发表于 04-08 06:11

    如何采用CPLD与单片机实现的高速数据采集系统设计?

    设计的基于CPLD与单片机的高速数据采集系统在QUARTUS II软件中进行了仿真并达到了预期的控制逻辑。
    发表于 04-13 06:07

    Sitara AM62处理器的资料分享

    分析。AM62处理器还支持双屏全高清显示和多种操作系统,包括主线Linux®和 Android 操作系统。此外,AM62
    发表于 11-03 06:11

    基于ARM与线性CCD的高速数据采集系统设计

    接口,它使电路工作在更加平稳、简洁而易丁控制,同时也提高了ARM的工作效率。为了提高通信速度,这里采用通用申行总线(USB)技术米与PC进行通信。ARM是用来控制主处理器数据采集数据
    发表于 09-26 07:41

    CPLD在多路高速同步数据采集系统中的应用

    CPLD在多路高速同步数据采集系统中的应用 CPLD(Complex Programmable Logic Device,复杂可编程逻辑器
    发表于 03-28 16:49 984次阅读
    <b class='flag-5'>CPLD</b>在多路<b class='flag-5'>高速</b>同步<b class='flag-5'>数据采集</b><b class='flag-5'>系统</b>中的应用

    基于CPLD和嵌入式系统高速数据采集系统的设计与实现

    基于CPLD和嵌入式系统高速数据采集系统的设计与实现 介绍一种基于CPLD和嵌入式
    发表于 10-15 23:46 734次阅读
    基于<b class='flag-5'>CPLD</b>和嵌入式<b class='flag-5'>系统</b>的<b class='flag-5'>高速</b><b class='flag-5'>数据采集</b><b class='flag-5'>系统</b>的设计与实现

    基于CPLD/FPGA高速数据采集系统的设计

    基于CPLD/FPGA高速数据采集系统的设计 0 引 言    传统的数据采集
    发表于 01-27 09:35 587次阅读
    基于<b class='flag-5'>CPLD</b>/FPGA<b class='flag-5'>高速</b><b class='flag-5'>数据采集</b><b class='flag-5'>系统</b>的设计

    高速数据采集系统CPLD的应用

    CPLD高速数据采集系统中的应用! 介绍了高速数据采集系统
    发表于 12-17 00:12 26次下载
    <b class='flag-5'>高速</b><b class='flag-5'>数据采集</b><b class='flag-5'>系统</b>中<b class='flag-5'>CPLD</b>的应用

    基于CPLD高速数据采集系统的实现

    本文设计了一种基于CPLD(复杂可编程逻辑器件)+FX2(单片机CY7C68013)的便携式高速数据采集系统采用
    发表于 05-25 09:53 1658次阅读
    基于<b class='flag-5'>CPLD</b>的<b class='flag-5'>高速</b><b class='flag-5'>数据采集</b><b class='flag-5'>系统</b>的实现

    基于CPLD高速数据采集系统设计_鲜果

    基于CPLD高速数据采集系统设计_鲜果
    发表于 03-19 11:45 3次下载

    基于Cortex_M3处理器的输线路状态监测数据采集器系统设计

    基于Cortex_M3处理器的输线路状态监测数据采集器系统设计
    发表于 09-29 08:49 10次下载
    基于Cortex_M3<b class='flag-5'>处理器</b>的输线路状态监测<b class='flag-5'>数据采集器</b>的<b class='flag-5'>系统</b>设计

    如何使用AVR和CPLD实现高速数据采集系统的设计

    为了提高数据采集卡的速度,同时降低成本,设计一种并行数据采集系统,要求并行采集速度大于10 Mb/s。整个系统由AVR与
    发表于 07-20 17:17 11次下载
    如何使用AVR和<b class='flag-5'>CPLD</b>实现<b class='flag-5'>高速</b><b class='flag-5'>数据采集</b><b class='flag-5'>系统</b>的设计

    基于FPGA+STM32双处理器高速数据采集系统

    基于FPGA+STM32双处理器高速数据采集系统
    发表于 06-25 10:38 78次下载