《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 解決方案 > 在高速信號采集系統(tǒng)中利用FPGA實現(xiàn)異步FIFO設計

在高速信號采集系統(tǒng)中利用FPGA實現(xiàn)異步FIFO設計

2011-10-20
作者:北京合眾達電子技術有限責任公司

        目前數(shù)據(jù)采集系統(tǒng)朝著高速和高精度的方向發(fā)展。隨著FPGA" target="_blank">FPGA的集成度和運行速度的提高,可以滿足高速數(shù)據(jù)采集系統(tǒng)的需求。FPGA內部具有豐富的存儲單元,易于實現(xiàn)各種存儲器(如FIFO" target="_blank">FIFO、雙口RAM等);另外,基于查找表的邏輯單元可用于實現(xiàn)各種數(shù)字信號處理(如濾波等),以輔助DSP處理器做各種預處理。

        TI公司推出的高性能數(shù)字信號處理芯片TMS320C6000系列,工作頻率最高可達到1GHz,具有處理速度快、靈活、精確和可靠性高等優(yōu)點,作為數(shù)據(jù)采集系統(tǒng)中的主處理器,可以滿足實時性的要求?;谝陨峡紤],北京合眾達公司開發(fā)了采用TMS320C6416和FPGA的高速高精度雙通道數(shù)據(jù)采集系統(tǒng),每個通道的采樣率為3Msps,最高可達10Msps,采樣精度為14b。系統(tǒng)主要包括以下幾部分:高速A/D轉換、FIFO數(shù)據(jù)緩存和EDMA數(shù)據(jù)傳輸,系統(tǒng)結構框圖如圖1所示。

AD9243及轉換控制

        設計中采用的模數(shù)轉換器芯片是AD9243。AD9243是ADI公司生產的14位、3Msps高性能模數(shù)轉換器。AD9240與AD9243完全兼容,因此系統(tǒng)的最高采樣率可兼容到10Msps。

        模數(shù)轉換器AD9243的時序控制與傳統(tǒng)的A/D有所不同,完全依靠時鐘控制采樣、轉換和數(shù)據(jù)輸出,在第一個時鐘的上升沿開始采樣轉換,第四個時鐘上升沿到來時,數(shù)據(jù)將出現(xiàn)在D1~D14端口上。本文采用系統(tǒng)自通電時起,A/D和時鐘電路始終處于工作狀態(tài),對數(shù)據(jù)不停進行轉換,以減少誤碼率,提高采樣精度。

FIFO的實現(xiàn)及控制

        設計中采用FPGA來實現(xiàn)雙通道數(shù)據(jù)的緩存和數(shù)據(jù)傳輸?shù)倪壿嬁刂啤?a class="innerlink" href="http://ihrv.cn/tags/Spartan3E" title="Spartan3E" target="_blank">Spartan3E是一款高性能低價格的可編程邏輯器件,具有豐富的邏輯單元和存儲單元。其內部的BlockRam可以配置為大小不同的各種類型存儲器,如單口RAM、雙口RAM和同步FIFO,其中FIFO更適合作為A/D采樣數(shù)據(jù)高速寫入的存儲器。FIFO存儲器就像數(shù)據(jù)管道一樣,數(shù)據(jù)從管道的一頭流入、從另一頭流出,先進入的數(shù)據(jù)先流出。FIFO具有兩套數(shù)據(jù)線而無地址線,可在其一端寫操作而在另一端進行讀操作,數(shù)據(jù)在其中順序移動,從而達到很高的傳輸速度和效率,且由于省去了地址線,有利于PCB板布線。

        采用FIFO構成高速A/D采樣緩存時,由于轉換速度較快,如果直接將ADC采樣后的數(shù)據(jù)存儲到FIFO中,對時序配置要求非常嚴格,如果兩者時序關系配合不當,就會發(fā)生數(shù)據(jù)存儲出錯或者掉數(shù)。利用FPGA可以方便地控制時序和數(shù)據(jù)傳輸,簡單、可靠地實現(xiàn)采樣和存儲是選用FPGA的優(yōu)點。該數(shù)據(jù)采集系統(tǒng)中只采用了一個外部時鐘源,直接輸入到FPGA,經DCM分頻后作為FIFO和ADC的時鐘源。

        在軟件設計中,采用ISE開發(fā)環(huán)境開發(fā)FPGA時,調用Core Generator來構造FIFO,可以設置FIFO的參數(shù),如深度和寬度;設置FIFO的各種標志和控制位,如空滿、半滿全滿、半空全空、可編程滿和可編程空等標志位;寫使能、讀使能等控制位,以便實現(xiàn)與高速A/D和DSP的邏輯接口。FIFO的輸入輸出引腳如表所示:其中WR_EN由DSP的GPIO口引出,控制數(shù)據(jù)是否寫入到FIFO中,輸出引腳中只用到了PROG_FULL即可與DSP進行數(shù)據(jù)傳輸。

        FPGA的作用除了構造FIFO以實現(xiàn)數(shù)據(jù)通道復用外,還可以作為協(xié)處理器進行實時要求性高的數(shù)據(jù)預處理(如插值、取平均、FIR濾波等),以減少DSP處理的數(shù)據(jù)量。設計中采用分布式算法的FIR濾波,首先對ADC轉換后的數(shù)據(jù)進行FIR濾波,然后存入FIFO中以等待DSP的讀取。FPGA代替ASIC和DSP作為前端數(shù)字信號處理的運算,在規(guī)模、重量和功耗方面都有所降低,而且吞吐量更高,開發(fā)成本進一步縮小。

        FPGA設計中,需提供外部閃存來存儲FPGA的下載文件,上電后數(shù)據(jù)會自動下載到FPGA內部,以對FPGA進行配置。FPGA有多種配置方式,包括主串、從串、主并、從并、SPI、BPI,以及JTAG等方式。串行方式即逐位串行配置,接線簡單,但速度比較慢,并行方式即8位同時傳輸,速度快,但接線復雜。串行方式和并行方式都需要外加閃存作為配置文件的存儲器。設計中本文采用C6416的多通道緩存串行口(McBSP)以SPI方式對FPGA進行配置。

 


圖1:系統(tǒng)結構框圖

接口和控制電路的設計

        系統(tǒng)的接口和控制電路主要包括以下兩個部分:

1. ADC與FIFO的接口電路

        利用FPGA構造了兩個完全一樣的FIFO,將兩路A/D轉換數(shù)據(jù)分別送入兩個FIFO中,實現(xiàn)雙通道采樣數(shù)據(jù)的緩存和傳輸。設計中A/D轉換時鐘和FIFO寫時鐘為同一時鐘源,自上電起,A/D和時鐘電路一直處于工作狀態(tài),不停的進行數(shù)據(jù)的轉換,但數(shù)據(jù)是否寫入到FIFO中,由FIFO的寫使能信號來決定,當DSP發(fā)出寫使能信號有效時,轉換數(shù)據(jù)才能存儲到FIFO中。從前面的A/D時序電路中可知,A/D轉換數(shù)據(jù)的輸出和轉換時鐘有一定的相位差,在FPGA內部可通過延時或時鐘管理器來滿足建立時間和保持時間,保證數(shù)據(jù)不失碼地傳輸?shù)紽IFO中。

2. FIFO與C6416的接口電路

        C6416有兩個EMIF口,即EMIFA和EMIFB,其中EMIFA的總線寬度支持64b、32b、16b和8b,尋址空間為1024Mb;EMFIB的總線寬度支持16b和8b,尋址空間為256Mb。本文采用EMIFB作為與FIFO的接口,其總線寬度配置為16b。EMIFB可以與各種外部存儲器實現(xiàn)無縫接口,如SBSRAM、SDRAM、異步設備(包括SRAM、ROM和FIFO)和外部共享存儲設備等。設計中EMFIB和FIFO的接口采用異步讀的方式,實現(xiàn)數(shù)據(jù)的可靠傳輸,即通過由/ARE和地址來實現(xiàn)對兩個同步FIFO的異步讀,其控制接口信號的連接關系為:

RD_CLK=/ARE

RD_EN1=A20

RD_EN2=A19

 


表1:FIFO的輸入輸出引腳定義

        設計中將兩個FIFO的存儲空間都映射到EMIFB的BCE2中,當FIFO的可編程滿信號PROG_FULL有效時,引發(fā)外部中斷,觸發(fā)EDMA以實現(xiàn)數(shù)據(jù)的快速傳輸。由于FIFO不需要地址線,可以通過簡單的接口來產生EDMA的讀地址,實現(xiàn)EDMA分時讀兩個FIFO。異步讀FIFO必須滿足下列時序關系:

 

        異步讀時序如圖2所示,其中EMFIB的時鐘可以是外部時鐘源,也可以是由CPU時鐘分頻獲得。設計中使用外部時鐘源,其頻率為133MHz,可以根據(jù)EMIFB的讀寫控制寄存器配置Setup、Strobe和Hold的值。

 


圖2:異步讀時序圖

本文小結

        本文系統(tǒng)地介紹了一種由數(shù)字信號處理器TMS320C6416、可編程邏輯器件Spartan3E構成的高速數(shù)據(jù)采集系統(tǒng)。實驗表明,系統(tǒng)具有抗干擾強、可靠性高、失碼率低等優(yōu)點。設計中采用了FPGA來構造FIFO,可根據(jù)不同的應用場合對FPGA編程以滿足設計要求,因此靈活性較大,是一種較好的高速數(shù)據(jù)采集方案。此外,采用了EDMA傳輸,適于在實時性要求較高的各種高速數(shù)據(jù)采集系統(tǒng)中應用。該數(shù)據(jù)采集卡采用標準擴展總線接口,可以與合眾達公司的DEC6000系列開發(fā)板連接。

作者:賈龍

開發(fā)工程師

truelong@seeddsp.com

北京合眾達電子技術有限責任公司

本站內容除特別聲明的原創(chuàng)文章之外,轉載內容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯(lián)系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。