基于FPGA的高速数据采集装置的制作方法

文档序号:13172649阅读:533来源:国知局
基于FPGA的高速数据采集装置的制作方法

本实用新型涉及一种基于FPGA的高速数据采集装置,用于对采集速率较高、完整度要求较高的高速数据采集及处理的场合。



背景技术:

传统的数据采集一般采用单片机或者DSP作为控制单元来控制外围电路的工作。单片机的体积较小,价格低廉,应用也十分的广泛,但是其实时性较差,能够达到的采样速度也有很大的局限,一般应用在实时性及采样速率要求不高的场合。对于DSP来说,数据处理功能很强,也可以达到高速率的采集数据,但是运用DSP作为CPU来控制外围电路,在控制复杂的逻辑器件方面也存在很大的缺陷。



技术实现要素:

发明目的:针对现有技术的不足,本实用新型提供一种基于FPGA的高速数据采集装置,采用FPGA作为高速数据采集控制单元,解决采集速率高、数据量大的难点。

技术方案:为实现上述目的,本实用新型采用如下技术方案:

基于FPGA的高速数据采集装置,包括FPGA芯片、AD转换芯片、SDRAM芯片和上位机;所述FPGA芯片分别与AD转换芯片、SDRAM芯片以及上位机相连接;所述FPGA芯片接收上位机的控制信号,从AD转换芯片采集数据并存储至SDRAM芯片,并将SDRAM芯片中所存储的数据反馈至上位机;所述FPGA芯片输出AD转换芯片和SDRAM芯片的时钟信号;所述FPGA芯片运用1个I/O口与AD转换芯片的使能端连接,运用8个I/O口与AD转换芯片的数据端口连接;所述FPGA芯片运用13个I/O口与SDRAM的地址线连接,运用两个I/O口与SDRAM片区连接,运用4个I/O口与SDRAM的CS、RAS、CAS以及WE连接,运用8个I/O口与SDRAM的数据端口连接;FPGA芯片通过串口芯片与上位机连接。

作为优选,所述FPGA芯片内设有可控分频模块、AD控制模块和SDRAM控制模块;所述可控分频模块输入有源晶振提供的系统时钟信号,输出供AD控制模块和SDRAM控制模块工作的第一时钟信号CLOCK1,输出供SDRAM芯片工作的第二时钟信号CLOCK2;所述AD控制模块与AD转换芯片数据通信,所述SDRAM控制模块与SDRAM芯片数据通信。

作为优选,所述FPGA芯片内还设有第一FIFO缓存和第二FIFO缓存,分别用作读SDRAM和写SDRAM的数据缓冲区。

在具体的实施方案中,所述FPGA芯片为EP4CE6E22C8N,所述AD转换芯片为AD9283;所述可控分频模块输入50MHz时钟信号,输出100kHz位移为-210°的第一时钟信号CLOCK1至AD控制模块和SDRAM控制模块,输出100kHz位移为0°的第二时钟信号CLOCK2至SDRAM芯片;所述AD控制模块与AD转换芯片数据通信,所述SDRAM控制模块与SDRAM芯片数据通信。

有益效果:本实用新型采用的FPGA芯片在整个采集装置中起着“桥梁”作用。一方面产生AD工作所需要的时钟,从AD中获取采样值;另一方面开辟FIFO缓存将采样数据快速连续地锁存进SDRAM,同时还可以实现与上位机的单片机SPI通讯。根据上位机单片机的要求实现采样启动、向单片机传输SDRAM中存储的数据等功能。FPGA把AD采样及SDRAM存储以及单片机这几个器件联系起来协调工作,可以解决直接采用单片机控制存在的速度慢、内存小而引起大量数据发送不及时和数据接收没有地方缓存的问题。与现有技术相比,本装置能够实现对高速数据的采样,并能够准准确的存储采集的大量数据。本实用新型有以下优点:1)采样频率高,速度快,能准确的保存采集的大量数据。2)采用FPGA控制SDRAM的方式对大量数据进行准确存储。

附图说明

图1是本实用新型实施例的结构示意图。

图2是本实用新型实施例的核心部件硬件原理图。

图3是本实用新型实施例的测试结果图。其中(a)为100KHz的正弦波,(b)为100KHz的三角波,(c)为100KHz的方波。

具体实施方式

以下结合附图进一步描述本实用新型的技术方案:

如图1,本实用新型实施例公开的一种基于FPGA的高速数据采集装置,主要包括FPGA芯片、AD转换芯片、SDRAM芯片和上位机。FPGA芯片为采集装置的控制器,分别与AD转换芯片、SDRAM芯片以及上位机相连接,接收上位机的控制信号,从AD转换芯片采集数据并存储至SDRAM芯片,并将SDRAM芯片中所存储的数据反馈至上位机。FPGA芯片输出AD转换芯片和SDRAM芯片的时钟信号,产生高速AD转换器及大容量SDRAM存储器工作所需要的控制时序信号,对采集速率可达100MHz的高速A/D转换芯片AD9283进行采样控制,通过开辟FIFO1缓存,将大量数据快速持续地锁存到大容量SDRAM存储器中以及对通过FIFO2的缓存将SDRAM中的数据从串口输出至上位机。

下面以FPGA芯片EP4CE6E22C8N,AD转换芯片AD9283,SDRAM存储芯片MT48LC32M82A为例,详细说明本实施例的具体结构和原理。

如图2所示,EP4CE6E22C8N的运用98号I/O口连接AD9283的使能端,运用如图2所示的其余I/O连接AD9283的数据段,而EP4CE6E22C8N运用13个I/O口连接SDRAM地址线A0到A12,运用两个I/O口连接SDRAM的Bank,运用4个I/O口与SDRAM的CS、RAS、CAS以及WE连接,最后运用8个I/O口与SDRAM的数据端口连接。EP4CE6E22C8N通过串口芯片(如CH340)与上位机连接(图中未示意),FPGA的RX端口与串口芯片的TX端口连接,FPGA的TX端口与串口芯片的RX连接,完成与上位机的连接。

FPGA芯片EP4CE6E22C8N内设有可控分频模块、AD控制模块和SDRAM控制模块。其中可控分频模块PLL即系统时钟采用50MHz有源晶振,当输入到芯片EP4CE6E22C8N后,经过编程分频成100kHz位移为-210°的CLOCK1和100kHz位移为0°的CLOCK2。SDRAM基础模块和AD9283工作状态控制模块的时钟信号由CLOCK1提供,SDRAM芯片的时钟信号由CLOCK2提供。

AD控制模块即为FPGA对AD9283工作状态的控制,可根据AD芯片的使用手册操作,AD9283主要通过对它的片内8个寄存器进行设置,对每个寄存器的设置都要通过对通信寄存器的写操作开始。AD9283控制模块需要100MHz的时钟信号CLOCK以及时钟信号十分频的AD_CLK时钟信号。当AD9283控制模块的AD_EN信号为高电平且AD_CLK时钟信号也为高电平时,AD9283控制模块开始采集数据,并把数据放在AD9283自带的存储区中。等8Bit数据采集完后,等待CLOCK的下一个上升沿来时,同时AD_RD信号为高电平,将采集的数据发送出去。

SDRAM控制模块即为FPGA对存储芯片MT48LC32M82A的操作控制,为了能够存储在采样期间高速产生的大量数据,在FPGA内部开辟了第一FIFO缓存FIFO1和第二FIFO缓存FIFO2,用作读SDRAM和写SDRAM的数据缓冲区。其中FIFO1是数据读入SDRAM过程中的暂存区,即AD9283控制模块完成AD的数据采集后,将采集的数据放入在FIFO1中,等FIFO1采满512个数据时,SDRAM的控制模块会向SDRAM功能模块突发一行写操作,就可将采集的数据存储在SDRAM中。等SDRAM存储完数据后,SDRAM控制模块会向SDRAM功能模块突发一行读操作,将SDRAM中的数据读取出来,并将读取的数据通过FIFO2的缓存,再通过串口输出,从而完成了高速数据的采集。

为了验证本实用新型装置的可行性和有益效果,作如下测试。如图3,运用DG1022U信号发生器分别产生Vpp为1V,频率为100KHz的正弦波、三角波以及方波。信号接至本实施例的高速数据采集装置,数据采样装置的采样速率是为100MHz。通过一台PC机通过FIFO2读出SDRAM中的数据,利用FPGA的串口芯片CH340输出在串口调试助手XCOM V2.0中接收数据。把串口接收到的数据运用turboc2转换成十进制数,最后运用Origin绘图软件将保存的数据进行绘图。在Origin中,以时间为横轴,幅值为纵轴绘出100kHz正弦波、三角波和方波。根据测试结果可知,该装置能够完成高速数据的采集及完整的存储。

本实用新型将FPGA应用到数据采集技术中,成功解决了直接采用单片机控制下的控制信号时序速度慢以及由于内存读写速度不够而使大量数据来不及发送和存储的问题。系统具有灵活性强、通用能力好、易于开发、扩展等优点,是现代化高速数据采集发展的必然趋势。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1