微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 在高速信号采集系统中利用FPGA实现异步FIFO设计

在高速信号采集系统中利用FPGA实现异步FIFO设计

时间:11-11 来源:EETCHINA 点击:

目前数据采集系统朝着高速和高精度的方向发展。随着FPGA|0">

从前面的A/D时序电路中可知,A/D转换数据的输出和转换时钟有一定的相位差,在FPGA内部可通过延时或时钟管理器来满足建立时间和保持时间,保证数据不失码地传输到FIFO中。

2. FIFO与C6416的接口电路

C6416有两个EMIF口,即EMIFA和EMIFB,其中EMIFA的总线宽度支持64b、32b、16b和8b,寻址空间为1024Mb;EMFIB的总线宽度支持16b和8b,寻址空间为256Mb。本文采用EMIFB作为与FIFO的接口,其总线宽度配置为16b。EMIFB可以与各种外部存储器实现无缝接口,如SBSRAM、SDRAM、异步设备(包括SRAM、ROM和FIFO)和外部共享存储设备等。设计中EMFIB和FIFO的接口采用异步读的方式,实现数据的可靠传输,即通过由/ARE和地址来实现对两个同步FIFO的异步读,其控制接口信号的连接关系为:

RD_CLK=/ARE

RD_EN1=A20

RD_EN2=A19


表1:FIFO的输入输出引脚定义

设计中将两个FIFO的存储空间都映射到EMIFB的BCE2中,当FIFO的可编程满信号PROG_FULL有效时,引发外部中断,触发EDMA以实现数据的快速传输。由于FIFO不需要地址线,可以通过简单的接口来产生EDMA的读地址,实现EDMA分时读两个FIFO。异步读FIFO必须满足下列时序关系:


异步读时序如图2所示,其中EMFIB的时钟可以是外部时钟源,也可以是由CPU时钟分频获得。设计中使用外部时钟源,其频率为133MHz,可以根据EMIFB的读写控制寄存器配置Setup、Strobe和Hold的值。


图2:异步读时序图

本文小结

本文系统地介绍了一种由数字信号处理器TMS320C6416、可编程逻辑器件Spartan3E构成的高速数据采集系统。实验表明,系统具有抗干扰强、可靠性高、失码率低等优点。设计中采用了FPGA来构造FIFO,可根据不同的应用场合对FPGA编程以满足设计要求,因此灵活性较大,是一种较好的高速数据采集方案。此外,采用了EDMA传输,适于在实时性要求较高的各种高速数据采集系统中应用。该数据采集卡采用标准扩展总线接口,可以与合众达公司的DEC6000系列开发板连接。

作者:贾龙

开发工程师

truelong@seeddsp.com

北京合众达电子技术有限责任公司

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top