基于fpga的连续上传高速数据采集装置及方法

文档序号:6265505阅读:311来源:国知局
专利名称:基于fpga的连续上传高速数据采集装置及方法
技术领域
本发明涉及一种高速数据采集装置,具体地说是一种采样率高达250MSPS的基于FPGA的连续上传高速数据采集装置及方法。
背景技术
传统的数据采集系统通常采用单片机或DSP作为主要的控制模块,通过其控制模数转换器ADC、存储器和其它外围电路的工作。在现今的实际工程中,随着系统对数据采集速率、精度、存储量、环境适应性以及实时性等性能的要求越来越高,传统的数据采集系统已不能够满足实际应用的需要,存在的弊端也越来越明显。专利号为ZL 200820095724. 9的实用新型专利就公开了一种多路数据采集系统,包括选择器、放大器、模拟转换模块和中央处理器,所述放大器连接在选择器和模拟数据模块之间,所述中央处理器与放大器相连;所述选择器接收传感器的多路输出信号并在中央处理器的控制下分别将多路信号送至放大器进行放大,所述放大器将放大后的多路信号送至模拟转换模块进行模数转换。具备上述结构的多路数据采集系统,存在以下严重缺陷(I)系统不能实现并行交替实时采样,采样速率低;(2)系统不具备硬件累加功能,信噪比低、采样精度低和系统稳定性差;(3)数据上传速率慢。本发明人参与的专利号为CN201010623689. 5的发明专利,公开了一种基于FPGA的高速数据采集系统。所述发明解决了 ZL 200820095724. 9实用新型的采样速率低、无硬件累加功能、信噪比低、采样精度低、系统稳定性差以及数据上传速度慢等问题,但数据累加及累加结果上传为串行关系,在数据上传期间对信号的监测存在盲点。随着FPGA (Field Programmable Gate Array,现场可编程门矩阵)的出现及其相关技术的发展,因其时钟频率高、内部延时小、全部控制逻辑均由硬件完成等优越性,运用新型FPGA芯片以及各种技术进行数据采集系统的设计,已经成为一种趋势。

发明内容
本发明针对现有技术中存在的缺点和不足,提出一种采样速率高、采样精度高、数据上传速度快,能够有效解决目前信号采集与数据上传之间的瓶颈问题,从而实现对待监测对象的在线不间断监测的基于FPGA的连续上传高速数据采集装置及方法。本发明可以通过以下措施达到
一种基于FPGA的连续上传高速数据采集装置,包括用于采集模拟信号的数据采集单元,与所述数据采集单元的信号输出端相连接的,用于对数据进行处理的FPGA处理单元,与所述FPGA处理单元相连接的微处理器,以及与所述微处理器通过通信接口相连接的上位机,其特征在于所述FPGA处理单元内设有用于接收数据采集单元所采集的信息的数据接收模块,与所述数据接收模块相连接的用于对数据进行累加处理的累加处理模块,与所述累加处理模块相连接的用于存储数据的双口 RAM,其中所述累加处理模块由与数据接收模块相连接的通道选择I模块,分别与通道选择I的输出端相连接的第一累加处理模块、第二累加处理模块,以及输入端分别与第一累加处理模块、第二累加处理模块的输出端相连接的通道选择II模块组成,其中通道选择II模块的输出端与双口 RAM相连接。本发明中为了提高多路数据同时采集的效率,可以设有两个以上数据采集单元,两个以上数据采集单元分别与FPGA处理单元相连接,FPGA处理单元内设有与两个以上数据采集单元一一相对应的两个以上数据处理单元,所述数据处理单元由数据接收模块、与数据接收模块相连接的累加处理模块、与累加处理模块相连接的双口 RAM组成,两个以上的数据处理单元的输出端分别与FPGA处理单元内的数据转存与上传模块相连接。本发明中数据采集单元由差分放大单元、A/D转换单元组成,差分放大单元的输出端与A/D转换单元相连接,A/D转换单元的输出端与FPGA处理单元相连接,形成一条数据采集通路,为了有效提高采样速率,本发明可以采用交替采样的方法实现对一路待测信号的采集,此时本发明所述数据采集单元内设有两条并行的数据采集通路,即两条均设有相连接的差分放大单元、A/D转换单元且与FPGA处理单元相连接的数据采集通路,为了使两条数据采集通路不互相冲突而高效的实现数据采集,FPGA处理单元内还设有分别与两条数据采集通路中的A/D转换单元相连接的第一时钟模块和第二时钟模块,其中第一时钟模块与第二时钟模块的时钟输出相位相差180°。本发明中所述微处理器采用MCU实现,MCU通过通信接口与上位机相连接,以接收和处理上位机的命令信息,同时MCU还与FPGA处理单元相连接,FPGA处理单元内对应设有分别与MCU相连接的数据转存与上传模块、指令接收与处理模块,以及输入端与指令接收与处理模块相连接而输出端与累加处理模块相连接的参数配置模块,其中数据转存与上传模块的输入端与双口 RAM的输出端相连接,指令接收与处理模块分别与参数配置模块、数据转存与上传模块相连接,MCU在数据采集和上传的过程中,接收并解析上位机的命令后,将其送入FPGA处理单元内的指令接收与处理模块,根据指令的类型,指令接收与处理模块将接收的信息发送至参数配置模块或者数据转存与上传模块进行相应的工作。本发明FPGA处理单元内还设有触发信号选择模块、与内参数配置模块相连接的内触发信号产生模块,其中触发信号选择模块分别与外界触发信号、内触发信号产生模块相连接,以实现对触发信号方式的选择,同时触发信号选择模块与累加处理模块相连接,用于将选择后的触发信号送入累加处理模块。本发明还设有SRAM,SRAM与FPGA处理单元内的数据转存与上传模块相连接,在使用时数据转存与上传模块根据上位机的指令可以将双口 RAM中存储的采样累加结果转存到外部存储器SRAM中,数据上传模块再根据上位机的指令将SRAM中的数据通过微处理器和USB通信接口传至上位机,这种设置不仅增大了装置的存储容量,提高系统易用性,还能够使系统在进行数据上传的同时不影响对信号的实时采集工作。本发明还提出一种采用如上所述基于FPGA的连续上传高速数据采集装置的数据采集方法,其特征在于包括以下步骤
步骤1:装置上电初始化,微处理器与上位机建立通信,接收上位机发送的指令信息,微处理器对指令进行解析并将解析结果发送至FPGA处理单元内的指令接收与处理模块,步骤2 :指令接收与处理模块将参数配置信息发送给参数配置模块,参数配置模块据此进行参数配置,包括累加次数、采样点数的配置,
步骤3 :触发信号选择模块根据触发信号选择指令选择接收由内触发信号产生模块产生的内触发信号或者接收外触发信号,选择完毕后采集工作开始,
步骤4 :数据采集单元内的两路并行的数据采集通路在第一时钟模块和第二时钟模块的控制下,交替进行数据采集,并将采集结果由AD转换模块输出至与该数据采集单元相对应的数据接收模块,数据接收模块接收数据后,将数据送入与其相连接的累加处理模块,步骤5 :累加处理模块首先经通道选择I模块判断本次累加是奇数次或是偶数次,当本次累加处理为第奇数次,通道选择I模块打开与第一累加处理模块之间的数据通路,第一累加处理模块对数据接收模块的数据进行累加,得到累加结果,然后判断是否达到规定的累加次数,如果是,则停止累加,否则继续执行下一次累加处理,与此同时,第二累加处理模块与通道选择II模块之间的数据通路打开,第二累加处理模块将其内的累加结果上传至与累加处理模块相连接的双口 RAM ;当本次累加处理为第偶数次,通道选择I模块开通与第二累加处理模块之间的数据通路,第二累加处理模块对数据接收模块内的数据进行累加处理,得到累加结果,并判断是否达到规定的累加次数,如果是,则停止累加,否则继续执行下一次累加处理,与此同时,通道选择II模块与第一累加处理模块之间的数据通路打开,第一累加处理模块将其内的累加结果上传至双口 RAM,
步骤6 :数据转存与上传模块根据指令将双口 RAM中的累加结果转存到外部的SRAM中,然后数据转存与上传模块根据指令,将SRAM中的数据经微处理器MCU上传至上位机,步骤7 :上位机接收到数据后判断是否停止采集,如果是,本次采集结束,否则重复执行步骤4至6。本发明与现有技术相比,在保证系统具有12bits精度、250MSPS采样速率、1 25K采样点、f250K累加次数、200MHz带宽、2VP_P信号输入范围及USB2. O通讯的情况下,通过乒乓结构实现了对监测对象的在线不间断监测。


附图1是本发明的结构框图。附图2是本发明中累加处理模块的结构示意图。附图3是本发明的一种实施方式结构示意图。附图4是本发明中数据采集方法的流程图。附图标记数据采集单元1、FPGA处理单元2、微处理器3、上位机4、数据接收模块5、累加处理模块6、双口 RAM7、通道选择I模块8、第一累加处理模块9、第二累加处理模块10、通道选择II模块11、数据转存与上传模块12、差分放大单元13、A/D转换单元14、第一时钟模块15、第二时钟模块16、指令接收与处理模块17、参数配置模块18、触发信号选择模块19、内触发信号产生模块20、SRAM 21。
具体实施例方式 下面结合附图和实施例对本发明作进一步的说明。本发明提出了一种基于FPGA的连续上传高速数据采集装置,如附图1所示,包括用于采集模拟信号的数据采集单元1,与所述数据采集单元I的信号输出端相连接的,用于对数据进行处理的FPGA处理单元2,与所述FPGA处理单元2相连接的微处理器3,以及与所述微处理器3通过通信接口相连接的上位机4,其特征在于所述FPGA处理单元2内设有用于接收数据采集单元I所采集的信息的数据接收模块5,与所述数据接收模块5相连接的用于对数据进行累加处理的累加处理模块6,与所述累加处理模块6相连接的用于存储数据的双口 RAM7,其中如附图2所示,所述累加处理模块6由与数据接收模块5相连接的通道选择I模块8,分别与通道选择I模块8的输出端相连接的第一累加处理模块9、第二累加处理模块10,以及输入端分别与第一累加处理模块9、第二累加处理模块10的输出端相连接的通道选择II模块11组成,其中通道选择II模块11的输出端与双口 RAM7相连接。如附图1所示,本发明中为了提高多路数据采集的效率,可以设有两个以上数据采集单元1,两个以上数据采集单元I分别与FPGA处理单元2相连接,FPGA处理单元2内设有与两个以上数据采集单元I 一一相对应的两个以上数据处理单元,所述数据处理单元由数据接收模块5、与数据接收模块5相连接的累加处理模块6、与累加处理模块6相连接的双口 RAM7组成,两个以上的数据处理单元2的输出端,即两个以上双口 RAM7的输出端分别与FPGA处理单元2内的数据转存与上传模块12相连接。本发明中可以设有两个数据采集单元1,如附图3所示,数据采集单元I由差分放大单元13、A/D转换单元14组成,差分放大单元13的输出端与A/D转换单元14相连接,A/D转换单元14的输出端与FPGA处理单元2相连接,形成一条数据采集通路,为了有效提高采样速率,本发明可以采用交替采样的方法实现对一路待测信号的采集,此时本发明所述数据采集单元I内设有两条并行的数据采集通路,即两条均设有相连接的差分放大单元13、A/D转换单元14且与FPGA处理单元2相连接的数据采集通路,为了使两条数据采集通路不互相冲突而高效的实现数据采集,FPGA处理单元2内还设有分别与两条数据采集通路中的A/D转换单元14相连接的第一时钟模块15和第二时钟模块16,其中第一时钟模块15与第二时钟模块16的时钟输出相位相差180°。本发明中所述微处理器3采用MCU实现,MCU通过通信接口与上位机4相连接,以接收和处理上位机4的命令信息,同时MCU还与FPGA处理单元2相连接,FPGA处理单元2内对应设有分别与MCU相连接的数据转存与上传模块12、指令接收与处理模块17,以及输入端与指令接收与处理模块17相连接而输出端与累加处理模块6相连接的参数配置模块18,其中数据转存与上传模块12的输入端与双口 RAM7的输出端相连接,指令接收与处理模块17分别与参数配置模块18、数据转存与上传模块12相连接,MCU在数据采集和上传的过程中,接收并解析上位机4的命令后,将其送入FPGA处理单元2内的指令接收与处理模块17,根据指令的类型,指令接收与处理模块17将接收的信息发送至参数配置模块18或者数据转存与上传模块12进行相应的工作。本发明FPGA处理单元2内还设有触发信号选择模块19、与参数配置模块18相连接的内触发信号产生模块20,其中触发信号选择模块19分别与外界触发信号、内触发信号产生模块20相连接,以实现对触发信号方式的选择,同时触发信号选择模块19与累加处理模块6相连接,用于将选择后的触发信号送入累加处理模块6。本发明还设有SRAM 21, SRAM 21与FPGA处理单元2内的数据转存与上传模块12相连接,在使用时数据转存与上传模块12根据上位机4的指令可以将双口 RAM 7中存储的采样累加结果转存到外部存储器SRAM 21中,数据转存与上传模块12再根据上位机4的指令将SRAM 21中的数据通过微处理器3和USB通信接口传至上位机4,这种设置不仅增大了装置的存储容量,提高系统易用性,还能够使系统在进行数据上传的同时不影响对信号的实时采集工作。下面依照如附图3所示的实施例对本发明所提出一种采用如上所述基于FPGA的连续上传高速数据采集装置的数据采集方法进行进一步说明,本实施例中设有两个数据采集单元1,如附图3所示,每个数据采集单元I内设有两条并行数据采集通路,FPGA处理单元2内对应每个数据采集单元I内的数据采集通路均设有输出相位相差180°的第一时钟模块15和第二时钟模块16,该方法的工作流程如附图4所示,包括以下步骤
步骤1:装置上电初始化,微处理器3与上位机4建立通信,接收上位机4发送的指令信息,微处理器3对指令进行解析并将解析结果发送至FPGA处理单元2内的指令接收与处理模块,
步骤2 :指令接收与处理模块17将参数配置信息发送给参数配置模块18,参数配置模块18据此进行参数配置,包括累加次数、采样点数的配置,
步骤3 :触发信号选择模块19根据触发信号选择指令选择接收由内触发信号产生模块20产生的内触发信号或者接收外触发信号,选择完毕后采集工作开始,
步骤4 :数据采集单元I内的两路并行的数据采集通路在第一时钟模块15和第二时钟模块16的控制下,交替进行数据采集,并将采集结果由A/D转换单元14输出至与该数据采集单元I相对应的数据接收模块5,数据接收模块5接收数据后,将数据送入与其相连接的累加处理模块6,
步骤5 :累加处理模块6首先经通道选择I模块判断本次累加是奇数次或是偶数次,当本次累加处理为第奇数次,通道选择I模块打开与第一累加处理模块之间的数据通路,第一累加处理模块对数据接收模块的数据进行累加,得到累加结果,然后判断是否达到规定的累加次数,如果是,则停止累加,否则继续执行下一次累加处理,与此同时,第二累加处理模块与通道选择II模块之间的数据通路打开,第二累加处理模块将其内的累加结果上传至与累加处理模块相连接的双口 RAM ;当本次累加处理为第偶数次,通道选择I模块开通与第二累加处理模块之间的数据通路,第二累加处理模块对数据接收模块内的数据进行累加处理,得到累加结果,并判断是否达到规定的累加次数,如果是,则停止累加,否则继续执行下一次累加处理,与此同时,通道选择II模块与第一累加处理模块之间的数据通路打开,第一累加处理模块将其内的累加结果上传至双口 RAM,
步骤6 :数据转存与上传模块根据指令将双口 RAM中的累加结果转存到外部的SRAM中,然后数据转存与上传模块根据指令,将SRAM中的数据经微处理器MCU上传至上位机,步骤7 :上位机接收到数据后判断是否停止采集,如果是,本次采集结束,否则重复执行步骤4至6。本发明与现有技术相比,在保证系统具有12bits精度、250MSPS采样速率、1 25K采样点、f250K累加次数、200MHz带宽、2VP_P信号输入范围及USB2. O通讯的情况下,通过乒乓结构实现了对监测对象的在线不间断监测。
权利要求
1.一种基于FPGA的连续上传高速数据采集装置,包括用于采集模拟信号的数据采集单元,与所述数据采集单元的信号输出端相连接的,用于对数据进行处理的FPGA处理单元,与所述FPGA处理单元相连接的微处理器,以及与所述微处理器通过通信接口相连接的上位机,其特征在于所述FPGA处理单元内设有用于接收数据采集单元所采集的信息的数据接收模块,与所述数据接收模块相连接的用于对数据进行累加处理的累加处理模块,与所述累加处理模块相连接的用于存储数据的双口 RAM,其中所述累加处理模块由与数据接收模块相连接的通道选择I模块,分别与通道选择I的输出端相连接的第一累加处理模块、第二累加处理模块,以及输入端分别与第一累加处理模块、第二累加处理模块的输出端相连接的通道选择II模块组成,其中通道选择II模块的输出端与双口 RAM相连接。
2.根据权利要求1所述的一种基于FPGA的连续上传高速数据采集装置,其特征在于设有两个以上数据采集单元,两个以上数据采集单元分别与FPGA处理单元相连接,FPGA处理单元内设有与两个以上数据采集单元一一相对应的两个以上数据处理单元,所述数据处理单元由数据接收模块、与数据接收模块相连接的累加处理模块、与累加处理模块相连接的双口 RAM组成,两个以上的数据处理单元的输出端分别与FPGA处理单元内的数据转存与上传模块相连接。
3.根据权利要求2所述的一种基于FPGA的连续上传高速数据采集装置,其特征在于数据采集单元由差分放大单元、A/D转换单元组成,差分放大单元的输出端与A/D转换单元相连接,A/D转换单元的输出端与FPGA处理单元相连接,形成一条数据采集通路。
4.根据权利要求2所述的一种基于FPGA的连续上传高速数据采集装置,其特征在于所述数据采集单元内设有两条并行的数据采集通路,即两条均设有相连接的差分放大单元、A/D转换单元且与FPGA处理单元相连接的数据采集通路,FPGA处理单元内还设有分别与两条数据采集通路中的A/D转换单元相连接的第一时钟模块和第二时钟模块,其中第一时钟模块与第二时钟模块的时钟输出相位相差180°。
5.根据权利要求4所述的一种基于FPGA的连续上传高速数据采集装置,其特征在于所述微处理器采用MCU实现,MCU通过通信接口与上位机相连接,以接收和处理上位机的命令信息,同时MCU还与FPGA处理单元相连接,FPGA处理单元内对应设有分别与MCU相连接的数据转存与上传模块、指令接收与处理模块,以及输入端与指令接收与处理模块相连接而输出端与累加处理模块相连接的参数配置模块,其中数据转存与上传模块的输入端与双口RAM的输出端相连接,指令接收与处理模块分别与参数配置模块、数据转存与上传模块相连接。
6.根据权利要求5所述的一种基于FPGA的连续上传高速数据采集装置,其特征在于FPGA处理单元内还设有触发信号选择模块、与内参数配置模块相连接的内触发信号产生模块,其中触发信号选择模块分别与外界触发信号、内触发信号产生模块相连接,触发信号选择模块与累加处理模块相连接。
7.根据权利要求6所述的一种基于FPGA的连续上传高速数据采集装置,其特征在于设有SRAM,SRAM与FPGA处理单元内的数据转存与上传模块相连接。
8.一种采用如权利要求7所述的基于FPGA的连续上传高速数据采集装置的数据采集方法,其特征在于包括以下步骤 步骤1:装置上电初始化,微处理器与上位机建立通信,接收上位机发送的指令信息,微处理器对指令进行解析并将解析结果发送至FPGA处理单元内的指令接收与处理模块,步骤2 :指令接收与处理模块将参数配置信息发送给参数配置模块,参数配置模块据此进行参数配置,包括累加次数、采样点数的配置,步骤3 :触发信号选择模块根据触发信号选择指令选择接收由内触发信号产生模块产生的内触发信号或者接收外触发信号,选择完毕后采集工作开始,步骤4 :数据采集单元内的两路并行的数据采集通路在第一时钟模块和第二时钟模块的控制下,交替进行数据采集,并将采集结果由AD转换模块输出至与该数据采集单元相对应的数据接收模块,数据接收模块接收数据后,将数据送入与其相连接的累加处理模块,步骤5 :累加处理模块首先经通道选择I模块判断本次累加是奇数次或是偶数次,当本次累加处理为第奇数次,通道选择I模块打开与第一累加处理模块之间的数据通路,第一累加处理模块对数据接收模块的数据进行累加,得到累加结果,然后判断是否达到规定的累加次数,如果是,则停止累加,否则继续执行下一次累加处理,与此同时,第二累加处理模块与通道选择 II模块之间的数据通路打开,第二累加处理模块将其内的累加结果上传至与累加处理模块相连接的双口 RAM ;当本次累加处理为第偶数次,通道选择I模块开通与第二累加处理模块之间的数据通路,第二累加处理模块对数据接收模块内的数据进行累加处理,得到累加结果,并判断是否达到规定的累加次数,如果是,则停止累加,否则继续执行下一次累加处理,与此同时,通道选择II模块与第一累加处理模块之间的数据通路打开,第一累加处理模块将其内的累加结果上传至双口 RAM,步骤6 :数据转存与上传模块根据指令将双口 RAM中的累加结果转存到外部的SRAM中,然后数据转存与上传模块根据指令,将SRAM中的数据经微处理器MCU上传至上位机,步骤7 :上位机接收到数据后判断是否停止采集,如果是,本次采集结束,否则重复执行步骤4至6。
全文摘要
本发明涉及一种高速数据采集装置,具体地说是一种基于FPGA的连续上传高速数据采集装置及方法,其特征在于所述FPGA处理单元内设有用于接收数据采集单元所采集的信息的数据接收模块,与所述数据接收模块相连接的用于对数据进行累加处理的累加处理模块,与所述累加处理模块相连接的用于存储数据的双口RAM,累加处理模块由与数据接收模块相连接的通道选择I模块,第一累加处理模块、第二累加处理模块,以及输入端分别与第一累加处理模块、第二累加处理模块的输出端相连接的通道选择II模块组成,其中通道选择II模块的输出端与双口RAM相连接,本发明能够有效解决目前信号采集与数据上传之间的瓶颈问题。
文档编号G05B19/042GK103034150SQ201210525069
公开日2013年4月10日 申请日期2012年12月10日 优先权日2012年12月10日
发明者李德和, 史振国, 高明, 于娟 申请人:威海北洋电气集团股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1