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

在高速信號采集系統中利用FPGA實現異步FIFO設計

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

        目前數據采集系統朝著高速和高精度的方向發展。隨著FPGA" target="_blank">FPGA的集成度和運行速度的提高,可以滿足高速數據采集系統的需求。FPGA內部具有豐富的存儲單元,易于實現各種存儲器(如FIFO" target="_blank">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進行配置。

 


圖1:系統結構框圖

接口和控制電路的設計

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

1. ADC與FIFO的接口電路

        利用FPGA構造了兩個完全一樣的FIFO,將兩路A/D轉換數據分別送入兩個FIFO中,實現雙通道采樣數據的緩存和傳輸。設計中A/D轉換時鐘和FIFO寫時鐘為同一時鐘源,自上電起,A/D和時鐘電路一直處于工作狀態,不停的進行數據的轉換,但數據是否寫入到FIFO中,由FIFO的寫使能信號來決定,當DSP發出寫使能信號有效時,轉換數據才能存儲到FIFO中。從前面的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

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

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 日本精品夜色视频一区二区 | 国产欧美日韩在线一区二区不卡 | 亚洲天堂久久久 | 婷婷伊人五月天 | 欧美日韩国产综合在线 | 天天操天天搞 | 欧美香蕉网| 亚洲专区在线视频 | 亚洲第一中文 | 日韩美女色高清在线看 | 新午夜影院 | 午夜视频福利在线 | 播五月综合 | 欧美日韩中文国产 | 91精品欧美成人 | 老司机天堂影院 | 久久久这里只有免费精品2018 | 看全色黄大色大片免费久久 | 欧美色视频网站 | 欧美日本黄色 | 久久婷婷色 | 欧美午夜成年片在线观看 | 不卡一区二区三区卡 | 久久免费播放视频 | 永久免费在线播放 | 91视频合集| 日韩经典在线 | www.天天色| 影音先锋色69成人资源 | 国产99视频精品免费视频7 | 欧美中文在线观看 | 日韩精品久久不卡中文字幕 | 免费91视频 | 九色精品高清在线播放 | 在线观看中文字幕一区 | 亚洲欧美日韩国产精品26u | vr欧美乱强伦xxxxx | 在线波多野结衣 | 翁熄系列乱老扒小雪小说 | 超级碰97 | 成人亚洲国产 |