基于FPGA的高速连续数据采集系统的设计
时间:07-28
来源:互联网
点击:
4.1 时钟及相关网络
时钟电路是高速时序电路设计的关键,本系统涉及20MHz和66 MHz高速时钟,时钟是系统设计的一个重要内容。系统在一般逻辑控制和数据采集时采用20MHz时钟,存储电路工作在66MHz时钟下。为了提高时钟同步性能、系统工作频率和系统可靠性,设计采用如下措施:
1 输入信号尽量通过锁存器;
2 保证每路始终负载相当,以便减小时钟漂移;
3 通过异步双端口存储器解决异步时钟匹配问题;
4 大量使用有限状态机,提高设计的可靠性;
5 大量采用流水线技术,提高系统工作主频。
4.2 双端口RAM
由于FIFO的容量有限,每块数据包含的数据帧数有限,故必须在适当的时候进行数据切换。切换带来的块控制数据和对应每块数据的采样门计数器数据的数据量相对较小,设计通过设置了片上双端口RAM(control data RAM),实现数据的缓冲。
因为系统采样速率高,数据传输量大,要求PCI响应快速,故本设计在FPGA上构造SGTM,PCI控制器一直查询SGTM,一旦发现SGTM传输控制字被置起,随即申请DMA操作,提高了PCI总线的DMA响应速度。
FPGA厂商提供的参数化模块库LPM(Library of Parameterized Modules)中的双端口RAM模块都是只能一端读、一端写的双端口RAM。设计采用lpm_ram_dp模块再外加控制逻辑和仲裁逻辑的方法实现了两端都能进行读写操作的双端口RAM。每次数据切换时FPGA首先刷新SGTM,申请PCI总线进行DMA操作,DMA响应后首先传送双端口RAM的对应半区的数据,然后传输对应的FIFO上的数据。
4.3 控制逻辑
控制逻辑实现对距离计数器、采样点计数器、块内采样点计数器、块内帧计数器等的控制;实现系统的设置和control data RAM和SGTM的刷新;实现对FIFO的读操作、写操作控制和其它控制。
5 应用和结论
本文提出了一种连续、高速、大容量、多通道的高速数据采集系统实现方案,并说明了该方案基于Altera公司的EPF10K30E系列FPGA的实现方法。目前本文实现的数据采集系统已经应用于某雷达数字信号处理系统中。经过实验室和室外测试,系统工作正常,达到了设计的要求。
时钟电路是高速时序电路设计的关键,本系统涉及20MHz和66 MHz高速时钟,时钟是系统设计的一个重要内容。系统在一般逻辑控制和数据采集时采用20MHz时钟,存储电路工作在66MHz时钟下。为了提高时钟同步性能、系统工作频率和系统可靠性,设计采用如下措施:
1 输入信号尽量通过锁存器;
2 保证每路始终负载相当,以便减小时钟漂移;
3 通过异步双端口存储器解决异步时钟匹配问题;
4 大量使用有限状态机,提高设计的可靠性;
5 大量采用流水线技术,提高系统工作主频。
4.2 双端口RAM
由于FIFO的容量有限,每块数据包含的数据帧数有限,故必须在适当的时候进行数据切换。切换带来的块控制数据和对应每块数据的采样门计数器数据的数据量相对较小,设计通过设置了片上双端口RAM(control data RAM),实现数据的缓冲。
因为系统采样速率高,数据传输量大,要求PCI响应快速,故本设计在FPGA上构造SGTM,PCI控制器一直查询SGTM,一旦发现SGTM传输控制字被置起,随即申请DMA操作,提高了PCI总线的DMA响应速度。
FPGA厂商提供的参数化模块库LPM(Library of Parameterized Modules)中的双端口RAM模块都是只能一端读、一端写的双端口RAM。设计采用lpm_ram_dp模块再外加控制逻辑和仲裁逻辑的方法实现了两端都能进行读写操作的双端口RAM。每次数据切换时FPGA首先刷新SGTM,申请PCI总线进行DMA操作,DMA响应后首先传送双端口RAM的对应半区的数据,然后传输对应的FIFO上的数据。
4.3 控制逻辑
控制逻辑实现对距离计数器、采样点计数器、块内采样点计数器、块内帧计数器等的控制;实现系统的设置和control data RAM和SGTM的刷新;实现对FIFO的读操作、写操作控制和其它控制。
5 应用和结论
本文提出了一种连续、高速、大容量、多通道的高速数据采集系统实现方案,并说明了该方案基于Altera公司的EPF10K30E系列FPGA的实现方法。目前本文实现的数据采集系统已经应用于某雷达数字信号处理系统中。经过实验室和室外测试,系统工作正常,达到了设计的要求。
单片机 总线 FPGA Altera 嵌入式 电路 相关文章:
- 采用EEPROM对大容量FPGA芯片数据实现串行加载(03-18)
- 周立功:如何兼顾学习ARM与FPGA(05-23)
- 初学者如何学习FPGA(08-06)
- 为何、如何学习FPGA(05-23)
- FPGA作为协处理器在实时系统中的应用(04-08)
- 我的FPGA学习历程(05-23)