一种基于FPGA的高速数据采集、存储与回放系统的制作方法

文档序号:11652641阅读:1106来源:国知局
一种基于FPGA的高速数据采集、存储与回放系统的制造方法与工艺

本实用新型涉及一种高速数据采集、存储与回放系统,尤其涉及一种基于FPGA的高速数据采集、存储与回放系统。



背景技术:

在雷达、气象、地震预报、航空航天、通信等领域里,现场信号有着重要的作用,这些信号具有实时性强、数据率高、数据量大和处理复杂等特点。因而,信号的高速采集有着重要的作用。同时,越来越多的电子系统趋向于使用数字处理技术来提高自身的性能、效果和实现复杂的算法,对数据采集速度和数据存储量的需求也越来越大。

近年来在数据采集产品的研制上取得了一定的成果,尤其低速数据采集技术已经相当成熟。但是,在高速数据采集领域,控制器件对高速模数转换和高速数模转换的控制、数据转换速率与存储器件的存取速率不同以及FPGA控制器件的内部设计方面还存在一定问题。



技术实现要素:

为克服现有技术的不足,本实用新型提出一种基于FPGA的高速数据采集、存储与回放系统。

本实用新型的技术方案是这样实现的:

一种基于FPGA的高速数据采集、存储与回放系统,包括

差分放大器;

与所述差分放大器相连的ADC转换器;

与所述ADC转换器相连的FPGA芯片,所述FPGA芯片包括ADC控制器、DAC控制器、先入先出存储器和SDRAM控制器;

与所述FPGA芯片相连的SDRAM存储器;和

与所述FPGA芯片相连的DAC转换器;

其中,所述差分放大器将模拟信号调整到所述ADC转换器的采集范围,所述ADC控制器控制所述ADC转换器将模拟信号转换为数字信号并将采样数据存入所述先入先出存储器中,所述ADC控制器依次取走所述先入先出存储器中的数据并存入到所述SDRAM存储器中,所述DAC控制器控制所述DAC转换器将所述数字信号转换为模拟信号输出。

进一步地,所述FPGA芯片采用FPGA-CycloneⅡ系列的EP2C50F484芯片。

进一步地,所述ADC转换器采用AD9230芯片。

进一步地,所述DAC转换器采用DAC5681Z芯片。

进一步地,所述SDRAM存储器采用MT8HTF12864HDY-800E1存储器。

本实用新型的有益效果在于,与现有技术相比,本实用新型以FPGA芯片为控制核心,用DDR2SDRAM内存条为存储介质,通过高速ADC、DAC器件转换,实现了最高采样率为250MSPS、垂直分辨率为12位、存储容量为1GB的大容量高速数据采集、存储与回放。

附图说明

图1是本实用新型基于FPGA的高速数据采集、存储与回放系统结构示意图;

图2是本实用新型中ADC转换器与FPGA芯片连接示意图;

图3是本实用新型中DAC转换器与FPGA芯片连接图。

具体实施方式

下面将结合本实用新型实施例中的附图,对本实用新型实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本实用新型一部分实施例,而不是全部的实施例。基于本实用新型中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本实用新型保护的范围。

请参见图1,本实用新型一种基于FPGA的高速数据采集、存储与回放系统,包括差分放大器;与所述差分放大器相连的ADC转换器;与所述ADC转换器相连的FPGA芯片,所述FPGA芯片包括ADC控制器、DAC控制器、先入先出存储器和SDRAM控制器;与所述FPGA芯片相连的SDRAM存储器;和与所述FPGA芯片相连的DAC转换器。

对于FPGA芯片,综合考虑芯片性能和成本,选用Altera公司的低成本FPGA-CycloneⅡ系列EP2C50F484芯片,芯片具有129个M4K RAM,最大用户可用I/O引脚数294个,接口速率高达吉比特每秒。该芯片满足系统对缓存容量、数据接口、数据速度的要求。

FPGA芯片内部包含ADC控制器、DAC控制器、FIFO(先入先出存储器)和SDRAM控制器等模块。用Verilog语言设计FPGA芯片内部控制模块。

其中,FIFO的设计:用Verilog语言设计FPGA芯片内部FIFO。由于AD时钟、DA时钟与SDRAM时钟不相同,存储器位宽不同,因此需要进行数据缓冲,以实现数据读写时钟与位宽的匹配。利用FPGA芯片内部的自带双口RAM存储器来设计一个异步FIFO(First In First Out先进先出队列)来实现数据流的传输,由发送时钟域将数据写入,接收时钟域将数据读出,在数据传输的同时实现了数据的缓存。当FIFO中的数据写满时,FIFO的满标志(FULL)置1,SDRAM取走一页的数据;当FIFO中的数据读空时,FIFO的空标志(EMPTY)置1,暂停取走数据,实现数据正确传输。

SDRAM控制器的设计:用Verilog语言设计FPGA芯片内部SDRAM控制器。若操作为向SDRAM写数据,则在SDRAM满时,SDRAM控制器送出一个信号,以阻止写操作继续向SDRAM中写数据而造成溢出;若操作为向SDRAM读数据,则在缓冲器已空时,SDRAM控制器送出一个信号,以阻止读操作继续从SDRAM中读数据而造成无效数据的读出。

时钟电路的设计:整个高速采集系统是在一定时序控制下完成的,ADC转换器的最高采样频率为250MSPS,SDRAM所需的时钟频率为200MHz,所以系统时钟采用50MHz的有源晶振来实现,有源晶振输出的稳定时钟信号利用FPGA芯片内的PLL(Phase Locked Loop锁相环)通过分频、倍频或者移位等来实现ADC转换器、DAC转换器、SDRAM存储器所需要的时钟频率。

系统工作过程为:输入模拟信号,通过差分放大器,调整到ADC转换器采集范围,ADC转换器在FPGA芯片内部ADC控制器作用下,把模拟信号转换成数字信号,并将采样数据存入FPGA芯片内部的FIFO缓存系统。采样过程中FPGA芯片内部ADC控制器依次取走FIFO中的批量数据,存储到片外SDRAM存储器中。回放系统在FPGA内部DAC控制器的作用下,把FPGA内部输出的数字信号转换成模拟信号输出。

ADC转换器采用ADI公司的高速、低功耗、12位模数变换通道的芯片AD9230,其最大采样率250MHz。在AD9230芯片前端,添加三运放集成仪表放大器结构AD620构成的差分放大适配电路,将模拟输入信号适配到AD9230的采集范围。AD620输入端为差分输入,通过调整电阻Rg的大小控制输出的增益,电路增益计算公式为:G=49.4K/Rg+1,驱动后续的高速模数转换器。

DAC转换器采用TI公司的DAC5681Z芯片,16位分辨率,支持LVDS电平标准,转换速度达1GSPS。

对于SDRAM存储器的选择,由于数据量较大,FPGA内部的RAM无法满足存储要求,同时考虑到ADC的采样率很高导致单位时间产生的数据量特别大,所以,选择具有高速和高性价比的SDRAM作为系统的存储单元。本系统设计选取的是比较常见的笔记本内存条-MT8HTF12864HDY-800E1,容量为1GB,外部数据率为800Mbps,带宽为6.4GB/s,完全可以满足数据缓存的需求。

图2是ADC转换器与FPGA芯片连接以及FPGA内部ADC控制器的设计。数据转换和提取过程如下:首先,CS信号控制AD9230数据转换和数据读取。FPGA内部ADC控制器检测BUSY和RS的状态,当BUSY处于高电平和RC处于低电平时,等待CS下降沿触发AD9230转换。当AD9230开始转换时,BUSY变为低电平,直到转换结束。在转换结束后,ADC转换器内部寄存器会自动进行更新,变为高电平。对于数据的读取,同样需要检测BUSY和R C的状态,直到BUSY和RC都处于高电平,此时以CS的下降沿触发数据读取。

图3是DAC转换器与FPGA芯片连接以及FPGA内部DAC控制器的设计。在发送数据之前,FPGA芯片内部DAC控制器通过SPI串口配置端口对DAC5681Z进行配置。SPI是由CS、SCLK、SDIO和SDO四路信号线组成,其中CS为芯片片选端,低电平有效,SCLK为串行时钟接口,SDIO为串行数据端口,用于进行指令和数据的读写,SDO为串行数据输出接口,IOUT_A1和IOUT_A2分别为DAC5681Z差分输出电流。

以上所述是本实用新型的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本实用新型原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本实用新型的保护范围。

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