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