基于FPGA的空間目標(biāo)碰撞預(yù)警系統(tǒng)
摘要:為了解決空間目標(biāo)與航天器發(fā)生碰撞的問題,設(shè)計了一種基于FPGA,以在軌目標(biāo)三維坐標(biāo)為待處理數(shù)據(jù)進行快速并行處理的目標(biāo)碰撞預(yù)警系統(tǒng)。該系統(tǒng)基于Xilinx公司FPGA芯片中的內(nèi)容可尋址存儲器(Content Addressable Memory,CAM)IP核和MicroBlaze軟核控制器,利用嵌入式開發(fā)套件(EDK)進行搭建;并設(shè)計了空間危險目標(biāo)的篩選算法,同時編寫了軟件及硬件代碼,加載到以上系統(tǒng)中進行實際的操作驗證。驗證結(jié)果表明,該系統(tǒng)實現(xiàn)了16個目標(biāo)中危險目標(biāo)的快速篩選功能,通過使用ChipScope邏輯分析工具進行波形分析,可知系統(tǒng)執(zhí)行一次篩選操作所需時間為1.8 s。
關(guān)鍵詞:現(xiàn)場可編程門陣列;Microblaze;內(nèi)容可尋址存儲器;空間目標(biāo);碰撞
隨著人類航天活動的不斷開展,空間碎片的空間密度已經(jīng)對航天器安全造成了威脅,特別是近地軌道,碎片密度更大,且其數(shù)量仍在迅速增加,航天器遭受空間碎片撞擊事件時有發(fā)生??臻g在軌目標(biāo)數(shù)量不斷增加,對空間目標(biāo)進行碰撞預(yù)警所需要的計算量也在迅速增加,鑒于并行計算速度很快,因此適合應(yīng)用并行計算對危險目標(biāo)進行篩選,進而進行預(yù)警操作。利用FPGA中的CAM(內(nèi)容可尋址存儲器)和MicroBlaze軟核控制器可以實現(xiàn)危險目標(biāo)的快速并行篩選。
1 CAM
1.1 CAM概述
CAM是一種特殊的存儲器,它是將數(shù)據(jù)項存儲在一個陣列中。每個數(shù)據(jù)項的位數(shù)叫作字寬,CAM中所有數(shù)據(jù)項的條數(shù)叫作CAM的深度。字寬和深度可以表征CAM的容量。
CAM基于內(nèi)容尋址,通過硬件電路實現(xiàn)快速匹配。CAM的并行處理特性使得它在數(shù)據(jù)分選領(lǐng)域倍受青睞,被廣泛應(yīng)用于以太網(wǎng)網(wǎng)址搜尋、數(shù)據(jù)壓縮、模式識別、高速緩存、高速數(shù)據(jù)處理、數(shù)據(jù)安全和數(shù)據(jù)加密等。
1.2 CAM工作原理
CAM最基本的兩個端口是數(shù)據(jù)線和地址線,數(shù)據(jù)線作為輸入端口,存放需要由CAM來處理的數(shù)據(jù),而地址線作為輸出端口,輸出CAM的處理結(jié)果——匹配數(shù)據(jù)所在地址。圖1所示為深度為4、字寬為4的CAM,如果將二進制數(shù)1100放在數(shù)據(jù)線上,輸出的匹配結(jié)果將會是0011,如圖1所示,結(jié)果中的每一位二進制數(shù)對應(yīng)CAM內(nèi)部每一條數(shù)據(jù),數(shù)據(jù)線上數(shù)據(jù)與CAM內(nèi)部數(shù)據(jù)相等則對應(yīng)位輸出為1,不相等則輸出為0。由于CAM具有并行匹配特性,所以很適合對空間多個目標(biāo)進行同時并行匹配處理。
2 MicroBlaze軟核控制器
MicroBlaze是基于Xilinx公司FPGA的微處理器IP核,它和其他外設(shè)IP核一起可以完成可編程系統(tǒng)芯片(SOPC)的設(shè)計。MicroBlaze處理器采用RISC架構(gòu)和哈佛結(jié)構(gòu)的32位指令和數(shù)據(jù)總線,內(nèi)部有32個32位寬度的通用寄存器;其內(nèi)部結(jié)構(gòu)圖如圖2所示。
使用Xilinx公司提供的EDK(嵌入式系統(tǒng)開發(fā)套件),可以在參數(shù)化的圖形界面下方便地完成嵌入式處理器系統(tǒng)的設(shè)計。其突出的優(yōu)點:一是設(shè)計靈活性;二是可以整合用戶自定義IP核,使得算法可以在硬件中并行的執(zhí)行而不是在軟件中串行的執(zhí)行,從而極大地加速軟件的執(zhí)行速度。
評論