一种数据采集和存储的系统及方法

文档序号:6400994阅读:169来源:国知局
专利名称:一种数据采集和存储的系统及方法
技术领域
本发明属于数据采集和存储技术领域,尤其涉及一种基于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写时钟和时钟信号模块保持一致,因此能够保持数据采集和数据存储的同
止/J/ O


图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 (ADCl_CLK_p), FIFO写时钟44和时钟信号模块3保持一致,FPGA芯片I驱动ADC模数转换器件2进行模拟信号的采集,时钟信号模块3与ADC模数转换器件2连接,ADC模数转换器件2的输出端与FIFO系统4的输入端连接。采用FPGA芯片能够很灵活地产生所需的采用时钟,满足外部ADC模数转换器件2的时序要求。FIFO系统4的深度可调,总线带宽可调。其中,如图2所示,FIFO系统4还包括二选一选通模块42 (mux2_l_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由逻辑O跳变为逻辑1,通过反向后,逻辑I变为逻辑O,从而输入写请求端wrreq,由于所设计的FIFO是输入写请求端wrreq为I时,输入写时钟端wrclk的每一个时钟沿才能触发输入信号端data [7..0]的数据存储到FIFO里,当输入写请求端wrreq为O时,输入写时钟端wrclk无效,所以写输入数据停止被写进FIFO模块43里。直到下次通过输入异步复位请求端aclr复位FIFO模块后,输出写满溢出端wrfull再由逻辑I跳变为逻辑0,从而经过存储选择通道模块41的非门输出逻辑电平1,此时输入写时钟端wrclk有效,每来一个wrclk时钟,数据被依次存进FIFO模块里。FIFO模块是双向端口存储器件,其也有读的过程,其过程叙述如下:当输入读请求端rdreq有效时,也就是该请求端的逻辑电平是逻辑I时,每来一个输入读时钟rdclk,那么数据就依次从输出数据端q[7..0]送出,送给外围电路。其中,如图3所示,ADC模数转换器件2为一型号为AD9481模数转换芯片,其转换结果分两路八位输出。具体的,外部模拟信号输入端SIG_ChlToADC在时钟信号模块3(ADCl_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 (ADCl_CLK_p)边沿上,PORT A上的数据还是不稳定的,所以为了避免“竞争冒险”情况的出现,在图4所示的“上升沿η”时,FPGA芯片I里应该把PORT B的数据写进FIFO模块43,而不是把PORT A的数据写进FIFO模块43,在下一次的采样时钟沿时,再把PORT A的数据写进FIFO模块43,在下下次时钟边沿上,再把PORT B的数据写进FIFO模块43,依次轮流采集数据。具体来说,为了在图4的“上升沿η”时,FPGA芯片I能够把PORT B的数据写进FIFO模块43,而不是把PORT A的数据写进FIFO模块43,在FPGA芯片I的FIFO系统4里增加了一个模块,即存储选择通道模块41 “ADC_DC0_p_SHIFT”(见图2),在该环节通过判断时钟“ CLK+ ”在下降沿时刻,AD9481的输出方波“DCO+ ”的电平,如果为高电平,那么紧接着的下一个上升采样沿,应该把稳定的PORT A的数据送给FIFO模块43,而不是把正在“跳变沿”的PORT B数据送给FIFO模块43。如果为低电平,那么紧接着的下一个上升采样沿,应该把稳定的PORT B的数据送给FIFO模块43,而不是把PORT A的数据送给FIFO模块43。其实现程序简列如下:
权利要求
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模数转换器件的转换结果分两路八位输出。
全文摘要
本发明属于数据采集和存储技术领域,尤其涉及一种数据采集和存储的系统,包括FPGA芯片、ADC模数转换器件、时钟信号模块和在FPGA芯片内实现的FIFO系统,FIFO系统包括相连的存储选择通道模块和FIFO写时钟,FIFO写时钟和时钟信号模块保持一致,FPGA芯片驱动ADC模数转换器件进行模拟信号的采集,时钟信号模块与ADC模数转换器件连接,ADC模数转换器件的输出端与FIFO系统的输入端连接。相对于现有技术,本发明采用FIFO系统存储ADC模数转换器件的转换结果,比通过RAM具有更快的处理速度,而且读写比RAM更方便。而且由于存储选择通道模块的设置,本发明还可以有效的的避免“竞争冒险”的发生。
文档编号G06F17/40GK103177133SQ20131010101
公开日2013年6月26日 申请日期2013年3月27日 优先权日2013年3月27日
发明者聂权 申请人:东莞市路晨电子科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1