一種高檔FPGA可重構配置方法
基于軟件無線電的某機載多模式導航接收機能較好地解決導航體制不兼容對飛行保障區(qū)域的限制,但由于各體制信號差異較大,各自實現(xiàn)其硬件將相當龐大,若對本系統(tǒng)中數(shù)字信號處理的核心 FPGA芯片使用可重構的配置方法,將導航接收機的多種模式以時分復用的方式得以實現(xiàn),可以重復利用 FPGA的硬件資源,達到了縮小體積,減小功耗,增加靈活性和降低系統(tǒng)硬件復雜程度等目的。本系統(tǒng)中的核心器件是新一代高檔 FPGA,適合于計算量大的數(shù)字信號處理,包含實現(xiàn)數(shù)字信號處理的 DSP塊、數(shù)字鎖相環(huán)、硬件乘法器以及各種接口等多項技術,支持遠程更新,但其配置數(shù)據(jù)大,實現(xiàn)較為復雜。采用 CPLD+FLASH方案,有效的解決了這一問題。
1 FPGA及其可重構技術簡介
現(xiàn)代高速度 FPGA運行時需將其配置數(shù)據(jù)加載到內(nèi)部 SDRAM中,改變 SDRAM里面的數(shù)據(jù),可使 FPGA實現(xiàn)不同的功能,即所謂的可重構技術。可重構技術包括靜態(tài)系統(tǒng)重構和動態(tài)系統(tǒng)重構[1]。在 FPGA處于工作狀態(tài)時對其部分配置數(shù)據(jù)進行更改稱為動態(tài)配置,否則稱為靜態(tài)配置。由于本系統(tǒng)在工作時需要改變整個 FPGA功能,所以采用靜態(tài)配置。這種配置是完全的,它對整個 FPGA的功能、參數(shù)完全更改,而且其引腳功能也被更改。
系統(tǒng)的關鍵部件為一片高檔密度 FPGA EP2S30,其要求的一次配置數(shù)據(jù)達1.205MBytes,故其配置采用“Flash存儲器+CPLD主控器”的方案。
EP2S30支持5種配置方案,即AS(Active Serial)模式、PS(PassiveSerial)模式、FPP(FastPassive Parallel)模式、PPA(Passive parallel Asynchronous)模式和JTAG配置模式等。為縮短配置時間,本系統(tǒng)采用FPP模式,配置數(shù)據(jù)不壓縮,使各配置數(shù)據(jù)長度一致,以便于分配Flash存儲空間,且只需要同數(shù)據(jù)率相同的時鐘信號[2]。
2 可重構系統(tǒng)硬件設計
2.1 芯片介紹
2.1.1 FPGA芯片
采用 Altera公司 StratixⅡ系列 FPGA,具有多達 33880個等價邏輯單元 (LE)和 13552個自適應邏輯單元(ALM),支持可編程片上系統(tǒng) (SOPC),有多達 1369Kbits片上 RAM,支持 NIOS嵌入式處理器,片上有多達 16個 DSP塊和 64個 18位×18位硬件乘法器以及 6個 PLL模塊,支持遠程更新。其片內(nèi)資源完全可以實現(xiàn)系統(tǒng)所需的數(shù)字下變頻(DDC)、幅度調(diào)制與解調(diào)、方位和距離脈沖形成以及控制信號的產(chǎn)生等。但其配置數(shù)據(jù)達 1.205MBytes,要完成多模式可重構配置,其配置數(shù)據(jù)存儲器必須有足夠大的空間。
2.1.2 Flash芯片
為實現(xiàn)快速配置,綜合存儲容量、工作電壓以及等各方面的要求,F(xiàn)lash芯片選用 AMD公司 AM29LV065,其為 8M×8bits Flash存儲器,內(nèi)部被分為 128個 64Kbytes扇區(qū),可以存儲 6套配置方案數(shù)據(jù)。支持 3.3V電壓讀寫和擦除,支持扇區(qū)擦除和整片擦除,這一特性有利于實現(xiàn)某一配置數(shù)據(jù)單獨更改。地址不變時能自動進入休眠狀態(tài),將數(shù)據(jù)鎖存,從而減小功耗。
2.1.3 控制芯片
控制芯片采用 Altera公司 MAX7000AE系列 CPLD EPM7064A,其具有 ISP功能,為 3.3V內(nèi)核,IO口靈活方便,避免了采用單片機作為控制芯片時 IO口不夠用的問題。
2.2 硬件連接
配置系統(tǒng)硬件連接如圖 1所示。
配置系統(tǒng)中配置主控制器 EPM7064A是整個配置系統(tǒng)的核心,它在數(shù)據(jù)加載過程中與 PC機通訊,產(chǎn)生 Flash命令控制字并將配置數(shù)據(jù)寫入 Flash存儲器,同時對 Flash存儲空間進行自動分配;在配置過程中根據(jù)系統(tǒng)的配置模式控制信號將 Flash中的數(shù)據(jù)讀出并配置到 FPGA中,同時完成 FPGA配置所需的時序,并檢測 FPGA的狀態(tài),若配置成功進入休眠狀態(tài)以節(jié)省功耗,若配置不成功將對 FPGA進行復位并重新配置。
評論