董杰
摘要 本文以無人作戰(zhàn)平臺電子設備數(shù)據(jù)信息安全為應用背景,提出一種基于RS485串行接口和CPLD的FPGA程序遠程動態(tài)加載設計方案。該方案中FPGA程序數(shù)據(jù)分為兩個版本并通過不同方式進行加載:普通程序本地存儲,上電直接加載用于保證設備一般功能的正常使用;核心程序外部存儲,需要時通過遠程動態(tài)加載,利用FPGA基于SRAM結構的易失性,實現(xiàn)重要程序數(shù)據(jù)斷電自動清除,有效確保電子設備中重要數(shù)據(jù)的安全。
【關鍵詞】無人作戰(zhàn)平臺 數(shù)據(jù)安全 RS485 串行接口 FPGA遠程動態(tài)配置
1 引言
無人作戰(zhàn)平臺能夠在危險復雜環(huán)境中執(zhí)行情報監(jiān)視與偵察、目標攻擊、通信中繼和電子干擾等任務,在軍事領域應用越來越廣泛。然而,由于其作戰(zhàn)區(qū)域廣闊,執(zhí)行任務復雜多樣,對全天時、高速通信鏈路的依賴較高,從而存在著失控和被敵截獲風險。為了保證我方信息安全,除了增強平臺本身的自主性和抗欺騙等能力之外,其搭載的任務載荷設備必須具備重要數(shù)據(jù)自動銷毀功能。
傳統(tǒng)的數(shù)據(jù)自毀方案一般是通過多種形式進行數(shù)據(jù)失控監(jiān)測,在滿足自毀觸發(fā)條件時,通過軟件、硬件、物理等多種自毀方式,對設備非易失性存儲器中的程序、數(shù)據(jù)或存儲器本身進行破壞,保證信息安全,但其自毀功能的實現(xiàn)是基于設備本身及其外圍通信、電源等保障電路均可正常工作,在無人作戰(zhàn)平臺上,由于其任務環(huán)境的復雜性,很可能會出現(xiàn)電源中斷、通信失聯(lián)等突發(fā)性故障,若采用上述自毀方案,則存在數(shù)據(jù)自毀功能失效的風險。
利用器件本身基于SRAM結構的易失性實現(xiàn)數(shù)據(jù)斷電自動清除,是設備實現(xiàn)自動銷密的一種切實可行的實現(xiàn)方案,其突出的優(yōu)點是可靠性高、電路結構簡單,不需要額外的狀態(tài)監(jiān)測和電源保障電路,特別適用于對設備小型化要求較高的應用場合。
本文針對某無人作戰(zhàn)平臺任務載荷設備,利用FPGA基于SRAM結構的易失性(斷電即丟失邏輯數(shù)據(jù)),設計了一種通過RS485串口進行FPGA程序遠程動態(tài)加載、斷電自動清除的方案。依據(jù)設備需要完成的功能,將軟件程序分為基本和核心兩個版本,任務載荷設備上的非易失性存儲器中只存放基本版程序數(shù)據(jù),保證設備在一般使用情況下,加電后基本功能可正常工作。核心版程序數(shù)據(jù)則保存在專用的數(shù)據(jù)加載設備中,當執(zhí)行的作戰(zhàn)任務需要使用核心功能時,在任務準備階段,由數(shù)據(jù)加載設備通過RS485串行接口對任務設備進行核心版程序遠程動態(tài)加載,當設備斷電后,核心版程序數(shù)據(jù)自動清除,從而可保證了我方重要信息安全。
由于任務設備斷電后核心程序數(shù)據(jù)即會自動清除,因此在每次執(zhí)行任務前需對核心程序進行遠程動態(tài)加載,這一過程需要占用任務準備時間,因此在設計過程中,必須考慮動態(tài)加載過程的操作便捷性、加載耗時和加載成功率。
2 硬件電路設計
系統(tǒng)設備在硬件組成上可分為數(shù)據(jù)加載設備和平臺任務設備兩部分,其硬件設計原理框圖見圖1。
數(shù)據(jù)加載設備是我方基地保障設備的組成部分,存儲核心功能程序數(shù)據(jù),并在需要時對平臺任務設備進行程序注入。平臺任務設備配置于無人作戰(zhàn)平臺上,其程序遠程加載配置電路主要由FPGA、CPLD、基本功能程序存儲器和電源儲能/濾波電路組成。
任務設備與數(shù)據(jù)加載設備之間的通信采用RS-485串行通信接口,利用差分線形式傳輸。該接口具備較強的抗干擾性能和較高的傳輸速率,最大通信速率可達lOMbps,在點對點傳輸模式下,IMbps傳輸速率下可靠傳輸距離可達150m。由于設備間的通信流程單一,均由數(shù)據(jù)加載設備發(fā)起,任務設備被動響應,為簡化接口連線,通信采用半雙工模式,數(shù)據(jù)的收發(fā)共用一組差分線。
在本設計方案中,為實現(xiàn)CPLD對FPGA的加載配置控制,除常規(guī)的配置管腳外.還增加了CpuSt信號,該信號由FPGA的microblaze軟核應用程序控制,當軟核應用程序正常運行后,將該信號置高。增加該信號是由于當FPGA設計中配置了microblaze軟核時,其配置加載過程除了常規(guī)的配置復位、初始化、加載配置數(shù)據(jù)和器件啟動外,還存在一個軟核應用程序啟動過程,而此過程是在DONE信號被拉高之后進行,因此,CPLD在加載完配置數(shù)據(jù)后,除需檢測DONE電平外,還要檢測CpuSt信號,在CpuSt置高前,持續(xù)輸出CCLK時鐘,以保證用戶的軟核程序的正常啟動運行。
電源儲能/濾波電路保證當核心版程序注入完成后,設備不會因突發(fā)電源干擾或平臺電源切換導致核心版程序意外丟失。
3 遠程加載邏輯設計
CPLD作為任務載荷設備的FPGA加載流程的核心控制器件,完成串行數(shù)據(jù)收發(fā)、加載指令解析、FPGA程序加載控制等功能。FPGA的加載配置流程分為FPGA上電加載配置流程和遠程加載配置流程,工作流程示意圖如圖2。
任務設備上電后,CPLD即啟動FPGA上電加載配置流程,從PROM中加載民用版程序,在執(zhí)行完FPGA的基本配置加載過程后,繼續(xù)保持CCLK時鐘輸出,保證MicroBlaze軟核啟動。上電加載時序邏輯如圖3。
FPGA上電加載配置的工作步驟如下:
(1) CPLD上電復位后,控制PROG B輸出寬度為500ns的負脈沖,清除FPGA配置存儲器,同時控制PROM RST為低電平,對PROM進行復位;
(2)在PROG B負脈沖結束后,等待一段時間,將INIT B置高,同時結束對PROM的復位并打開PROM使能,打開CCLK時鐘,此時,F(xiàn)PGA在CCLK時鐘作用下,從PROM中加載配置數(shù)據(jù);
(3)此后,CPLD實時檢測INIT B、DONE和CpuSt信號的狀態(tài),當配置數(shù)據(jù)輸出完畢,CRC校驗正確后,DONE信號變高,此時可將PROM CE信號拉高關閉PROM使能,并繼續(xù)保持CCLK時鐘輸出,當MicroBlaze軟核啟動完成后,CpuSt信號變高,結束CPLD上電加載流程;
(4)如果配置數(shù)據(jù)輸出完畢,CRC校驗錯誤,F(xiàn)PGA會將INIT B拉低,CPLD檢測到INIT B下降沿后,CPLD進行全局復位,并重新開始上電加載流程。
當任務設備上電加載配置完成后,CPLD轉入等待接收遠程加載指令狀態(tài)。當收到地面保障設備發(fā)送的遠程加載啟動命令后,進行FPGA程序遠程加載配置,時序邏輯見圖4。
FPGA程序遠程加載配置的工作步驟如下:
(1)收到遠程加載啟動命令后,首先控制PROG B輸出寬度為500ns的負脈沖,清除FPGA配置存儲器,負脈沖結束后,等待一段時間,將INIT B置高,此時,通過串口發(fā)送加載啟動確認回傳,并打開加載超時計數(shù)器
(2)此后,每收到1幀串口數(shù)據(jù),將數(shù)據(jù)按比特位倒序后輸出,同時產(chǎn)生1個CCLK時鐘,并將超時計數(shù)器清零;
(3) CPLD實時檢測INIT B、DONE和CpuSt信號的狀態(tài),當配置數(shù)據(jù)輸出完畢,CRC校驗正確后,DONE信號變高,此時將CCLK時鐘連續(xù)輸出,當MicroBlaze軟核啟動完成后,CpuSt信號變高,結束CPLD上電加載流程;
(4)當CPLD檢測到INIT B下降沿或者超時計數(shù)器溢出時,CPLD進行全局復位,并重新開始上電加載流程。
為防止加載過程意外中斷而導致CPLD加載邏輯異常,在加載過程中需要進行異常超時判斷處理,當連續(xù)一段時間未收到加載數(shù)據(jù)或加載狀態(tài)未發(fā)生變化,則CPLD自動退出遠程加載流程并復位,重新開始上電加載流程,確保遠程加載因意外中斷后,任務設備可迅速恢復其初始狀態(tài)。
4 實際應用表現(xiàn)
任務設備FPGA采用spartan-6系列低功耗器件XC6LX75,其配置bit流文件大小為19719712bit,在串行通信傳輸過程中報文按8bit數(shù)據(jù)位組成1個字節(jié)傳輸,加上lbit起始位和lbit停止位,共lObit,因此,加載過程中實際傳輸?shù)腷it流大小為24649640bit,在IMbps傳輸速率下,完成一次遠程加載的時間約為25s。
在試驗室環(huán)境下,我們分別進行了遠程加載測試和電源轉換測試,測試結果分別見表l和表2。
5 結束語
本文給出了一種利用器件本身基于SRAM結構的易失性實現(xiàn)數(shù)據(jù)斷電自動銷毀的方案,在該方案中,一般程序數(shù)據(jù)本地存儲,核心程序數(shù)據(jù)遠程加載,可實現(xiàn)重要數(shù)據(jù)在設備斷電后自動清除,能有效保障無人作戰(zhàn)平臺電子設備重要數(shù)據(jù)信息安全;同時,在一般應用場合或設備異常斷電重啟后,亦可保障設備基本功能的使用。本設計方案已在工程實踐中得到驗證,遠程動態(tài)加載工作方式有效、可靠,可廣泛應用于各種無人平臺搭載的電子設備上。
參考文獻
[1]李瑜,張文玉,無人作戰(zhàn)平臺指揮控制技術[J].指揮信息系統(tǒng)與技術,2011(06).
[2]盧正添,李濤,胡曉勤,趙奎,曾金全,彭凌西,一種數(shù)據(jù)自毀方法[J].計算機應用研究,2009 (01).
[3]李璟,劉宏偉,舒燕君,馬闖,關鍵領域嵌入式容錯機自毀功能[J],清華大學學報(自然科學版),2011 (SI).
[4]劉祥,宋克柱,張嗣峰,基于串行通信的遠程FPGA在線配置[J].核電子學與探測技術,2010,30 (06):774-777.
[5]李燕春,基于CPLD的FPGA快速動態(tài)重構設計[J].電訊技術,2008,48 (07):87-89.
[6] Spartan-6 FPGA Configuration UserGuide[Z].X ilinx Inc, 2011.