當(dāng)前位置:首頁 > 工業(yè)控制 > 電子設(shè)計自動化
[導(dǎo)讀]摘 要:為了解決嵌入式實時數(shù)據(jù)采集系統(tǒng)中,高速采集數(shù)據(jù)量大,而處理器的處理速度有限的矛盾,保證數(shù)據(jù)不丟失并提高處理器的數(shù)據(jù)吞吐率,文中提出一種基于FPGA(現(xiàn)場可編程門陣列) 實現(xiàn)的最優(yōu)FIFO(先入先出存儲器)

摘 要:為了解決嵌入式實時數(shù)據(jù)采集系統(tǒng)中,高速采集數(shù)據(jù)量大,而處理器的處理速度有限的矛盾,保證數(shù)據(jù)不丟失并提高處理器的數(shù)據(jù)吞吐率,文中提出一種基于FPGA(現(xiàn)場可編程門陣列) 實現(xiàn)的最優(yōu)FIFO(先入先出存儲器) 結(jié)構(gòu)設(shè)計,它可以成倍提高數(shù)據(jù)流通速率,增加嵌入式系統(tǒng)的實時性。

關(guān)鍵詞:高速數(shù)據(jù)采集系統(tǒng);數(shù)字信號處理器;異步先入先出存儲器;現(xiàn)場可編程門陣列

引 言

隨著雷達、通信和圖像處理中數(shù)字處理技術(shù)的飛速發(fā)展,現(xiàn)代化生產(chǎn)和科學(xué)研究對數(shù)據(jù)采集系統(tǒng)的要求更加嚴格。在嵌入式條件下,要求數(shù)據(jù)獲取的速度越來越快,精度越來越高,以致數(shù)據(jù)量及處理速度要求大增,高速ADC的出現(xiàn)和DSP性能的不斷提高也對系統(tǒng)將來的升級提出了更高要求,特別在一些特殊領(lǐng)域,如航空、航天等,其嵌入式系統(tǒng)體積小、功能強、實時性高,為了避免數(shù)據(jù)處理不及時,發(fā)生數(shù)據(jù)丟失,破壞系統(tǒng)可靠性,更要進一步提高系統(tǒng)實時性,必須研究開發(fā)高速嵌入式數(shù)據(jù)采集系統(tǒng)。

針對具體的任務(wù)要求,文中提出了一種通過FPGA 實現(xiàn)轉(zhuǎn)換接口的高速數(shù)據(jù)采集系統(tǒng)的系統(tǒng)結(jié)構(gòu),即高速A/D+大容量FPGA+高速DSP的嵌入式高速數(shù)據(jù)采集系統(tǒng)。模數(shù)轉(zhuǎn)換器A/D進行高速數(shù)據(jù)采集,F(xiàn)PGA實現(xiàn)對高速A/D 采集數(shù)據(jù)的存儲和控制調(diào)度,DSP 通過查詢方式訪問前端采集通道,對采集的數(shù)據(jù)進行高速處理,這種方法大大提高了DSP 可以訪問的外設(shè)數(shù)目,提高了DSP的處理能力,同時由于DSP 不直接與模數(shù)轉(zhuǎn)換芯片接口,所以ADC 芯片的升級或者替代都不會影響原來的數(shù)據(jù)采集,而且采用了時分復(fù)用方式讀取轉(zhuǎn)換完成的數(shù)據(jù),因此這個系統(tǒng)數(shù)據(jù)采集速率可以達到所采用的ADC 芯片輸出的最高速率,能充分發(fā)揮DSP 算法處理功能強大、速度快的優(yōu)勢,而FPGA 設(shè)計靈活、通用性強等特點,使得整個系統(tǒng)具有實時性高、體積小、開發(fā)周期短、易于維護和擴展、適合于實時信號處理等多個優(yōu)點。文中結(jié)合成功開發(fā)的高速采集系統(tǒng)結(jié)構(gòu),提出一種基于FPGA實現(xiàn)的最優(yōu)FIFO構(gòu)來實現(xiàn)高速緩存,它可以成倍提高數(shù)據(jù)流通速率,增加嵌入式系統(tǒng)的實時性。

高速數(shù)據(jù)采集系統(tǒng)結(jié)構(gòu)

實時信號處理系統(tǒng)中,高層處理算法的特點是所處理的數(shù)據(jù)量較低層算法少,但算法的控制結(jié)構(gòu)復(fù)雜,適于用運算速度高、尋址方式靈活、通信機制強大的DSP芯片來實現(xiàn)。特別是TI 公司的C6000 系列DSP,其峰值處理速度已達每秒數(shù)十億條指令,是當(dāng)今最先進的DSP之一,非常適合于嵌入式實時系統(tǒng)應(yīng)用。低層的信號預(yù)處理算法處理的數(shù)據(jù)量大、計算量大、對處理速度的要求高,但運算結(jié)構(gòu)相對比較簡單,適于用FPGA來進行硬件實現(xiàn),這樣能同時兼顧速度及靈活性。目前FPGA的容量已經(jīng)跨過了百萬門級,使得FPGA成為解決系統(tǒng)級設(shè)計的重要選擇方案之一。它主要應(yīng)用于協(xié)處理器,輔助DSP芯片完成一些計算密集型的算法。

在筆者設(shè)計的高速信息處理計算機中,高速ADC模塊、FPGA 模塊以及DSP 模塊構(gòu)成了高速數(shù)據(jù)采集系統(tǒng),從此結(jié)構(gòu)中可以看到,DSP可以在未知ADC 控制方式的情況下,定時地訪問外設(shè)來獲得模數(shù)轉(zhuǎn)換后的數(shù)據(jù),而大容量的FPGA協(xié)助DSP完成數(shù)據(jù)的預(yù)處理,并可以保證采集數(shù)據(jù)不丟失。

其中ADC是一個12位精度、65MHz采樣速率的高速模數(shù)轉(zhuǎn)換器,可進行高速采樣,處理器選用TI公司的TMS320C6701 。DSP 內(nèi)部最高時鐘頻率可以達到167MHz,DSP讀取外部SDRAM 的最高時鐘頻率是1/2×CPU ,而讀取外部異步存儲器的時鐘頻率可以通過CE 空間控制寄存器來編程控制,其參數(shù)需要滿足一定要求,即CLK>(Setup+Strobe+Hold)>2個時鐘周期,時鐘頻率最高可達80MHz。如果DSP 不通過緩存直接與A/D相連,在采樣過程中,若A/D連續(xù)采樣數(shù)據(jù),DSP一直處于連續(xù)的間隔取數(shù)的狀態(tài),這將占用DSP 大部分處理時間,導(dǎo)致DSP 不能從事其他工作。也有可能出現(xiàn)上一次的數(shù)據(jù)還沒有被計算機處理完,下一次采集過程就開始的情況。如果選取更高速的A/D ,更會發(fā)生數(shù)據(jù)丟失,破壞系統(tǒng)的可靠性。因此最好的做法是采用高速緩存來存儲采樣到的數(shù)據(jù),再集中傳輸一批數(shù)據(jù),保證DSP有充足的時間去處理、計算。

系統(tǒng)中采用容量比較大的FPGA,利用自主設(shè)計的IP核,主要協(xié)助主處理器實現(xiàn)數(shù)據(jù)的預(yù)處理(如FFT) 功能。為了保證設(shè)計的硬件系統(tǒng)體積盡可能小,因此在不增加系統(tǒng)的硬件負擔(dān)的前提條件下,利用系統(tǒng)中現(xiàn)有的FPGA,設(shè)計了基于FPGA 實現(xiàn)的異步FIFO 存儲器作為高速緩存器,它滿足前后讀寫時鐘頻率不同的硬件環(huán)境,可使采集系統(tǒng)設(shè)計靈活、簡單、方便,具有很強的可擴展性。FIFO 存儲器具有兩個特點:數(shù)據(jù)進出有序;輸出輸入口獨立。靈活使用FIFO ,可根據(jù)需要設(shè)計為不同速率、不同容量的數(shù)字系統(tǒng),接口電路簡潔且不占用系統(tǒng)地址資源,系統(tǒng)移植或升級換代方便,而且控制簡單。

基于FPGA 實現(xiàn)的異步FIFO 的設(shè)計

FIFO結(jié)構(gòu)設(shè)計
設(shè)計一個異步FIFO ,讀寫使能由不同的時鐘激勵來控制輸入數(shù)據(jù)和輸出數(shù)據(jù),空/滿標(biāo)志來防止數(shù)據(jù)的上溢和下溢,以及“半滿”狀態(tài)標(biāo)志,在字寬和容量深度兩方面都可以擴展。讀寫操作自動訪問存儲空間連續(xù)的存儲單元,讀出的數(shù)據(jù)和寫入的數(shù)據(jù)順序相同,不需要額外的地址信息。首先,由復(fù)位信號清空存儲器數(shù)據(jù);然后,在寫使能和寫時鐘控制下向存儲器中寫數(shù)據(jù),當(dāng)FIFO寫半滿,half-full將有效(同步于寫時鐘) ,觸發(fā)C6701中斷,C6701中斷服務(wù)程序通過DMA將FIFO中的數(shù)據(jù)取走并寫入C6701片內(nèi)數(shù)據(jù)存儲器或SDRAM中去,F(xiàn)IFO中的數(shù)據(jù)空間存滿后,full信號有效,外部設(shè)備就不再向FIFO中寫數(shù)據(jù)了;同理,在讀時鐘和讀使能控制下從存儲器中讀數(shù)據(jù)時,若FIFO中的數(shù)據(jù)被外部設(shè)備取空了,則empty 信號有效,外部設(shè)備停止對FIFO的讀取。

本系統(tǒng)數(shù)據(jù)寬度根據(jù)需要,兩個端口可以設(shè)計為兩端是12位、16位、32位。

一般常用的FIFO設(shè)計,都是兩端數(shù)據(jù)寬度相同的FIFO 結(jié)構(gòu)。這很容易在XILINX公司提供的IP核中找到,或者用行為級語言描述得到。

但是,在筆者設(shè)計的硬件平臺下,這些設(shè)計有局限性,分析如下:

因為TI公司的DSP C6701的EMIF支持32bit寬度的ASRAM,SDRAM和SBSRAM等存儲器,只有CE1空間支持16bit和8bit的ROM接口,本系統(tǒng)設(shè)計的FPGA是CE2和CE3空間尋址,物理接口是32bit。那么如果FIFO讀寫端口設(shè)計為12位,DSP接收的32位數(shù)據(jù)僅低12 位有效,而高20位是無效數(shù)據(jù),一方面,這將大大降低DSP 讀取數(shù)據(jù)的吞吐率,另一方面由于需要處理無效數(shù)據(jù)而降低系統(tǒng)的實時性。

為了改進系統(tǒng)的性能,提高系統(tǒng)的實時性,可以采取兩個措施:一是設(shè)計整字節(jié)寬度的FIFO端口,基于前端A/D的要求,最佳的數(shù)據(jù)寬度是16位;二是設(shè)計寬位數(shù)端口的FIFO,提高數(shù)據(jù)的吞吐率,基于后端DSP的要求,最佳的數(shù)據(jù)寬度是32位。由于C6701可以對數(shù)據(jù)存儲器進行8bit/16bit/32bit的數(shù)據(jù)訪問,數(shù)據(jù)從FIFO中讀取數(shù)據(jù)到DSP 的數(shù)據(jù)存儲器后,可以根據(jù)需要決定是按字節(jié)、字、還是雙字處理。

針對筆者的硬件系統(tǒng),提出了一種基于FPGA的新型FIFO結(jié)構(gòu),輸入數(shù)據(jù)寬度與輸出數(shù)據(jù)寬度不同,即輸入為16位、輸出為32位的異步FIFO。分析系統(tǒng)的數(shù)據(jù)吞吐率:由于A/D數(shù)據(jù)輸入口的速度固定,數(shù)據(jù)按采樣頻率輸入FIFO ,因此輸入數(shù)據(jù)的時間是不變的,而C6701一次訪問可以取走兩個有效數(shù)據(jù),在相同數(shù)據(jù)量的條件下明顯降低數(shù)據(jù)讀取時間,大大增加了DSP讀取數(shù)據(jù)的吞吐率,提高系統(tǒng)實時處理時間。

如果輸入數(shù)據(jù)的高4 位不接地,則傳給DSP的數(shù)據(jù)高4位是任意值,所以取完數(shù)后要將取得的數(shù)進行預(yù)處理,這將降低DSP 的實時處理時間。因此在設(shè)計硬件電路時將FIFO的datain(15:12) 硬件置0,避免了DSP的軟件復(fù)位,省去DSP對數(shù)據(jù)的預(yù)處理過程,從而提高了DSP的實時處理能力。

筆者設(shè)計的FIFO是利用兩個16位RAM并行連接,輸入數(shù)據(jù)在寫控制模塊的調(diào)度下依次寫入兩個RAM中,兩個RAM的輸出經(jīng)過緩存器直接與DSP相應(yīng)數(shù)據(jù)線相連,保證了32位的數(shù)據(jù)寬度,內(nèi)部實現(xiàn)如圖3所示,其中的寫控制邏輯實現(xiàn) 。其中寫控制邏輯分別產(chǎn)生兩個片選信號實現(xiàn)對兩個存儲器交替按字(16bit) 進行寫,讀控制邏輯對兩個存儲器按雙字(32bit) 同時讀,可以實現(xiàn)兩端讀寫數(shù)據(jù)寬度的不同。

地址產(chǎn)生邏輯 ,讀寫地址產(chǎn)生利用相同的地址產(chǎn)生邏輯,在不同的時鐘和使能信號控制下實現(xiàn)地址的增加。寫地址產(chǎn)生器用CE1 作為允許增控制信號,讀地址產(chǎn)生器用rd - en 作為允許增控制信號來實現(xiàn)地址的產(chǎn)生。

異步FIFO的FPGA實現(xiàn)
由于FIFO是一種RAM的結(jié)構(gòu),在大多數(shù)參考資料中對RAM 的描述都是建立在數(shù)組存取的基礎(chǔ)上的。在大多數(shù)EDA軟件中,對VHDL硬件描述語言的編譯都是通過綜合器來完成的,綜合器將VHDL轉(zhuǎn)變成物理可形成的電路格式。然而遺憾的是,綜合器對數(shù)組的綜合一般是將其轉(zhuǎn)變成寄存器的結(jié)構(gòu)??删幊唐骷械募拇嫫鱾€數(shù)是有限的,而FIFO是一種基于RAM的器件,需要有大量的存儲空間,也就會用掉大量的寄存器。所以,當(dāng)直接用數(shù)組的形式來描述FIFO結(jié)構(gòu)時,綜合后的結(jié)構(gòu)都會非常龐大。

幸運的是,XILINX FPGA器件提供的片內(nèi)的RAM可直接使用,而不必使用寄存器來構(gòu)成存儲空間,從而大大提高了芯片的利用率。在XILINX FPGA產(chǎn)品中,根據(jù)型號的不同,提供了兩種RAM 結(jié)構(gòu): 分布式RAM和BLOCK RAM。

分布式RAM 存在于所有的XILINX FPGA器件中,而對于BLOCK RAM,只有最新的SPARTAN VETEX系列中才提供。分布式RAM 存儲器是由CLB 中的RAM結(jié)構(gòu)實現(xiàn)的(LUT),每個CLB 最多可以組成32×1或16×2 容量的RAM。

BLOCK RAM存儲器按列排列,左邊從0列開始,每隔12 列CLB 排列一個BLOCK RAM存儲器。每個BLOCK RAM是一個完全同步的雙端口RAM,每個端口都有獨立的控制信號,非常適合于FIFO器件的編寫。

其中XCV1000E的Block SelectRAM共有96塊BLOCK RAM ,這種嵌入式的塊RAM每塊含有4096-bit存儲單元,用戶可以根據(jù)需要靈活配置。
單個塊RAM 所存儲的數(shù)據(jù)寬度最高可為16位,可以多個塊RAM級連以構(gòu)成更大的數(shù)據(jù)寬度,最多可有64個塊級連構(gòu)成1024位的數(shù)據(jù)存儲器。

用兩種方法使用FPGA資源情況的比較。

由表2 可以看出,基于寄存器FIFO在綜合后用掉了VirtexTM-E器件大量的SLICES資源,而充分考慮FPGA器件結(jié)構(gòu),用其自帶的存儲器BLOCK RAM來設(shè)計,則僅用掉1%的SLICES資源,兩廂一比較,明顯后一種設(shè)計可以充分節(jié)省現(xiàn)有的FPGA資源,設(shè)計出容量更大的存儲器,且更經(jīng)濟、有效。

結(jié)束語

由于現(xiàn)在ADC的精度和速度是一對矛盾,高速度難以做到高精度,所以采集到的數(shù)據(jù)位數(shù)較低,而后端處理器的處理位數(shù)越來越高?,F(xiàn)在的DSP一般都可以做到32位,因此,如何實現(xiàn)高速ADC和DSP的接口,提高系統(tǒng)的實時性是數(shù)據(jù)采集系統(tǒng)普遍關(guān)注的問題。文中針對自己設(shè)計的高速數(shù)據(jù)采集通道的硬件平臺,提出了一種新型的存儲器設(shè)計思想,輸入輸出數(shù)據(jù)寬度不同的高速FIFO緩存,并根據(jù)所選用的FPGA器件特點,選擇了資源占用最少、效率最高的實現(xiàn)方法,解決了高速數(shù)據(jù)采集通道數(shù)據(jù)容量大、實時性要求高的問題。對其他高速采集系統(tǒng)同樣具有參考價值。



參考文獻:

[1].TMS320C6701 datasheethttp://www.dzsc.com/datasheet/TMS320C6701+_1077796.html.
[2].ROMdatasheethttp://www.dzsc.com/datasheet/ROM_1188413.html.
[3].XCV1000Edatasheethttp://www.dzsc.com/datasheet/XCV1000E_903776.html.


來源:零八我的愛0次

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉