位置:51电子网 » 技术资料 » 模拟技术

利用FPGA实现异步FIFO设计

发布时间:2008/5/27 0:00:00 访问次数:1034

        

    

    

    利用fpga实现异步fifo设计

    作者:贾龙

    

    目前数据采集系统朝着高速和高精度的方向发展。随着fpga的集成度和运行速度的提高,可以满足高速数据采集系统的需求。fpga内部具有丰富的存储单元,易于实现各种存储器(如fifo、双口ram等);另外,基于查找表的逻辑单元可用于实现各种数字信号处理(如滤波等),以辅助dsp处理器做各种预处理。

    

    ti公司推出的高性能数字信号处理芯片tms320c6000系列,工作频率最高可达到1ghz,具有处理速度快、灵活、精确和可靠性高等优点,作为数据采集系统中的主处理器,可以满足实时性的要求。基于以上考虑,北京合众达公司开发了采用tms320c6416和fpga的高速高精度双通道数据采集系统,每个通道的采样率为3msps,最高可达10msps,采样精度为14b。系统主要包括以下几部分:高速a/d转换、fifo数据缓存和edma数据传输,系统结构框图如图1所示。

    

    ad9243及转换控制

    

    设计中采用的模数转换器芯片是ad9243。ad9243是adi公司生产的14位、3msps高性能模数转换器。ad9240与ad9243完全兼容,因此系统的最高采样率可兼容到10msps。

    

    模数转换器ad9243的时序控制与传统的a/d有所不同,完全依靠时钟控制采样、转换和数据输出,在第一个时钟的上升沿开始采样转换,第四个时钟上升沿到来时,数据将出现在d1~d14端口上。本文采用系统自通电时起,a/d和时钟电路始终处于工作状态,对数据不停进行转换,以减少误码率,提高采样精度。

    

    fifo的实现及控制

    

    设计中采用fpga来实现双通道数据的缓存和数据传输的逻辑控制。spartan3e是一款高性能低价格的可编程逻辑器件,具有丰富的逻辑单元和存储单元。其内部的blockram可以配置为大小不同的各种类型存储器,如单口ram、双口ram和同步fifo,其中fifo更适合作为a/d 采样数据高速写入的存储器。fifo存储器就像数据管道一样,数据从管道的一头流入、从另一头流出,先进入的数据先流出。fifo具有两套数据线而无地址线,可在其一端写操作而在另一端进行读操作,数据在其中顺序移动,从而达到很高的传输速度和效率,且由于省去了地址线,有利于pcb板布线。

    

    采用fifo构成高速a/d采样缓存时,由于转换速度较快,如果直接将adc采样后的数据存储到fifo中,对时序配置要求非常严格,如果两者时序关系配合不当,就会发生数据存储出错或者掉数。利用fpga可以方便地控制时序和数据传输,简单、可靠地实现采样和存储是选用fpga的优点。该数据采集系统中只采用了一个外部时钟源,直接输入到fpga,经dcm分频后作为fifo和adc的时钟源。

    

    在软件设计中,采用ise开发环境开发fpga时,调用core generator来构造fifo,可以设置fifo的参数,如深度和宽度;设置fifo的各种标志和控制位,如空满、半满全满、半空全空、可编程满和可编程空等标志位;写使能、读使能等控制位,以便实现与高速a/d和dsp的逻辑接口。fifo的输入输出引脚如表所示:其中wr_en由dsp的gpio 口引出,控制数据是否写入到fifo中,输出引脚中只用到了prog_full即可与dsp进行数据传输。

    

    fpga的作用除了构造fifo以实现数据通道复用外,还可以作为协处理器进行实时要求性高的数据预处理(如插值、取平均、fir滤波等),以减少dsp处理的数据量。设计中采用分布式算法的fir滤波,首先对adc转换后的数据进行fir滤波,然后存入fifo中以等待dsp的读取。 fpga代替asic和dsp作为前端数字信号处理的运算,在规模、重量和功耗方面都有所降低,而且吞吐量更高,开发成本进一步缩小。

    

    fpga设计中,需提供外部闪存来存储fpga的下载文件,上电后数据会自动下载到fpga内部,以对fpga进行配置。fpga有多种配置方式,包括主串、从串、主并、从并、spi、bpi,以及jtag等方式。串行方式即逐位串行配置,接线简单,但速度比较慢,并行方式即8位同时传输,速度快,但接线复杂。串行方式和并行方式都需要外加闪存作为配置文件的存储器。设计中本文采用c6416的多通道缓存串行口(mcbsp)以spi方式对fpga进行配置。

    

        

    

    

    利用fpga实现异步fifo设计

    作者:贾龙

    

    目前数据采集系统朝着高速和高精度的方向发展。随着fpga的集成度和运行速度的提高,可以满足高速数据采集系统的需求。fpga内部具有丰富的存储单元,易于实现各种存储器(如fifo、双口ram等);另外,基于查找表的逻辑单元可用于实现各种数字信号处理(如滤波等),以辅助dsp处理器做各种预处理。

    

    ti公司推出的高性能数字信号处理芯片tms320c6000系列,工作频率最高可达到1ghz,具有处理速度快、灵活、精确和可靠性高等优点,作为数据采集系统中的主处理器,可以满足实时性的要求。基于以上考虑,北京合众达公司开发了采用tms320c6416和fpga的高速高精度双通道数据采集系统,每个通道的采样率为3msps,最高可达10msps,采样精度为14b。系统主要包括以下几部分:高速a/d转换、fifo数据缓存和edma数据传输,系统结构框图如图1所示。

    

    ad9243及转换控制

    

    设计中采用的模数转换器芯片是ad9243。ad9243是adi公司生产的14位、3msps高性能模数转换器。ad9240与ad9243完全兼容,因此系统的最高采样率可兼容到10msps。

    

    模数转换器ad9243的时序控制与传统的a/d有所不同,完全依靠时钟控制采样、转换和数据输出,在第一个时钟的上升沿开始采样转换,第四个时钟上升沿到来时,数据将出现在d1~d14端口上。本文采用系统自通电时起,a/d和时钟电路始终处于工作状态,对数据不停进行转换,以减少误码率,提高采样精度。

    

    fifo的实现及控制

    

    设计中采用fpga来实现双通道数据的缓存和数据传输的逻辑控制。spartan3e是一款高性能低价格的可编程逻辑器件,具有丰富的逻辑单元和存储单元。其内部的blockram可以配置为大小不同的各种类型存储器,如单口ram、双口ram和同步fifo,其中fifo更适合作为a/d 采样数据高速写入的存储器。fifo存储器就像数据管道一样,数据从管道的一头流入、从另一头流出,先进入的数据先流出。fifo具有两套数据线而无地址线,可在其一端写操作而在另一端进行读操作,数据在其中顺序移动,从而达到很高的传输速度和效率,且由于省去了地址线,有利于pcb板布线。

    

    采用fifo构成高速a/d采样缓存时,由于转换速度较快,如果直接将adc采样后的数据存储到fifo中,对时序配置要求非常严格,如果两者时序关系配合不当,就会发生数据存储出错或者掉数。利用fpga可以方便地控制时序和数据传输,简单、可靠地实现采样和存储是选用fpga的优点。该数据采集系统中只采用了一个外部时钟源,直接输入到fpga,经dcm分频后作为fifo和adc的时钟源。

    

    在软件设计中,采用ise开发环境开发fpga时,调用core generator来构造fifo,可以设置fifo的参数,如深度和宽度;设置fifo的各种标志和控制位,如空满、半满全满、半空全空、可编程满和可编程空等标志位;写使能、读使能等控制位,以便实现与高速a/d和dsp的逻辑接口。fifo的输入输出引脚如表所示:其中wr_en由dsp的gpio 口引出,控制数据是否写入到fifo中,输出引脚中只用到了prog_full即可与dsp进行数据传输。

    

    fpga的作用除了构造fifo以实现数据通道复用外,还可以作为协处理器进行实时要求性高的数据预处理(如插值、取平均、fir滤波等),以减少dsp处理的数据量。设计中采用分布式算法的fir滤波,首先对adc转换后的数据进行fir滤波,然后存入fifo中以等待dsp的读取。 fpga代替asic和dsp作为前端数字信号处理的运算,在规模、重量和功耗方面都有所降低,而且吞吐量更高,开发成本进一步缩小。

    

    fpga设计中,需提供外部闪存来存储fpga的下载文件,上电后数据会自动下载到fpga内部,以对fpga进行配置。fpga有多种配置方式,包括主串、从串、主并、从并、spi、bpi,以及jtag等方式。串行方式即逐位串行配置,接线简单,但速度比较慢,并行方式即8位同时传输,速度快,但接线复杂。串行方式和并行方式都需要外加闪存作为配置文件的存储器。设计中本文采用c6416的多通道缓存串行口(mcbsp)以spi方式对fpga进行配置。

    

相关IC型号

热门点击

 

推荐技术资料

泰克新发布的DSA830
   泰克新发布的DSA8300在一台仪器中同时实现时域和频域分析,DS... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!