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

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

3天内不再提示

基于FPGA的16通道实时高速高精度的同步数据采集系统

电子设计 来源:电子技术应用 作者:易志强,韩宾,江 2020-12-04 12:36 次阅读

作者:易志强,韩 宾,江 虹,张秋云

0 引言

随着科学技术的快速发展,数据采集系统已广泛应用于航天、军事、工业、医疗等各个领域,尤其在高精度产品检测和监控项目中发挥着至关重要的作用[1]。在实际工程应用中,要求采集系统具有高速率、高精度、实时处理、系统稳定性好和通道数量多等特点。但是,传统的数据采集方案多数以ARM处理器(Advanced RISC Machine,ARM)或数字信号处理器(Digital Signal Processing,DSP)作为控制核心,并不能有效解决高速数据采集处理中实时性和同步性的技术难题[2]。

与DSP和ARM相比,FPGA在数据采集领域有着极其重要的地位。FPGA具有时钟频率高、内部延时小、纯硬件并行控制、运算速度快、编程配置灵活、开发周期短、抗干扰能力强、内部资源丰富等优点,非常适用于实时高速数据采集[3-4]。

针对上述问题,本文设计了一种以FPGA作为主要处理器的16通道实时高速高精度的同步数据采集系统,本方案在实际监测工程中的采样频率为200 kHz,运用FPGA合理地控制和协调数据流在各个模块之间传输,进而实现系统所需求的实时、同步和高速采集等功能。

1 系统总体设计

1.1 系统总体设计结构

本系统的总体结构设计如图1所示,该系统由数据前采集前端处理、数据存储系统、选通开关控制系统和FPGA核心控制系统四部分构成。采集前端处理主要对输入测量系统的模拟信号进行滤波处理和幅值控制,以保证输入采集芯片的模拟信号更加稳定;FPGA核心控制系统通过使用FPGA作为核心控制器件,实现了数据同步处理、实时采集、数据缓存、时序约束、端口控制、数据判读数、据存储等功能;数据存储系统的功能是将判读后的数据实时存储到Flash中;选通开关控系统则是利用1选8多路复用开关ADG1408和固态继电器G3FD-X03SN实现被测设备的输入信号选通和电源通断控制,使被测设备能安全快速地进入到监测状态。本系统需要对8个被测设备进行同步实时循环测量与控制,并对测量数据进行记录判读、传输与存储。主要包括:供电管理与电源控制、直流电压电流实时监测、模拟信号通道切换、射频信号切换、数据存储等功能。

1.2 系统工作原理

系统上电后,等待FPGA初始化完成,进入等待连接状态。当外部输入相关命令参数后,由FPGA接收并解析命令。先控制系统内部选通开关工作,将被选中的设备信号接入采集系统中。然后向被测设备发出控制信息,同时采集系统实时监控被测设备的供电情况,随后,将采集的数据缓存到FPGA内部随机存取存储器(Random Access Memory,RAM)中等待处理。最后将采集到的数据通过FPGA片上先进先出队列(First Input First Output,FIFO)回传到外部监视器上进行实时显示,按照相应规则进行判决并存储,形成测试数据报表。

2 部分硬件电路设计

2.1 信号调理电路设计

由于输入系统的被测信号的电压幅值为27 V,无法直接对被测信号进行采集处理,因此本系统设计了信号调理电路对输入系统的模拟信号进行滤波处理和幅值控制。该电路通过采用可编程放大器AD8065设计了一个具有较平坦通带的二阶有源巴特沃斯低通滤波器,对前端输入模拟电压信号进行滤波处理。随后,利用芯片MAX4080将模拟电流信号转换成模拟电压信号。然后,使用高精度的电阻网络分压方式对被测模拟电压进行比例降压,再经过高性能运放AD8276进行模拟电压调理。最后,传送到模拟数字转换器(Analog-to-Digital Converter,ADC)进行采样。经过该硬件调理后,可以保障输入采集芯片的模拟电压信号具有平滑、稳定的特性。

2.2 A/D转换电路设计

A/D模数转换器是数据采集的核心器件,影响着整个系统的采样精度、采样速率和数据吞吐量,所以芯片选型是采集系统设计中最关键的一步。本系统设计采用ADI公司的高精度、低功耗、电荷再次分配逐次逼近型模数转换器AD7609,该产品是一款8通道、18位、真差分、同步采样模数转换芯片。本系统采用两片AD7609芯片构成了16路通道的数据采集电路。AD7609硬件电路图如图2所示,将并行/串行接口选择输入端与3.3 V电平直接相连,再将芯片引脚CONVST A和CONVST B短接在一起,并施加同一个转换信号可以实现8个通道同时转换。

2.3 存储电路设计

数据采集完成后,将相应通道的采样数据发送到监视器进行实时显示和存储到Flash闪存中,等待外部控制器发送读取命令。本系统采用ST公司的S25FL128P Flash存储器进行实时存储。该芯片存储容量为128 Mbit,通过SPI接口与外部控制器建立通信,接口的时钟频率最大可达到104 MHz。该芯片具有设计简单、存储数据稳定和价格低廉等特点,具有广泛的实用性。Flash存储电路如图3所示。

3 系统软件设计

FPGA软件设计主要划分成系统同步时钟、数据采集、数据缓存、数据存储4个模块,下面依次介绍各个模块的设计。

3.1 系统同步时钟模块

由于A/D采样和Flash数据存储时钟均为50 MHz,而数据处理和RAM缓存读写控制的时钟均为100 MHz。因此,为了保证系统各模块之间数据传输与处理的同步性,本系统采用FPGA内部的锁相环(Phase Locked Loop,PLL)IP核倍频或分频生成100 MHz和50 MHz的时钟。通过调用锁相环设计出一个具有低抖动、低延迟的系统时钟,保障了高速采集系统运行更加稳定[5-6]。与大多数时钟同步方案不同,该系统同步时钟模块除了使用PLL之外,还要通过时序约束的方式来减小数据与时钟之间偏斜,重新建立时钟偏斜的保持时间(Time Setup,TSU)如图4所示。通过时序约束不仅能实现系统时钟同步,还能避免出现数据传输错误。

3.2 数据采集模块

FPGA对AD7609的控制主要是通过对转换信号CONVST AB、片选信号CS、时钟信号SCLK进行控制,完成采样率调整和采样启停控制。如图5(a)所示,本模块通过控制AD7609在转换期间读取数据的方式进行采样。当检测到BUSY下降沿时,则完成所有通道的数据转换。从图5(b)的仿真图可以看出,通过使用系统同步时钟模块可以实现16路通道的同步采集功能。由于AD7609的输出编码方式为二进制补码,因此采集完成后可以通过ADC传递函数得到转换后数字信号代表的幅值,转换公式为:

式中,CODE为转换后的二进制码,V+和V-是电源供电电压,REF则为基准电压。

3.3 数据缓存模块

由于系统为16通道同步数据采集,因此每完成一次采集会产生大量待处理数据。并且由于FPGA与外部处理器通信之间存在硬件差异,会导致其与外部处理器之间存在传输处理速度不匹配的问题。因此,为了满足系统所需实时存储和传输要求,本系统采用了一种乒乓结构的传输方式[6]进行数据缓存。利用FPGA内置的知识产权核(Intellectual Property core,IP)资源,在ISE14.7软件操作平台上,构建系统所需18 bit位宽的块RAM和FIFO各两片进行轮流读写操作,实现数据实时缓存的功能。如图6所示,若使能信号Crl_1处于高电平,则控制RAM_1进行存储。当RAM_1存储满后,产生另一个使能控制信号Crl_2并将使能信号Crl_1电平翻转,由RAM_2继续行数据存储。当使能信号Crl_2到来时,等待系统判读生效后,则控制FIFO进行数据缓存。若该控制信号处于高电平则FIFO_1进行数据缓存。当FIFO_1缓存满后则将使能控制信号Crl_2的电平翻转,由FIFO_2继续缓存,并将FIFO_1中的数据通过某种协议传送到外部控制器进行处理。如此周而复始,在RAM和FIFO缓存器中进行乒乓操作,可以实现系统所需实时存储和传输功能。

如图7数据缓存仿真图所示,通过时序约束实现了两个不同缓存器之间的同步读写操作,很好地完成了乒乓式的数据缓存功能。

3.4 数据存储模块

利用外部处理器设定一个阈值,将缓存进RAM中的数据与阈值比对。若大于阈值电压,则判读无效将被测设备电源和信号选通开关断开;反之,数据判读有效,需要将采集时间、外部命令输入以及采集数据组帧后,实时存储到Flash中。本模块利用FPGA通过SPI总线与M25P128芯片建立主从关系,实现了Sector擦除、Page编程、地址管理、数据读取等功能,从而快速、准确地在Flash芯片中实现数据读写功能。该模块采用了摩尔状态机实现状态跳转,既消除了状态跳转时造成的毛刺,又很好地完成了存储与读取功能。数据存储与读取状态图如图8所示。图中地址管理除了实现页面读写地址转换外,还要将第一个页面用于存储下最后一次存储的地址,在断电重启后,能紧接着掉电前的数据继续进行数据存储。

Flash数据存储仿真图如图9所示,数据存储功能是将8 bit的并行数据通过Flash_SI引脚串行输入到Flash芯片中实现数据存储功能。数据读取功能则需要创建一个8位的移位寄存器将Flash_SO引脚的串行数据转为并行数据,传输到外部处理器进行处理。

4 结论

针对传统数据采集处理系统不能有效地实现数据在传输和存储过程中的同步性、实时性问题,本文设计了一种基于FPGA的16通道高精度同步实时高速采集系统。该系统采用FPGA控制AD7609在转换期间读取数据的传输方式,使系统能够达到200 kHz采样率。通过合理利用FPGA内部资源,实现数据缓存的乒乓传输方式,从而完成了数据的实时传输和Flash的实时存储功能,增强了数据传输和存储的可靠性、有效性和稳定性,极大地发挥出了FPGA的高速数据并行处理能力和时序约束能力。本系统已成功应用于某实际工程监测项目中,具有一定的应用价值。

参考文献

[1] 黄鸿靖.面向信号模拟的实时数据采集与块数据传输技术研究[D].杭州:浙江大学,2018.

[2] 赵树磊,刘敬猛,张慧,等.基于FPGA临空数据采集系统的设计[J].电子技术应用,2018,44(12):123-126.

[3] 夏宇闻.Verilog数字系统设计教程[M].北京:北京航空航天大学出版社,2005.

[4] 王建中,杨璐.高速实时系统数据采集与传输[J].计算机科学,2016,43(S2):604-606.

[5] 皮代军,张海勇,叶显阳,等.基于FPGA的高速实时数据采集系统设计[J].现代电子技术,2009,32(6):12-14.

[6] 张素萍,李朝强,张建芬.一种高速实时数据采集处理系统设计[J].火力与指挥控制,2016,41(7):125-129.

作者信息:

易志强,韩 宾,江 虹,张秋云

(西南科技大学 信息工程学院,四川 绵阳621010)

编辑:hfy

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

    关注

    1629

    文章

    21729

    浏览量

    603052
  • 数据采集
    +关注

    关注

    38

    文章

    6060

    浏览量

    113630
  • 射频信号
    +关注

    关注

    6

    文章

    217

    浏览量

    20876
  • 数字信号处理器

    关注

    5

    文章

    462

    浏览量

    27339
收藏 人收藏

    评论

    相关推荐

    FPGA的多通道数据采集传输系统

    一、系统总体方案设计 为了满足油田增压站对数据采集的需求,我们设计了一套基于FPGA的多通道数据采集与传输
    的头像 发表于 12-09 10:45 201次阅读
    <b class='flag-5'>FPGA</b>的多<b class='flag-5'>通道</b><b class='flag-5'>数据采集</b>传输<b class='flag-5'>系统</b>

    ADS1258做16通道单端数据采集,偶数通道数据波动很大是怎么回事?

    ADS1258做16通道单端数据采集,奇数通道数据稳定,偶数通道
    发表于 11-29 08:23

    基于XILINX RFSOC的16通道高速数据采集回放卡

    大容量FPGA。对主机接口采用PCIe Gen3x16,配合PCIe DMA传输,支持高速数据采集和传输。利益于ADC、DAC与FPGA集成
    的头像 发表于 11-07 17:21 309次阅读
    基于XILINX RFSOC的<b class='flag-5'>16</b><b class='flag-5'>通道</b><b class='flag-5'>高速</b><b class='flag-5'>数据采集</b>回放卡

    使用AD7616来采集16通道的电压数据数据采集失败的原因?

    我使用AD7616来采集16通道的电压数据,将7616配置为软件模式,使用并行数据传输,采用突发序列器一次性传输
    发表于 07-26 06:41

    ADS8588S 16位、高速4通道同步采样ADC数据

    电子发烧友网站提供《ADS8588S 16位、高速4通道同步采样ADC数据表.pdf》资料免费下载
    发表于 07-24 11:36 0次下载
    ADS8588S <b class='flag-5'>16</b>位、<b class='flag-5'>高速</b>4<b class='flag-5'>通道</b>、<b class='flag-5'>同步</b>采样ADC<b class='flag-5'>数据</b>表

    ADS8588S 16位、高速8通道同步采样ADC数据

    电子发烧友网站提供《ADS8588S 16位、高速8通道同步采样ADC数据表.pdf》资料免费下载
    发表于 07-24 11:35 0次下载
    ADS8588S <b class='flag-5'>16</b>位、<b class='flag-5'>高速</b>8<b class='flag-5'>通道</b>、<b class='flag-5'>同步</b>采样ADC<b class='flag-5'>数据</b>表

    ADS8588S 16位、高速6通道同步采样ADC数据

    电子发烧友网站提供《ADS8588S 16位、高速6通道同步采样ADC数据表.pdf》资料免费下载
    发表于 07-24 11:33 0次下载
    ADS8588S <b class='flag-5'>16</b>位、<b class='flag-5'>高速</b>6<b class='flag-5'>通道</b>、<b class='flag-5'>同步</b>采样ADC<b class='flag-5'>数据</b>表

    通道数据采集仪怎么用的

    通道数据采集仪是一种广泛应用于工业、科研、教育等领域的高精度数据采集设备。它能够同时采集多个通道的模拟信号,并将
    的头像 发表于 07-02 09:08 617次阅读

    通道数据采集器的特点和功能有哪些

    通道数据采集器的特点 高精度:多通道数据采集器具有高精度的模拟-数字转换器(ADC),可以精确地
    的头像 发表于 07-02 09:05 831次阅读

    通道数据采集器能采集什么

    通道数据采集器是一种广泛应用于工业、科研、教育等领域的高精度数据采集设备。它能够同时采集多个通道的模拟信号、数字信号或混合信号,实现对各种
    的头像 发表于 07-02 09:02 746次阅读

    通道数据采集系统的设计的意义

    、军事等领域具有广泛的应用。本文将从多个角度探讨多通道数据采集系统的设计意义,包括其功能、优势、应用场景以及设计原则等。 一、多通道数据采集
    的头像 发表于 07-02 09:00 792次阅读

    通道数据采集串扰问题怎么解决

    问题的原因、影响以及解决策略。 1. 多通道数据采集系统概述 多通道数据采集系统是一种能够同时
    的头像 发表于 07-02 08:58 1202次阅读

    通道数据采集系统的转换误差怎么算

    通道数据采集系统是一种广泛应用于工业、科研、医疗等领域的高精度数据采集设备。它通过多个通道同时采集
    的头像 发表于 07-01 16:36 686次阅读

    通道数据采集系统的优缺点

    通道数据采集系统是一种广泛应用于工业、科研、医疗等领域的技术,它能够同时采集多个通道的信号,实现对多种物理量的
    的头像 发表于 07-01 15:58 1518次阅读

    如何实现更高精度同步测量?如何做好同步数据采集的时间校准?

    如何实现更高精度同步测量?如何做好同步数据采集的时间校准? 实现更高精度同步测量是科研和工程
    的头像 发表于 01-16 15:10 1520次阅读