CN103177133A - 一种数据采集和存储的系统及方法 - Google Patents
一种数据采集和存储的系统及方法 Download PDFInfo
- Publication number
- CN103177133A CN103177133A CN2013101010114A CN201310101011A CN103177133A CN 103177133 A CN103177133 A CN 103177133A CN 2013101010114 A CN2013101010114 A CN 2013101010114A CN 201310101011 A CN201310101011 A CN 201310101011A CN 103177133 A CN103177133 A CN 103177133A
- Authority
- CN
- China
- Prior art keywords
- fifo
- storage
- clock
- data acquisition
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Analogue/Digital Conversion (AREA)
Abstract
本发明属于数据采集和存储技术领域,尤其涉及一种数据采集和存储的系统,包括FPGA芯片、ADC模数转换器件、时钟信号模块和在FPGA芯片内实现的FIFO系统,FIFO系统包括相连的存储选择通道模块和FIFO写时钟,FIFO写时钟和时钟信号模块保持一致,FPGA芯片驱动ADC模数转换器件进行模拟信号的采集,时钟信号模块与ADC模数转换器件连接,ADC模数转换器件的输出端与FIFO系统的输入端连接。相对于现有技术,本发明采用FIFO系统存储ADC模数转换器件的转换结果,比通过RAM具有更快的处理速度,而且读写比RAM更方便。而且由于存储选择通道模块的设置,本发明还可以有效的的避免“竞争冒险”的发生。
Description
技术领域
本发明属于数据采集和存储技术领域,尤其涉及一种基于FPGA的数据采集和存储的系统及方法。
背景技术
现在是数字化的时代,现实生活中很多连续模拟的信号都要先经过离散化序列化处理变为离散的数字量,再经由计算机或者电子技术处理,ADC模数转换器就是为了解决这个问题而发明的。而数字量的存储也是重中之重。现有技术中的数据存储系统一般采用随机存储器(RAM),这种存储器处理速度较慢,而且读写不是很方便。
为此,有人开发了FIFO(即先入先出队列)来存储由ADC转换获得的结果,但是以往的设计容易出现“竞争冒险”的情况。其中,竞争是指在组合逻辑电路中,某个输入变量通过两条或两条以上的途径传到输出端,由于每条途径延迟时间不同,到达输出门的时间就有先有后,这种现象称为竞争。一般把不会产生错误输出的竞争的现象称为非临界竞争,而把产生暂时性的或永久性错误输出的竞争现象称为临界竞争。冒险是指信号在器件内部通过连线和逻辑单元时,都有一定的延时。延时的大小与连线的长短和逻辑单元的数目有关,同时还受器件的制造工艺、工作电压和温度等条件的影响。信号的高低电平转换也需要一定的过渡时间。由于存在这两方面因素,多路信号的电平值发生变化时,在信号变化的瞬间,组合逻辑的输出有先后顺序,并不是同时变化,往往会出现一些不正确的尖峰信号,这些尖峰信号称为"毛刺"。如果一个组合逻辑电路中有"毛刺"出现,就说明该电路存在冒险。竞争冒险产生的原因在于:由于延迟时间的存在,当一个输入信号经过多条路径传送后又重新会合到某个门上,由于不同路径上门的级数不同,或者门电路延迟时间的差异,导致到达会合点的时间有先有后,从而产生瞬间的错误输出。
有鉴于此,确有必要提供一种数据采集和存储的系统及方法,采用该系统和方法不仅具有较快的处理速度、数据读写方便等优点,而且能够有效的避免“竞争冒险”的发生。
发明内容
本发明的目的之一在于:针对现有技术的不足,而提供一种数据采集和存储的系统,采用该系统不仅具有较快的处理速度、数据读写方便等优点,而且能够有效的避免“竞争冒险”的发生。
为了实现上述目的,本发明采用如下技术方案:一种数据采集和存储的系统,包括FPGA芯片、ADC模数转换器件、时钟信号模块和在所述FPGA芯片内实现的FIFO系统,所述FIFO系统包括相连的存储选择通道模块和FIFO写时钟,所述FIFO写时钟和所述时钟信号模块保持一致,所述FPGA芯片驱动ADC模数转换器件进行模拟信号的采集,所述时钟信号模块与所述ADC模数转换器件连接,所述ADC模数转换器件的输出端与所述FIFO系统的输入端连接。
作为本发明数据采集和存储的系统的一种改进,所述FIFO系统还包括二选一选通模块和有2048字节大小的FIFO模块,所述存储选择通道模块的输出信号端与所述二选一选通模块的输入端连接,所述二选一选通模块的输出信号端与所述FIFO模块的输入信号端连接。
作为本发明数据采集和存储的系统的一种改进,所述FIFO模块包括输入信号端、输入写请求端、输入写时钟端、输入读请求端、输入读时钟端、输入异步复位请求端、输出写满溢出端和输出数据端,所述FIFO写时钟还与所述输入写时钟端连接。
作为本发明数据采集和存储的系统的一种改进,所述输出写满溢出端与所述输入写请求端连接。
作为本发明数据采集和存储的系统的一种改进,所述ADC模数转换器件为一型号为AD9481模数转换芯片,其转换结果分两路八位输出。
作为本发明数据采集和存储的系统的一种改进,所述ADC模数转换器件的采样时钟源与所述FIFO写时钟为同一个时钟。
相对于现有技术,本发明采用FIFO系统存储ADC模数转换器件的转换结果,这比以往的通过RAM存储转换结果具有更快的处理速度,而且读写比RAM更方便,还不用地址操作(因为FIFO地址是内部默认递增的),而且FIFO深度可控,一旦溢出,能够及时触发溢出中断。而且由于存储选择通道模块的设置,本发明还可以有效的的避免“竞争冒险”的发生。
本发明的另一个目的在于提供一种数据采集和存储的方法,包括:
FPGA芯片驱动ADC模数转换器件进行模拟信号的采集;
ADC模数转换器件将采集到的模拟信号进行模数转换,得到数字量;
在FIFO写时钟和时钟信号模块保持一致的情况下,将数字量从ADC模数转换器件存储进FIFO系统。
作为本发明数据采集和存储的方法的一种改进,所述ADC模数转换器件的转换结果分两路八位输出。
相对于现有技术,本发明采用FIFO系统存储ADC模数转换器件的转换结果,这比以往的通过RAM存储转换结果具有更快的处理速度,而且读写比RAM更方便,还不用地址操作(因为FIFO地址是内部默认递增的),而且FIFO深度可控,一旦溢出,能够及时触发溢出中断。而且由于存储选择通道模块的设置,本发明还可以有效的的避免“竞争冒险”的发生。此外,由于FIFO写时钟和时钟信号模块保持一致,因此能够保持数据采集和数据存储的同步。
附图说明
图1为本发明数据采集和存储的系统的结构原理示意图。
图2为本发明中FIFO系统的结构示意图。
图3为本发明中ADC模数转换器件的连线图。
图4为本发明中ADC模数转换器件的时序图。
具体实施方式
如图1至4所示,本发明提供的一种数据采集和存储的系统,包括FPGA芯片1、ADC模数转换器件2、时钟信号模块3和在FPGA芯片内实现的FIFO系统4, FIFO系统4包括相连的存储选择通道模块41(ADC_DCO_p_SHIFT)和FIFO写时钟44(ADC1_CLK_p),FIFO写时钟44和时钟信号模块3保持一致,FPGA芯片1驱动ADC模数转换器件2进行模拟信号的采集,时钟信号模块3与ADC模数转换器件2连接,ADC模数转换器件2的输出端与FIFO系统4的输入端连接。采用FPGA芯片能够很灵活地产生所需的采用时钟,满足外部ADC模数转换器件2的时序要求。FIFO系统4的深度可调,总线带宽可调。
其中,如图2所示,FIFO系统4还包括二选一选通模块42(mux2_1_8bits)和有2048字节大小的FIFO模块43(fifo_2k_8bits),存储选择通道模块41的输出信号端与二选一选通模块42的输入端连接,二选一选通模块42的输出信号端与FIFO模块43的输入信号端data[7..0]连接。
FIFO模块43包括输入信号端data[7..0]、输入写请求端wrreq、输入写时钟端wrclk、输入读请求端rdreq、输入读时钟端rdclk、输入异步复位请求端aclr、输出写满溢出端wrfull和输出数据端q[7..0]。FIFO写时钟44还与输入写时钟端wrclk连接。
输出写满溢出端wrfull与输入写请求端wrreq连接,从而形成一个反馈环节,实现当写满FIFO溢出后,输出写满溢出端wrfull由逻辑0跳变为逻辑1,通过反向后,逻辑1变为逻辑0,从而输入写请求端wrreq,由于所设计的FIFO是输入写请求端wrreq为1时,输入写时钟端wrclk的每一个时钟沿才能触发输入信号端data[7..0]的数据存储到FIFO里,当输入写请求端wrreq为0时,输入写时钟端wrclk无效,所以写输入数据停止被写进FIFO模块43里。直到下次通过输入异步复位请求端aclr复位FIFO模块后,输出写满溢出端wrfull再由逻辑1跳变为逻辑0,从而经过存储选择通道模块41的非门输出逻辑电平1,此时输入写时钟端wrclk有效,每来一个wrclk时钟,数据被依次存进FIFO模块里。FIFO模块是双向端口存储器件,其也有读的过程,其过程叙述如下:当输入读请求端rdreq有效时,也就是该请求端的逻辑电平是逻辑1时,每来一个输入读时钟rdclk,那么数据就依次从输出数据端q[7..0]送出,送给外围电路。
其中,如图3所示,ADC模数转换器件2为一型号为AD9481模数转换芯片,其转换结果分两路八位输出。具体的,外部模拟信号输入端SIG_Ch1ToADC在时钟信号模块3(ADC1_CLK_p)的配合下进行模数转行,转换结果分两路8位输出,以此提高总线传输数据的吞吐量。
ADC模数转换器件2的采样时钟源CLK+与FIFO写时钟44为同一个时钟。
本发明采用FIFO系统4存储ADC模数转换器件2的转换结果,这比以往的通过RAM存储转换结果具有更快的处理速度,而且读写比RAM更方便,还不用地址操作(因为FIFO地址是内部默认递增的),而且FIFO系统4的深度可控,一旦溢出,能够及时触发溢出中断。而且由于存储选择通道模块的设置,本发明还可以有效的的避免“竞争冒险”的发生。
具体的,本发明在FPGA芯片里设计了一个去除“竞争冒险”的模块,即存储选择通道模块41。如图4所示,当AD9481每来一个脉冲时钟“CLK+”时(例如图4中的“上升沿n”),每经过约时间的传播延时后,在PORT A就会输出模数转换的数字结果,其中的时间最大值是5.4ns,由于AD9481的采样时钟源“CLK+”和FPGA芯片里的FIFO写时钟44 (ADC1_CLK_p)是同一个时钟),所以此刻如果将PORT A的数据直接写进FIFO模块43里,就有可能产生“竞争冒险”行为,因为在FIFO写时钟44 (ADC1_CLK_p)边沿上,PORT A上的数据还是不稳定的,所以为了避免“竞争冒险”情况的出现,在图4所示的“上升沿n”时,FPGA芯片1里应该把PORT B的数据写进FIFO模块43,而不是把PORT A的数据写进FIFO模块43,在下一次的采样时钟沿时,再把PORT A的数据写进FIFO模块43,在下下次时钟边沿上,再把PORT B的数据写进FIFO模块43,依次轮流采集数据。
具体来说,为了在图4的“上升沿n”时,FPGA芯片1能够把PORT B的数据写进FIFO模块43,而不是把PORT A的数据写进FIFO模块43,在FPGA芯片1的FIFO系统4里增加了一个模块,即存储选择通道模块41 “ADC_DCO_p_SHIFT”(见图2),在该环节通过判断时钟“CLK+”在下降沿时刻,AD9481的输出方波“DCO+”的电平,如果为高电平,那么紧接着的下一个上升采样沿,应该把稳定的PORT A的数据送给FIFO模块43,而不是把正在“跳变沿”的PORT B数据送给FIFO模块43。如果为低电平,那么紧接着的下一个上升采样沿,应该把稳定的PORT B的数据送给FIFO模块43,而不是把PORT A的数据送给FIFO模块43。其实现程序简列如下:
Library ieee;
Use ieee.std_logic_1164.all;
Use ieee.std_logic_unsigned.all;
Entity ADC_DCO_p_SHIFT is
PORT(
ADC_CLK_p: IN STD_LOGIC;
ADC_DCO_p_IN: IN STD_LOGIC;
ADC_DCO_p_OUT: OUT STD_LOGIC
);
End;
ARCHITECTURE bhv OF ADC_DCO_p_SHIFT is
begin
PROCESS(ADC_CLK_p)
begin
if ADC_CLK_p'EVENT AND ADC_CLK_p='0' then--如果时钟下降沿到了
if ADC_DCO_p_IN='0' then--如果输入信号ADC_DCO_p_IN为低电平
ADC_DCO_p_OUT<='0';
else
ADC_DCO_p_OUT<='1';
End if;
End if;
End process;
End bhv;
通过以上处理,原本有毛刺的“竞争冒险”情况得以避免了。
本发明还提供了一种数据采集和存储的方法,包括:
FPGA芯片1驱动ADC模数转换器件2进行模拟信号的采集;
ADC模数转换器件2将采集到的模拟信号进行模数转换,得到数字量;
在FIFO写时钟44和时钟信号模块3保持一致的情况下,将数字量从ADC模数转换器件2存储进FIFO系统4。由于FIFO写时钟44和时钟信号模块3保持一致,因此能够保持数据采集和数据存储的同步。
其中,ADC模数转换器件2的转换结果分两路八位输出(如图3所示),可以提高总线传输数据的吞吐量。
根据上述说明书的揭示和教导,本发明所属领域的技术人员还可以对上述实施方式进行适当的变更和修改。因此,本发明并不局限于上面揭示和描述的具体实施方式,对本发明的一些修改和变更也应当落入本发明的权利要求的保护范围内。此外,尽管本说明书中使用了一些特定的术语,但这些术语只是为了方便说明,并不对本发明构成任何限制。
Claims (8)
1.一种数据采集和存储的系统,其特征在于:包括FPGA芯片、ADC模数转换器件、时钟信号模块和在所述FPGA芯片内实现的FIFO系统,所述FIFO系统包括相连的存储选择通道模块和FIFO写时钟,所述FIFO写时钟和所述时钟信号模块保持一致,所述FPGA芯片驱动ADC模数转换器件进行模拟信号的采集,所述时钟信号模块与所述ADC模数转换器件连接,所述ADC模数转换器件的输出端与所述FIFO系统的输入端连接。
2.根据权利要求1所述的数据采集和存储的系统,其特征在于:所述FIFO系统还包括二选一选通模块和有2048字节大小的FIFO模块,所述存储选择通道模块的输出信号端与所述二选一选通模块的输入端连接,所述二选一选通模块的输出信号端与所述FIFO模块的输入信号端连接。
3.根据权利要求2所述的数据采集和存储的系统,其特征在于:所述FIFO模块包括输入信号端、输入写请求端、输入写时钟端、输入读请求端、输入读时钟端、输入异步复位请求端、输出写满溢出端和输出数据端,所述FIFO写时钟还与所述输入写时钟端连接。
4.根据权利要求3所述的数据采集和存储的系统,其特征在于:所述输出写满溢出端与所述输入写请求端连接。
5.根据权利要求1所述的数据采集和存储的系统,其特征在于:所述ADC模数转换器件为一型号为AD9481模数转换芯片,其转换结果分两路八位输出。
6.根据权利要求1所述的数据采集和存储的系统,其特征在于:所述ADC模数转换器件的采样时钟源与所述FIFO写时钟为同一个时钟。
7.一种数据采集和存储的方法,其特征在于,包括:FPGA芯片驱动ADC模数转换器件进行模拟信号的采集;ADC模数转换器件将采集到的模拟信号进行模数转换,得到数字量;
在FIFO写时钟和时钟信号模块保持一致的情况下,将数字量从ADC模数转换器件存储进FIFO系统。
8.根据权利要求7所述的数据采集和存储的方法,其特征在于:所述ADC模数转换器件的转换结果分两路八位输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013101010114A CN103177133A (zh) | 2013-03-27 | 2013-03-27 | 一种数据采集和存储的系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013101010114A CN103177133A (zh) | 2013-03-27 | 2013-03-27 | 一种数据采集和存储的系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103177133A true CN103177133A (zh) | 2013-06-26 |
Family
ID=48636994
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013101010114A Pending CN103177133A (zh) | 2013-03-27 | 2013-03-27 | 一种数据采集和存储的系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103177133A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104570855A (zh) * | 2014-12-18 | 2015-04-29 | 文曲 | 一种基于fpga的数据采集系统及方法 |
CN106776392A (zh) * | 2016-12-14 | 2017-05-31 | 天津光电通信技术有限公司 | 一种fpga对接单片机fsmc接口的改进算法 |
CN107533526A (zh) * | 2015-03-30 | 2018-01-02 | 伊姆西公司 | 经由具有完全连接网格拓扑的pci express结构向存储写入数据 |
CN107688683A (zh) * | 2016-08-03 | 2018-02-13 | 维布络有限公司 | 管理嵌入式系统中半导体器件的存储器块的方法和系统 |
CN110795900A (zh) * | 2019-11-26 | 2020-02-14 | 北京智慧云测信息技术有限公司 | 一种智能毛刺设计电路 |
CN112199318A (zh) * | 2020-09-28 | 2021-01-08 | 芜湖职业技术学院 | 一种参数可调多通道数据采集装置及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6865241B1 (en) * | 1999-12-15 | 2005-03-08 | Lexmark International, Inc. | Method and apparatus for sampling digital data at a virtually constant rate, and transferring that data into a non-constant sampling rate device |
CN101493438A (zh) * | 2009-02-18 | 2009-07-29 | 宁波工程学院 | 一种相控阵超声检测数据采集与处理装置 |
CN102279830A (zh) * | 2011-08-01 | 2011-12-14 | 北京航空航天大学 | 基于cpci总线的多功能数据采集模块 |
CN102495132A (zh) * | 2011-12-13 | 2012-06-13 | 东北大学 | 一种用于海底管道漏磁内检测器的多通道数据采集装置 |
-
2013
- 2013-03-27 CN CN2013101010114A patent/CN103177133A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6865241B1 (en) * | 1999-12-15 | 2005-03-08 | Lexmark International, Inc. | Method and apparatus for sampling digital data at a virtually constant rate, and transferring that data into a non-constant sampling rate device |
CN101493438A (zh) * | 2009-02-18 | 2009-07-29 | 宁波工程学院 | 一种相控阵超声检测数据采集与处理装置 |
CN102279830A (zh) * | 2011-08-01 | 2011-12-14 | 北京航空航天大学 | 基于cpci总线的多功能数据采集模块 |
CN102495132A (zh) * | 2011-12-13 | 2012-06-13 | 东北大学 | 一种用于海底管道漏磁内检测器的多通道数据采集装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104570855A (zh) * | 2014-12-18 | 2015-04-29 | 文曲 | 一种基于fpga的数据采集系统及方法 |
CN107533526A (zh) * | 2015-03-30 | 2018-01-02 | 伊姆西公司 | 经由具有完全连接网格拓扑的pci express结构向存储写入数据 |
CN107533526B (zh) * | 2015-03-30 | 2020-06-16 | 伊姆西公司 | 经由具有完全连接网格拓扑的pci express结构向存储写入数据 |
CN107688683A (zh) * | 2016-08-03 | 2018-02-13 | 维布络有限公司 | 管理嵌入式系统中半导体器件的存储器块的方法和系统 |
CN106776392A (zh) * | 2016-12-14 | 2017-05-31 | 天津光电通信技术有限公司 | 一种fpga对接单片机fsmc接口的改进算法 |
CN110795900A (zh) * | 2019-11-26 | 2020-02-14 | 北京智慧云测信息技术有限公司 | 一种智能毛刺设计电路 |
CN110795900B (zh) * | 2019-11-26 | 2023-04-28 | 北京智慧云测信息技术有限公司 | 一种智能毛刺设计电路 |
CN112199318A (zh) * | 2020-09-28 | 2021-01-08 | 芜湖职业技术学院 | 一种参数可调多通道数据采集装置及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103177133A (zh) | 一种数据采集和存储的系统及方法 | |
CN104317752B (zh) | 一种通道可扩展的条件式触发高速同步采集记录系统 | |
CN102931994B (zh) | 应用于信号处理芯片的高速信号采样和同步的架构及方法 | |
EP3249543A1 (en) | Interface signal remapping method based on fpga | |
CN104298634B (zh) | 基于fpga和dsp的数据传输系统 | |
CN111147045B (zh) | 一种超导电路的清零方法及系统 | |
CN104268122A (zh) | 一种可变点数的浮点fft处理器 | |
CN105404598A (zh) | 实时数据采集系统及方法 | |
US9330740B1 (en) | First-in first-out circuits and methods | |
CN113900975B (zh) | 一种同步fifo | |
CN101833431B (zh) | 基于fpga实现的双向高速fifo存储器 | |
CN103592489A (zh) | 数字示波器深存储设计方法 | |
CN103412847B (zh) | 基于fpga的usb转多路链路接口电路 | |
CN117116311A (zh) | 一种带时间间隔测量功能的多通道触发读出电路 | |
US10621122B1 (en) | Systems and methods for transferring data with a dual-line first-in-first-out (FIFO) memory array | |
CN104794080B (zh) | 基于源同步系统的数据采集系统 | |
CN111741235B (zh) | 基于fpga的多路视频切换方法 | |
CN205263743U (zh) | 异步复位同步释放带宽可控的复位电路 | |
CN108108149A (zh) | 一种基于分离统计高效收集的性能统计电路 | |
CN209784807U (zh) | 一种基于fpga的综合能源系统实时仿真器模数接口 | |
CN105183664A (zh) | 一种可变长度雷达脉冲数据缓存方法 | |
CN103714012A (zh) | 数据处理方法和装置 | |
CN102890664A (zh) | 一种扩容式数据采集板及其数据存储方法 | |
US8959398B2 (en) | Multiple clock domain debug capability | |
US8145856B1 (en) | Multithreading implementation for register files |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130626 |