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

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

3天内不再提示

基于FPGA实现高速ADC器件采样时序控制与实时存储

电子工程师 来源:未知 作者:李倩 2018-08-28 10:16 次阅读

提出了一种基于FPGADMA方式高速数据采集系统设计方案。该方案由底层控制器提供精确采样时序,保证ADC器件的采样吞吐;采用支持PCI协议的DMA方式的数据采集机制,优化数据采集存储及向上位机交互方式,以确保采集数据的高实时性。该方案具有良好的移植性,可应用于采样速率高、数据采集量大、数据实时性要求高的数据采集系统。

工业自动化设备的快速发展,对控制精度的要求越来越高,对数据采集的可靠性和实时性的要求也不断提高。提高数据采集系统性能的方法有:(1)采用高性能的ADC器件,配合低噪声、低静态偏移的前端驱动威廉希尔官方网站 ,以达到极高的采样吞吐和采样分辨率。目前高端的ADC器件分辨率可达24 bit,采样率已达40 GS/s[1]。(2)设计数据存储为FIFO,以提高数据采样实时性和数据存储深度。(3)采用高速数据通信技术,完成由底层数据采集单元到上位计算机的数据传输,利用上位机软件平台进行数据的分析处理和多样化的输出显示[2]。数据采集系统的性能瓶颈在于高速采样数据实时存储,以及上下位机间的数据传输能力。

针对ADC器件,一般采用微控制器以指令方式控制其执行时序,但微控制器的速度有限,而且一般需要3~4条指令完成一次数据采样工作,制约了ADC的采样吞吐[3]。如目前高性能的浮点型DSP TMS320C6713B的外部总线时钟也仅为100 MHz[4],难以直接控制超过50 MS/s ADC器件的数据采样或存储。此外,微控制器对外访问为标准时序,并不具备针对精密复杂采样时序ADC器件的能力。而FPGA具有较高的运行主频,用于控制底层器件的执行时序,具备良好的接口能力,能最大限度地保障ADC的采样率[5]。

为保证数据采样的实时性,应尽可能减少数据实时采集、预处理、存储和传输过程中的时间开销,需设计高性能的数据链路,一方面实现高速采样数据的实时存储,另一方面实现底层数据采集单元与上位机之间的数据交互。DMA(Direct Memory Access)方式由专用的DMA控制器完成多系统单元之间的快速数据交互,包括微处理器内核、存储区、外部接口等,不占用大量的处理器时间,而且数据传输速率不受处理器执行速度限制,能有效减轻处理器的负担,提高数据传输的效率,从而提高系统性能[6]。

本文提出了一种基于FPGA的DMA方式高速实时数据采集系统设计方案:基于FPGA实现高速ADC器件采样时序控制与实时存储;采用带DMA控制器的PCI接口,将数据实时传输到上位机;数据采集、存储与传输呈流水线方式进行。

1 数据采集系统总体结构DMA方式数据采集是指数据采集过程由底层数据采集单元完成,而数据采集结果不经过微处理器而被直接写入系统内存。底层数据采集单元依照上位机设定而高效运行,对微处理器的依赖程度低,能有效节省上位机软件开销,且数据采集实时性高。

数据采集系统的总体架构如图1所示,其中PCI核、DMA控制器与A/D控制器均在FPGA内部实现。为实现多路并行采样,可选用多片A/D器件并行处理的方式,在FPGA的高速状态机控制下,完成模拟信号经过多片A/D器件流水转换,并将数据采样结果储存到由Block RAM构建的高速缓冲RAM阵列中,采样时序由FPGA生成,保证了多路并行采样的高同步性。

FPGA采用Altera公司的Cyclone IV系列 EP4CGX150,内部带有6.3 MB嵌入式 Block RAM,支持最高频率167 MHz的存储区访问,易于设计接口友好的存储区[7]。在FPGA内部设计了数据FIFO用于实现总线速率匹配,PCI总线速率为32 bit、33 MHz,而数据采样流水速率为16 bit、20 MHz。为提高总线利用率,需设计数据缓冲来实现不同速率数据传输之间的速度匹配,而数据缓冲的深度取决于采样数据实时性要求。

采用以上结构具有如下优点:(1)底层A/D控制器提供精密采样时序,保证了ADC器件的采样吞吐,最大化地保证数据采样的实时性;(2)采用带DMA控制器的PCI接口与上位机进行数据交互,减少了上位机软件负荷; (3)基于单片FPGA芯片设计,结构简单而优化,可靠性高,可降低成本。

2 数据采集系统的实现2.1 PCI IP核PCI总线是独立于处理器的32 bit或64 bit局部总线,在32 bit/33 MHz时,可达到132 MB/s的带宽;在64 bit/66 MHz 时,可达到528 MB/s的带宽[1]。通常PCI总线接口通过专用的PCI桥芯片或带PCI控制器DSP器件(如TMS320C6205等)实现。

Altera公司推出的 PCI Compiler 软件包可以参数化地生成应用于PCI总线的IP核,基于该IP核可生成符合32 bit/33 MHz PCI 2.2规范的主从控制器,包含了PCI总线的全部功能,能实现总线协议的转换,并将复杂的、时序要求高的PCI总线操作,转换成易于使用本地总线(Local 总线)的接口逻辑[6]。

PCI IP核的结构如图2所示,包括:(1)配置寄存器:用于保存PCI设备的基本信息;(2)PCI地址数据缓存:用于缓存PCI总线上的地址信号;(3)主模式接口控制模块:负责在主模式(Master)下对PCI总线的操作;(4)从模式接口控制模块:负责在从模式(Slave)下PCI总线的操作;(5)奇偶校验器:当数据校验出错时,生成一个错误信息输出到配置寄存器;(6)本地主模式控制模块:负责主模式下的本地接口控制逻辑;(7)本地从模式控制模块:负责从模式下本地接口控制逻辑;(8)本地逻辑接口模块:负责控制本地端接口的地址、数据、控制、字节使能等[6]。

2.2 DMA控制器针对高带宽、低延时和大量数据存储与传输需求,设计了基于PCI IP核的DMA控制器。该DMA控制器是系统中的核心单元,实现高速采样数据向上位机的DMA方式实时传输。DMA控制器结构如图3所示,内部寄存器堆定义了DMA控制器的行为,而上位机可通过PCI总线设置相应的寄存器。

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

    关注

    1629

    文章

    21735

    浏览量

    603175
  • adc
    adc
    +关注

    关注

    98

    文章

    6497

    浏览量

    544551
  • 数据采集
    +关注

    关注

    38

    文章

    6082

    浏览量

    113639

原文标题:基于FPGA的DMA方式高速数据采集系统设计方案

文章出处:【微信号:FPGAer_Club,微信公众号:FPGAer俱乐部】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    轻松实现复杂电源时序控制

    电源时序控制是微控制器、FPGA、DSP、ADC和其他需要多个电压轨供电的器件所必需的一项功能。
    发表于 08-14 10:57 2683次阅读

    基于FPGA器件实现大容量高速存储系统的方案设计

    本文介绍了一种以FPGA作为控制器,FLASH MEMORY作为主存储器的大容量高速存储系统方案,并对关键技术及
    发表于 07-30 17:53 2414次阅读
    基于<b class='flag-5'>FPGA</b><b class='flag-5'>器件</b><b class='flag-5'>实现</b>大容量<b class='flag-5'>高速</b><b class='flag-5'>存储</b>系统的方案设计

    FPGA的IO口时序约束分析

      在高速系统中FPGA时序约束不止包括内部时钟约束,还应包括完整的IO时序约束和时序例外约束才能实现
    发表于 09-27 09:56 1744次阅读

    855.基于FPGA的设计,adc12d1000读写时序设计。1GSPS采样时序含FIFO

    fpga采样时序时序设计
    小凡
    发布于 :2022年10月05日 01:13:24

    基于FPGA与DDR2 SDRAM的高速ADC采样数据缓冲器设计

    介绍了一种基于现场可编程门阵列(FPGA)和第二代双倍数据率同步动态随机存取记忆体(DDR2)的高速模数转换(ADC)采样数据缓冲器设计方法,论述了在Xilinx V5
    发表于 04-26 16:12

    高速大容量数据存储技术

    高速数据采集显示系统目前已在数字存储示波器、逻辑分析仪等测试仪器中得到广泛应用。它的关键技术是高速ADC技术、数据存储
    发表于 04-16 08:42

    如何用中档FPGA实现高速DDR3存储控制器?

    的工作时钟频率。然而,设计至DDR3的接口也变得更具挑战性。在FPGA实现高速、高效率的DDR3控制器是一项艰巨的任务。直到最近,只有少数高端(昂贵)的
    发表于 08-09 07:42

    等效时间采样技术的原理作用及采用FPGA器件实现系统的设计

    时间采样实现2.1 系统硬件实现框图系统的总体框图如图2,FPGA 控制的等效采样时钟连接到
    发表于 10-21 16:43

    大容量固态存储设备的FPGA实现

    采用大容量的固态Flash作为存储介质,用FPGA作为存储阵列的控制器,设计了高速大容量的存储
    发表于 12-08 17:25 29次下载

    基于FPGA控制高速图像实时存储

    基于FPGA控制高速图像实时存储,下来看看
    发表于 09-22 12:26 15次下载

    基于FPGA与ad9252的时序约束高速解串设计

    针对八通道采样器AD9252的高速串行数据接口的特点,提出了一种基于FPGA时序约束 的高速解串方法。使用Xilinx公司的
    发表于 11-17 12:27 6775次阅读
    基于<b class='flag-5'>FPGA</b>与ad9252的<b class='flag-5'>时序</b>约束<b class='flag-5'>高速</b>解串设计

    如何使用FPGA设计高速实时数据采集存储系统的资料概述

    设计了以FPGA器件XCSVIXS0为核心处理芯片的高速数据采集存储系统。在XCSVLXS0内部实现
    发表于 12-10 16:47 22次下载
    如何使用<b class='flag-5'>FPGA</b>设计<b class='flag-5'>高速</b><b class='flag-5'>实时</b>数据采集<b class='flag-5'>存储</b>系统的资料概述

    使用FPGA控制高速图像实时存储的资料详细说明

    高速图像采集中.需要对采集的大量数据进行实时存储。介绍了一种基于FPGA控制高速图像
    发表于 01-22 14:29 9次下载
    使用<b class='flag-5'>FPGA</b><b class='flag-5'>控制</b>的<b class='flag-5'>高速</b>图像<b class='flag-5'>实时</b><b class='flag-5'>存储</b>的资料详细说明

    利用FPGA控制ADC0809采样电压

    利用FPGA控制ADC0809采样电压(长城电源技术(山西有限公司)-利用FPGA控制
    发表于 09-28 11:05 41次下载
    利用<b class='flag-5'>FPGA</b><b class='flag-5'>控制</b><b class='flag-5'>ADC</b>0809<b class='flag-5'>采样</b>电压

    高速ADCFPGA的LVDS数据接口中避免时序误差的设计考虑

    电子发烧友网站提供《高速ADCFPGA的LVDS数据接口中避免时序误差的设计考虑.pdf》资料免费下载
    发表于 10-15 09:50 5次下载
    <b class='flag-5'>高速</b><b class='flag-5'>ADC</b>与<b class='flag-5'>FPGA</b>的LVDS数据接口中避免<b class='flag-5'>时序</b>误差的设计考虑