利用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进行配置。
    
上一篇:基于FPGA的前向纠错算法
上一篇:开关电源的抗干扰问题
热门点击
- Xtreme PCB软件允许多位工程师同时布
- ALLEGRO布线缺点之我见
- PCB LAYOUT技术大全---初学者必看
- RGB信号走表层还是地层?
- VHDL中Loop动态条件的可综合转化
- 利用FPGA实现异步FIFO设计
- 统一的电路仿真验证平台的设计
- 多芯片封装:高堆层,矮外形
- PowerPCB修改整体文字大小
- 用等效性检查验证连续改变
推荐技术资料
- 泰克新发布的DSA830
- 泰克新发布的DSA8300在一台仪器中同时实现时域和频域分析,DS... [详细]