王 戰,韓誠山,李祥之,趙慶磊,黃 良
(1.中國科學院 長春光學精密機械與物理研究所,吉林 長春130033;2.中國科學院大學,北京100049)
空間相機地面測試任務[1]繁瑣,目前研制出的功能仿真測試設備也千差萬別[2-4],但大部分的測試設備集成度差,功能單一,只能完成特定的單機測試功能,一旦進行多個子系統的聯調實驗時,過多的仿真測試設備會使實驗的操作過程變得復雜,測試的可靠性也無法得到充分保證。在相機交付衛星總體之前需要進行外場實驗,體積過大的測試設備也不利于實驗的進行。
本文針對現有空間相機測試手段的不足,結合實際項目需求,以FPGA 為硬件核心,結合VC 監控軟件,設計出一種空間相機星務仿真系統。利用FPGA 豐富的I/O 硬件資源,將多種不同的仿真測試功能通過優化融合,由FPGA 統一調度,從而大大簡化了硬件電路的接口邏輯。監控軟件采用多線程技術[5]有效兼容了3 條總線 (RS485、GPIB、1553B)的通訊接口[6,7],在確保系統時效性的同時實現了數據共享。系統可對空間相機進行全面的功能測試,提供在軌工作時所需的環境,包括母線電源、GPS時間碼、姿態與軌道參數、成像控制、總線指令等,并可實時解析顯示相機工況參數,真實地模擬出相機在軌運行時的工作狀態。
星務仿真系統主要由3部分組成:綜合星務仿真地檢盒 (以下簡稱地檢盒)、上位機控制單元和供電單元。地檢盒用于模擬星上GPS秒脈沖信號、遙控信號、并實時采集相機關鍵狀態遙測量,同時提供與上位機控制單元的通訊接口;上位機控制單元與1553B 總線板卡一起用于模擬星上1553B總線通訊功能,用于仿真衛星平臺發送總線指令、相機工況參數采集、成像控制、程序上注等功能;供電單元用于模擬衛星平臺給相機子系統提供一次母線電源。系統結構原理如圖1所示。

圖1 星務仿真系統結構原理
地檢盒是整個系統的硬件基礎,包含微處理器模塊,遙控信號處理模塊、遙測信號處理模塊、GPS秒脈沖信號處理模塊、GPS秒脈沖時間碼通訊模塊以及遙控遙測通訊模塊。上位機控制單元由一臺工控筆記本和星務仿真程序構成,它通過兩條RS485串行鏈路與地檢盒連接,一條用于接收地檢盒發送GPS整秒時間碼,一條用于向地檢盒發送遙控指令以及采集遙測參數。供電電源選用的是安捷倫6702A 電源,上位機控制單元通過GPIB 接口控制電源的上、下電操作,同時監控電源的工作狀態 (電流與電壓值)。1553B總線仿真設備選用的是Excelibur公司的PCMCIA/B板卡,通過筆記本的Express接口與上位機控制單元連接,承擔相機與星務仿真系統的總線通信任務。接下來本文將給出地檢盒各功能模塊的參考電路。
GPS秒脈沖是星務仿真系統發送給空間相機,用于相機子系統授時和校時功能,相機提供RS485接口進行連接。地檢盒秒脈沖信號由FPGA 時序電路產生,主、備各兩路秒脈沖信號,由RS485差分芯片DS26C31TM 將TTL 信號電平轉化為RS485電平[8],將秒脈沖信號差分后發送給空間相機。GPS秒脈沖信號處理電路如圖2所示。

圖2 GPS秒脈沖信號處理電路
遙控信號設計成以OC 門形式輸出,用于模擬衛星平臺控制相機子系統上下電以及主備份切換操作。相機的指令電源為+30V,而FPGA 輸出的指令脈沖為TTL 電平,為防止OC門擊穿或對地短路進,+30V 指令線電源反灌入FPGA 芯片的I/O 輸出端,因此需加在指令脈沖輸出端與其負載端 (即相機遙控指令輸入端)設計隔離保護電路。本文選用的是TLP521-1光電耦合器件,當輸入端為低電平時,其輸出端對外呈高阻態,避免了輸出端對輸入端的影響。具體電路如圖3所示。

圖3 遙控信號處理電路
由于遙控指令信號對于脈沖寬度有嚴格要求,因此為了對地檢盒實際輸出指令脈沖進行監控,需在指令輸出端加入脈沖信號檢測模塊,測量輸出脈沖寬度,當OC 門輸出端有脈沖信號輸出時,上位機控制單元可以通過控制指令查詢實際輸出的指令脈沖寬度,從而確保實驗過程的可靠性。其具體電路如圖4所示。

圖4 遙控信號檢測電路
遙測信號是指相機在軌工作期間的關鍵性工況參數,包括指令電源遙測,DSP 狀態遙測等,地檢盒遙測信號處理模塊需要模擬衛星平臺周期性采集相機遙測數據,用于實驗過程監控。本文設計的遙測電路處理模塊包括前置放大電路和A/D 轉換電路 (如圖5 所示)。前置放大電路將遙測模擬量放大后送入A/D 轉換器轉換為數字信號,以便于FPGA 處理。FPGA 周期性讀取AD7953輸出結果即可實現對相機系統工況參數監控的功能。

圖5 遙測信號處理電路
GPS秒脈沖時間碼通訊模塊和遙控遙測通訊模塊用于為上位機與地檢盒之間提供RS485通訊接口,其實質就是簡單的邏輯電平轉換。設計時選用的是MAX488 接口處理芯片。僅以GPS通訊模塊為例給出參考電路,如圖6所示。

圖6 GPS通訊模塊電路
安捷倫電源提供了GPIB接口,用于控制電源上下電操作以及監控顯示,使用USB-GPIB 轉接電纜與電腦連接;1553B總線接口卡是Express接口,可直接與電腦相連;星務仿真地檢盒采用USB-RS485轉接電纜與電腦連接。充分利用筆記本電腦豐富的USB接口資源,通過硬件接口的巧妙轉換,大大簡化了系統間接口的復雜性。
星務仿真系統軟件包括微處理器模塊FPGA 控制程序和上位機控制單元星務仿真程序。微處理器模塊選用Xilinx公司的Virtex XCV300FPGA 芯片,軟件開發環境為ISE 8.1,使用VHDL語言編程。FPGA 首先進行上電初始化,用FPGA 中自帶的CLKDLL 模塊中的clock信號作為復位信號,在上電初始化完成后進行全局復位。全局復位后FPGA 開始工作,主要完成以下4 個任務:①產生主、備共4路GPS硬件秒脈沖信號;②生成GPS整秒時間碼,經GPS秒脈沖時間碼通訊模塊發送至上位機控制單元;③控制遙測信號處理模塊周期性采集相機系統的遙測量,并進行存儲;④接收上位機控制單元的控制指令,并進行指令解析,生成相應的遙控信號以及GPS秒脈沖選通信號。
具體程序流程如圖7所示。
星務仿真程序是基于VC++平臺開發的,主要用于為星務仿真系統提供人機交互的界面,實現指令發送與遙測參數解析與顯示功能,同時管理整個測試過程中的各種配置參數,實驗數據,總線消息,以及指令記錄等數據。仿真軟件對外提供3個通信接口:RS485,GPIB以及1553B,各接口均采用多線程技術實現并行處理,系統為每個線程分配一個CPU 時間片,由于時間片很小,所以看上去好像是多個線程在同時運行,這樣就可以充分保證測試軟件的實時性。各線程同時擁有對數據庫的訪問權限,實現數據共享的同時,能很好地保證CPU 的時效性[9]。
本文采用ADO 數據庫訪問技術對Access數據庫進行讀寫操作[10,11]。為了避免多個線程同時對同一塊共享資源進行操作而導致的數據混亂,利用互斥對象實現線程同間的同步處理。入庫數據都會被打上時間戳,一旦測試出現問題,便可用于故障分析與問題定位。程序設計時需在VC++主框架下添加3個通訊接口的驅動程序以及相應的DLL和LIB文件,然后調用相應的庫函數來完成不同的通訊任務,具體實現本文不做介紹。圖8給出了星務仿真程序的數據流,該圖表征了軟件的功能架構與數據流向。
由于星務仿真系統軟硬件的高度集成性,硬件接口集中,實驗現場組建與維護非常簡單,測試過程中設備及設備之間的連接關系如圖9所示。

圖7 FPGA 軟件流程

圖8 星務仿真程序數據流
測試時首先對星務仿真系統進行上電初始化:開啟上位機,啟動星務仿真程序;開啟星務仿真地檢盒;供電單元初始化設置,為空間相機提供電源。通過星務仿真軟件指令發送界面 (如圖10所示)可向相機發送遙控指令 (主備切換、上下電)、1553B總線指令 (相機模式設置,成像控制,調焦控制,程序上注等)以及姿態軌道參數和時間碼等。仿真程序可通過不同的指令以及參數來為相機提供不同的在軌工作環境 (包括一些故障測試),并實時解析相機工作狀態遙測參數,顯示在遙測參數顯示界面 (如圖11所示),實驗人員可據此判斷相機的工作狀態。與此同時,所有進出星務仿真軟件的指令、數據都將被印上時間戳存儲在數據庫中,用于問題分析與故障定位。

圖9 星務仿真系統測試
本文針對目前空間相機地面仿真測試設備功能單一,集成度差,無法滿足繁瑣的測試任務的問題,設計了一種新型的功能完備的星務仿真測試系統,詳細說明了系統的硬件組成及設計原理,并給出了部分參考電路,同時給出了軟件設計架構與數據流圖。

圖10 指令、參數發送界面

圖11 遙測參數顯示界面
系統軟硬件經過充分調試,目前已成功應用于某型號空間相機的測試工作中。實踐結果表明,本文所設計的星務仿真系統能很好模擬衛星平臺與星載相機的數據、指令接口,可對相機不同的在軌工作狀態進行綜合測試,完全能滿足不同測試階段的測試任務。本文設計的星務仿真系統功能完備,集成度高,能大大降低開發研制不同功能的仿真測試設備的成本,具有廣泛的工程應用價值。
[1]HU Jun,WANG Dong,SUN Tianyu.Application and deve-lopment of recent space optical imaging remote sensors [J].Chinese Journal of Optics and Applied Optics,2010,3 (6):519-533 (in Chinese).[胡君,王棟,孫天宇.現代航天光學成像遙感器的應用與發展 [J].中國光學與應用光學,2010,3 (6):519-533.]
[2]Jumper E J,Zenk M,Gordeyev S,et al.Airborne aero-optics laboratory [J].Optical Engineering,2013,52 (7):07148.
[3]Gupta M,Bastani F,Khan L,et al.Rapid goal-oriented automated software testing using MEA-graph planning [J].Software Quality Journal(S0963-9314),2007,15 (3):241-263.
[4]HU Jun,WANG Dong.Real-time dynamic integration detection technology of space camera on the ground [J].Optics and Precision Engineering,2011,19 (9):2177-2185 (in Chinese). [胡君,王棟.空間相機地面實時動態集成測試技術[J].光學精密工程,2011,19 (9):2177-2185.]
[5]MA Yan,HU Jun,WU Weiping,et al.Test and simulation of concurrent and real-time communication of multicells of space optical remote sensor [J].Computer Simulation,2008,25(9):58-61 (in Chinese).[馬巖,胡君,吳偉平,等.航天光學遙感器多單元并行實時通信仿真測試 [J].計算機仿真,2008,25 (9):58-61.]
[6]TI RS-422and RS-485standards overview and system configurations[S].2010.
[7]HE Hong,ZHANG Jinzhou,ZHANG Zhihong.Design and implementation of a data collection based on GPIB interface[J].Journal of Tianjin University of Technology,2014,31(1):30-33 (in Chinese). [何宏,張金洲,張志宏.基于GPIB接口數據采集系統的設計 [J].天津理工大學學報,2014,31 (1):30-33.]
[8]WU Liping,GE Zhiming.RS485dierction switching based on embedded system [J].Microcontrollers &Embedded Systems,2014,14 (4):13-16 (in Chinese).[吳麗萍,戈志明.嵌入式系統應用中實現RS485的方向切換 [J].單片機與嵌入式系統應用,2014,14 (4):13-16.]
[9]HU Xiaoqin,HU Yingqiong,CAI Zhiyong,et al.Design of interface simulation software for 1553Bbus based on VC++ [J].Computer Engineering,2010,36 (11):93-95(in Chinese).[胡小琴,胡穎瓊,蔡志勇,等.基于VC++的1553B總線接口仿真軟件設計[J].計算機工程,2010,36 (11):93-95.]
[10]MENG Peichao,HU Shengbo,SHU Heng,et al.Optimization strategy of connection pool based on ADO [J].Computer Engineering and Design,2013,34 (5):1706-1710 (in Chinese).[孟培超,胡圣波,舒恒,等.基于ADO數據庫連接池優化策略[J].計算機工程與設計,2013,34 (5):1706-1710.]
[11]ZHAO Yijiang,SHAO Dinghong.Research on database transaction connection pool based on multi-agent tools[J].Computer Engineering and Design,2011,32 (6):2031-2034 (in Chinese).[趙一江,邵定宏.多代理數據庫事務連接池的研究 [J].計算機工程與設計,2011,32 (6):2031-2034.]