一种基于fpga的便携式高速数据采集方法

xiaoxiao2020-10-23  15

一种基于fpga的便携式高速数据采集方法
【技术领域】
[0001]本发明属于计算机数据采集领域,尤其涉及一种基于FPGA(现场可编程门阵列)的便携式、低功耗、USB接口的高速数据采集方法。
【背景技术】
[0002]现有的数据采集方法多采用PC1、PXI接口作为数据传输接口,PCI总线是一种局部总线,支持即插即用,中断共享等功能,具有总线结构简单、设计简单的特点,同时缺点也十分明显,即并行总线无法连接多个设备,总线扩展性差,线间干扰会导致系统无法正常工作;连接多个设备时,总线带宽降低,数据传输速率变慢。同时,需要将数据采集设备插于主机机箱中,不利于移动作业,且电磁屏蔽性能不好。
[0003]专利公开号CN101408902A提供了一种基于FPGA和USB总线的高速数据采集与传输方法,其原理是模拟信号通过模数转换模块后得到数字信号,直接输出给FPGA进行信号处理。但此方法的模拟信号采集部分并没有进行信号的预处理,被采集的信号会受到各种噪声干扰,影响数据采集与处理的准确性。
[0004]论文《基于FPGA的多通道数据采集系统设计》中使用FPGA与ARM结合的设计方法,这种方法的原理是,利用FPGA实现系统逻辑控制,利用ARM实现系统存储配置。但该数据采集方法降低了系统的集成度,增加了数据采集系统的冗余度,使得系统不具备便携性。

【发明内容】

[0005]本发明旨在解决已有数据采集方法存在的数据采集系统体积庞大,结构复杂,数据传输速度慢、抗干扰能力差等缺陷,进而提供一种可实现采样率125MSPS的12位高速数据的采集与转换,并通过USB接口高速传输的基于FPGA的便携式高速数据采集方法。
[0006]为此,本发明所采取的解决方案是:
[0007]一种基于FPGA的便携式高速数据采集方法,其特征在于,将FPGA与USB接口结合,在FPGA芯片上增设电源控制模块、时序控制模块、数据缓存管理模块、数据传输控制模块,各模块协同工作将数据高速采集并通过USB接口传输至上位机,在上位机通过LABVIEW虚拟仪器软件显示采集的数据图像;其具体方法为:
[0008]1、采用将待测的输入信号通过放大、滤波操作转换成采集设备能够识别的标准信号的信号调理方法,利用滤波器、转换器、放大器电路来改变输入的信号类型并输出之。从而解决已有专利没有对采集信号进行预处理导致信号受到外界噪声干扰的缺点。
[0009]2、采用A/D转换即模数转换电路,通过抽样、量化和编码对采集的模拟信号进行高速模数转换,检测信号通过信号调理电路后,经过模数转换器进行模数转换,模数转换部分是数据采集系统的核心部分,直接影响系统的采样速度和采样精度。在FPGA控制逻辑控制下,把采样值存于FPGA内部FIFO中。
[0010]3、通过电源控制电路为系统提供所需的稳定电压,以保证各个功能模块正常工作,其中信号调理电路需要+5V,-5V电压,A/D转换电路、USB接口电路分别需要3.3V电压,FPGA芯片需要3.3V,2.5V,1.2V电压;电源控制电路保证各个功能模块正常工作。
[0011]4、时钟电路实现对高速、大动态范围模数转换器ADC提供精密的时钟,采用差分时钟输入获得采样性能,将从FPGA分配出来单端的时钟转化为差分形式,在差分电缆中以高速率使信号传输,其低压幅和低电流驱动输出实现低噪声和低功耗,在线路传输中抑制噪声。
[0012]5、使用Verilog HDL行为描述语言,也是结构描述语言,编写代码后将功能行为模块通过工具转化为门级互联结构模块,通过模数转换控制模块、时钟分频模块、FIFO模块、USB控制模块的控制逻辑配合完成数据的采集与传输,FPGA作为系统控制核心器件,集成各功能模块,极大降低了系统的冗余程度,便于对各功能模块统一管理。
[0013]所述模数转换控制模块对模数转换器提供相关控制信号,完成对外部模数转换电路的控制。
[0014]通过时钟分频模块对时钟信号按照要求进行分频工作,并将分频后的时钟信号送入其他模块,为各个模块提供准确的时钟信号,使得各功能模块在准确的时序下正常工作,达到简化逻辑设计和系统设计,有效地提高设计的可靠性的有益效果。
[0015]所述FIFO模块为先进先出的数据缓存器,模数转换器的转换速率为12位125MSPS,每秒的数据量为125MX 12bit=1500Mbps,在两个不同的时钟域间使用FIFO作为数据缓冲,控制数据先进先出,协调速率匹配。
[0016]所述USB控制模块:USB接口 USB芯片内部资源以及固件程序控制,USB芯片所接受的数据以及固件程序的读、写事件的发生都是通过芯片的相应引脚的信号作为依据,专门编写USB控制模块以向芯片输送正确的事件发生信号以及相应数据;USB接口作为串口标准,支持设备即插即用,最多可连接127个外设,USB2.0传输速率为480Mbps,满足高速数据传输的需求,同时提高数据采集系统的便携性能。
[0017]本发明的有益效果为:
[0018]1、由于将多功能模块集成到同一块FPGA上,集成度提高,大大缩小的板卡的尺寸,方便携带,并便于在狭小的空间作业。
[0019]2、本发明在FPGA上进行功能模块的编写配置等工作,可以随时根据具体需要在FPGA上添加相应的功能模块,继而扩展数据采集系统的功能。
[0020]3、通过硬件描述语言Verilog HDL在FPGA上设计功能模块,避免在控制器件FPGA外部设计单独的功能模块,增加数据采集系统的成本以及体积,减小了系统冗余程度,降低系统内部干扰。
[0021]4、本发明使用USB接口作为高速数据传输的通道,实现即插即用的功能,并通过USB接口对系统供电,降低了系统的功耗。
[0022]5、本发明通过FPGA的数字时钟管理器(DCM)进行倍频,为先进先出存储FIFO的读写等功能模块需要较高的内部时钟频率,因此不需要设计额外的时钟电路,简化了逻辑设计和系统设计,有效地提高设计的可靠性。
【附图说明】
[0023]图1是高速数据采集系统结构框图;
[0024]图2是A/D转换控制状态转换图;
[0025]图3是USB设备与控制器连接示意图。
【具体实施方式】
[0026]下面结合附图对本发明作进一步说明。
[0027]如图1所示,本发明模块化设计的数据采集系统包括模拟量输入、预处理电路、A/D (模数)转换电路、时钟源、FPGA、USB控制器、USB接口及上位机八个部分。其中信号调理预处理电路、A/D转换电路是数据采集部分;数据存储和控制模块集成在FPGA上,同时系统还包括数据传输接口(USB)和位于计算机上的驱动程序和应用程序。USB接口作为串口标准,支持设备即插即用,最多可连接127个外设,USB2.0传输速率为480Mbps。
[0028]采集系统的具体工作过程是:在数据采集部分中,采集的模拟信号经过放大滤波,再被AD转换电路转换为数字信号,在FPGA控制逻辑控制下,把采样值存于FPGA内部FIFO中,FPGA内部FIFO的数据由FPGA的USB接口控制数据传输,通过USB控制器传输至PC机,PC机完成数据存储以及信号后处理。FPGA通过数字时钟管理器(DCM)为系统提供时序控制,完成对ADC (模数转换器)的控制和对USB的控制。
[0029]电源控制电路为系统提供所需的稳定电压,以保证各个功能模块正常工作,其中信号调理电路需要+5V,-5V电压,A/D转换电路、USB接口电路分别需要3.3V电压,FPGA芯片需要3.3V,2.5V, 1.2V电压。
[0030]信号调理电路实现对模拟信号的放大滤波,采用RF变压器与运算放大器结合的电路来实现对采集信号的预处理,实现将输入信号幅度进行比例放大或缩小、抑制噪声、滤波以及隔离等一系列功能。将单端信号接入到RF变压器ADTl-1WT的初级线圈,变压器次级的中心抽头接到A/D模数转换器的CM引脚上,目的是在变压器的次级得到了两个幅度相等但相位相反的差分信号,这两个信号分别接到INP和I匪上。C33与R20、R27共同实现一个低通RC滤波器,用来限制ADC (模数转换器)的输入噪声,同时在ADC (模数转换器)开关动作时隔离了信号源,起到退藕作用,能够有效的解决电源噪声问题。在变压器的初级线圈一端分别接入0.1uF和100pF的钽电容,并联用作藕合电路,对高频和低频信号均呈现通路,可同时滤去高频和低频成份,起宽带滤波作用。
[0031]A/D模数转换电路中,模拟输入引脚INP、I匪接到前面信号调理电路的变压器次级线圈一端,调理电路由一个差分跟踪,保持放大器和开关电容组成。使用这种差分输入技术时确保了高采样率条件下的高性能,同时 也带来了非常高的可用输入带宽。INP和?!互为反相,为了使ADC (模数转换器)内部电路工作在最佳状态并具有最好的温度特性,将这两个信号输入端要偏置在一个共同的参考电压之上。因此,在设计中将引脚CM接入前面信号调理电路中变压器次级输出中间的抽头上,变压器的次级输出相对于中间抽头在幅度和相位上一定要有很好的对称性,可以使ADC (模数转换器)的量化输出很好地反映出真正的输入信号。
[0032]时钟电路实现对高速、大动态范围ADC (模数转换器)提供精密的时钟。本发明设计一种采用差分时钟输入以获得最佳的采样性能的方法,通过时钟管理芯片SY10EPT28L将从FPGA分配出来单端的时钟转化为差分形式。影响采样时钟的质量有三个因素:一是频率稳定度;二是频率准确度;三是信号的前后沿抖动时间。为减小上述三个因素的影响,时钟源首先在FPGA内部经过锁相环倍频后送入时钟管理芯片SY10EPT28L,然后送入A/D模数转换器的两个时钟输入端CLKP和CLKM。对于系统总的时钟控制模块,本发明设计有源晶振为FPGA提供系统时钟,这个时钟信号接入到FPGA的全局时钟引脚GCLK,通过FPGA内部数字时钟管理器(DCM)模块对系统其他部件提供必需的分频与倍频。时钟源采用10MHz的有源晶振,由FGPA的管脚输入,经分频后得到ADS5520所需的转换时钟。此外,还需要设计片内时钟,该时钟为逻辑器件内部的存储器、触发器、以及各功能模块提供同步时钟控制信号。A/D转换(模数转换)时钟采用逻辑设计来实现分频。逻辑器件内设计中,对FIFO的读写以及FFT运算等功能模块需要较高的内部时钟频率,将采用数字时钟管理器(DCM)进行倍频。A/D转换电路中的模数转换器的转换速率为12位125MSPS,每秒的数据量为125MX12bit=1500Mbps。
[0033]数据采集系统控制逻辑主要依靠状态机(表示有限各状态以及这些状态之间的转移和动作等行为的数学模型)实现的。开始,数据采集单元处于停止状态,当A/D转换控制信号到来时,启动A/D转换。A/D转换完成后,开启数据输出,同时进行数据串并转换。最后,存储串并转换结果,再回到起始状态准备下一次数据采集。具体数据采集控制状态转换如图2所示。整个采样周期需要4个状态。这样设计的优点是,不会因为指令执行时间过长而限制A/D器件的高速性能的利用。A/D控制程序进程如下:
[0034]StO:开始控制AD芯片。
[0035]stl:启动AD转换,既是将OVR引脚置低。
[0036]st2:如果AD转换完成,则转向st3,否则停留在st2。
[0037]st3:将数据输出到FIFO模块。
[0038]st4:将数据锁存。
[0039]数据输出引脚DO (LSB)-D13 (MSB)将模数转换器转换好的数据传入FPGA进行进一步的数据处理。
[0040]FX2是USB控制器,其引脚FDO?FD15为8/16位双线数据总线,直接连入控制逻辑FPGA,通过FPGA将转化好的数字量送入FX2的FIFO。引脚SLOE控制数据总线的输出,控制FIFO数据端的输出,直接连入控制器FPGA。引脚FIF0ADR0、引脚FIF0ADR1的作用是选择FIFO端点,这两个控制引脚通过PFGA选择4个FIFO (EP2、EP4、EP6、EP8)中的一个与数据总线相连。00对应EP2、01对应EP4、10对应EP6、11对应EP8,在本设计中,两端口由FPGA设置为11。配置数据的发送由EP8端点完成,而采样处理后数据的接收由EP2端点完成。引脚SLRD和SLWR是读/写选通信号,直接接入FPGA,由外部控制逻辑控制。IFCLK为接口时钟,可由芯片内部产生(30MHz/48MHz),也可由外部输入(5MHz?48MHz);在本系统中选择由FPGA提供系统时钟源分频之后的时钟信号,以便节省资源,统一管理。FLAGA?FLAGD为FIFO标准管脚,用于映射FIFO当前状态,除了能够表示“FIFO满”和“FIFO空”以夕卜,还可以表示用户编程级信息,这几个引脚连入FPGA,将当前FIFO的状态反馈给控制器FPGA。
[0041]基于FX2的设备可以使用FX2的CPU直接处理USB的数据,但是对于FX2有更加简单的连接方法。在具有外部数据处理逻辑的设备中,USB在主机和外部逻辑设备中传输,通常不需要FX2的CPU的参与,而是通过FX2内部端点FIFO来传输。对于外部逻辑器件,这些端点提供时序信号、握手信号(full、empty> programmable-level),读/写信号和输出入、允许信号等。FX2与外部控制逻辑(本系统中的FPGA)的硬件电路实现如图3所示,当FX2工作于从属FIFO模式时,外围电路可像普通FIFO—样对FX2中端点2、端点4、端点6和端点8的数据缓冲区进行读写。
【主权项】
1.一种基于FPGA的便携式高速数据采集方法,其特征在于,将FPGA与USB接口结合,在FPGA芯片上增设电源控制模块、时序控制模块、数据缓存管理模块、数据传输控制模块,各模块协同工作将数据高速采集并通过USB接口传输至上位机,在上位机通过LABVIEW虚拟仪器软件显示采集的数据图像;其具体方法为: (1)、采用将待测的输入信号通过放大、滤波操作转换成采集设备能够识别的标准信号的信号调理方法,利用滤波器、转换器、放大器电路来改变输入的信号类型并输出之; (2)、采用A/D转换即模数转换电路,通过抽样、量化和编码对采集的模拟信号进行高速模数转换,检测信号通过信号调理电路后,经过模数转换器进行模数转换,在FPGA控制逻辑控制下,把采样值存于FPGA内部FIFO中; (3)、通过电源控制电路为系统提供所需的稳定电压,以保证各个功能模块正常工作,其中信号调理电路需要+5V,-5V电压,A/D转换电路、USB接口电路分别需要3.3V电压,FPGA 芯片需要 3.3V, 2.5V, 1.2V 电压; (4)、时钟电路实现对高速、大动态范围模数转换器ADC提供精密的时钟,采用差分时钟输入获得采样性能,将从FPGA分配出来单端的时钟转化为差分形式,在差分电缆中以高速率使信号传输,其低压幅和低电流驱动输出实现低噪声和低功耗; (5)、使用VerilogHDL行为描述语言,也是结构描述语言,编写代码后将功能行为模块通过工具转化为门级互联结构模块,通过模数转换控制模块、时钟分频模块、FIFO模块、USB控制模块的控制逻辑配合完成数据的采集与传输,FPGA作为系统控制核心器件,集成各功能丰旲块。2.根据权利要求1所述的基于FPGA的便携式高速数据采集方法,其特征在于,所述模数转换控制模块对模数转换器提供相关控制信号,完成对外部模数转换电路的控制。3.根据权利要求1所述的基于FPGA的便携式高速数据采集方法,其特征在于,通过时钟分频模块对时钟信号按照要求进行分频工作,并将分频后的时钟信号送入其他模块,为各个模块提供准确的时钟信号,使得各功能模块在准确的时序下正常工作。4.根据权利要求1所述的基于FPGA的便携式高速数据采集方法,其特征在于,所述FIFO模块为先进先出的数据缓存器,模数转换器的转换速率为12位125MSPS,每秒的数据量为125MX12bit=1500Mbps,在两个不同的时钟域间使用FIFO作为数据缓冲,控制数据先进先出,协调速率匹配。5.根据权利要求1所述的基于FPGA的便携式高速数据采集方法,其特征在于,所述USB控制模块:USB接口 USB芯片内部资源以及固件程序控制,USB芯片所接受的数据以及固件程序的读、写事件的发生都是通过芯片的相应引脚的信号作为依据,专门编写USB控制模块以向芯片输送正确的事件发生信号以及相应数据;USB接口作为串口标准,支持设备即插即用,最多可连接127个外设,USB2.0传输速率为480Mbps。
【专利摘要】本发明提供一种基于FPGA的便携式高速数据采集方法,将FPGA与USB接口结合,在FPGA芯片上增设电源控制模块、时序控制模块、数据缓存管理模块、数据传输控制模块,各模块协同工作将数据高速采集并通过USB接口传输至上位机,在上位机通过LABVIEW虚拟仪器软件显示采集的数据图像。本发明集成度高,方便携带,可根据需要扩展数据采集系统的功能,减小系统冗余程度,降低系统内部干扰,实现即插即用的功能,并通过USB接口对系统供电,降低了系统的功耗,不需要增设额外的时钟电路,简化了逻辑设计和系统设计,有效地提高设计的可靠性。
【IPC分类】G06F13/38
【公开号】CN104899167
【申请号】CN201410079132
【发明人】高冰, 王晓慧, 宋宝宇, 王靖震, 杨东晓, 费静
【申请人】鞍钢股份有限公司
【公开日】2015年9月9日
【申请日】2014年3月5日

最新回复(0)