蘇曉東 宋蔚陽 鞠曉燕 孫月光 李 濤
北京航天長征飛行器研究所,北京100076
彈載計算機作為導彈控制系統的核心裝置之一,可謂是導彈的“大腦”[1]。彈載計算機的主要任務是接收來自慣導系統、GPS等導航設備的姿態位置信息進行導航任務處理,并根據導航處理的結果控制整彈穩定飛行及精確打擊目標。在近、現代戰爭中,微、小型導彈由于其成本低、附帶毀傷小、體積和重量小等優點,其發展逐漸受到各國重視[2]。因此對彈上核心設備的設計提出了新的要求,需要彈載計算機具有小型化,高可靠,低功耗等特點。
在傳統的彈載計算機方案設計中,核心處理單元架構主要包括單DSP、雙DSP、DSP+FPGA、SoC等。隨著控制算法的日益復雜和制導精度的日益提高,要求彈載計算機具有較高的實時性和強大的運算能力。傳統的單核DSP型架構已經無法滿足未來彈載計算機的要求。在文獻[3]中介紹了一種雙DSP的彈載計算機架構,在很大程度上提高了計算機的運算處理能力,但無形中增加的計算機印制板的布板面積,增大了設備體積。文獻[4]中介紹了一種DSP+FPGA的主流彈載計算機的設計架構,這種設計通過FPGA來分擔DSP的接口任務,具有擴展接口豐富,靈活性高的特點。但FPGA作為高功耗器件,在一定程度上提高了設備的整體功耗,且仍然無法解決體積問題。文獻[5]中提出了一種基于SoC技術的彈載計算機設計方案,SoC 固有的單芯片特征可極大提高系統性能,降低系統成本、功耗以及重量和尺寸,但開發周期較長,研制費用較高,不適用于需要快速應用的小型武器系統。
本文結合彈載計算機的發展要求,綜合考慮性能,成本,功耗,體積,周期等因素,提出了一種采用基于嵌入式SoC的芯片Zynq作為核心處理器的彈載計算機設計方案。主要完成與控制系統各單機的通信、單機產品的供配電、控制軟件的運行和舵機控制信號的輸出等功能,具有資源豐富、通用性強、體積小和可靠性高等特點。
目前,該款彈載計算機已完成了研制,經過初步試驗驗證,產品各項性能指標滿足控制系統需求,能夠應用于后續型號控制系統中。
根據彈載計算機功能需求,需要實現4路隔離I/O輸入識別功能、16路I/O輸出功能、3路對外RS422接口功能、4路D/A模擬量輸出功能和多路供配電輸出功能。
Zynq芯片內嵌雙核ARM和可編程邏輯資源,根據不同性能特點進行資源劃分。其中, ARM核中主要完成組合導航算法、飛控算法、制導算法的實現。為了提高對外接口的實時性要求,利用可編程邏輯資源的并行性特點實現對外接口功能。
彈載計算機系統構建見圖1。

圖1 彈載計算機系統構建
為了滿足系統對小型化,高性能等方面的要求,本文選擇了Zynq-7000系列芯片作為彈載計算機的核心處理器。ZYNQ-7000是Xilinx推出的一款全可編程片上系統(All Programmable SoC),該芯片集成了ARM Cortex A9雙核與FPGA,所以ZYNQ是一款SoPC芯片。其架構如圖2。

圖2 Zynq架構
圖中的ARM Cortex A9 MPCore(即為處理器部分,具有豐富的資源。Programmable Logic(一般簡稱為PL)即可編程部分(FPGA),該部分的資源隨SoC芯片級別高低不同而不同,本設計中選擇的芯片是Zynq-7020,PL部分配置是Artix-7。
PL部分的實質是Xilinx FPGA。在ZYNQ中,可以把PL看成是PS的另一個具有可重配置特點的“外設”,它可以作為PS部分的一個從設備,受ARM處理器控制。比如ARM(PS)的串口數量不夠時,可以用PL部分擴展。
電源電路是彈載計算機正常工作的能量源頭,如果電源電路設計存在隱患,則彈載計算機無法長時間穩定正常工作,因此電源電路設計十分關鍵。本設計在以功耗和可靠性為出發點,為彈載計算機設計了一種隔離式的多電壓輸出的電源系統。
彈載計算機的輸入電壓為28V,經過EMI濾波電路和多路隔離式DC/DC模塊輸出多路電壓,各路之間互相隔離,保證了計算機CPU電路與外部各個接口電路的物理隔絕,提高了產品固有的可靠性。其中一路+5V為內部數字電路供電,一路+5V為隔離接口供電,±15V為D/A輸出模塊供電。
在內部數字電路供電模塊,還需要產生給Zynq供電的各種低壓電源,主要包括內核電壓1.0V,輔助電壓1.8V,IO電壓3.3V,以及DDR電壓1.5V。該芯片的PS和PL部分具有分別獨立的供電系統,且互相之間不會影響。但若要保證ZYNQ芯片穩定工作,則PS和PL部分需要各自保證一定的上電順序,即保證內核及DDR先上電,最后再進行IO上電。只有在這種上電順序下,才能保證ZYNQ芯片上電過程中,所消耗的電流最小,對器件構成的傷害最少,同時也能保證在上電過程中,ZYNQ芯片的所有IO管腳處于三態狀態,設備工作穩定可靠。選用LTM4644作為電源電路設計的核心芯片,該芯片能夠實現4路電壓輸出,每路輸出電壓可調,輸出電流4A,并且可通過使能端控制保證上電順序。
ZYNQ芯片內部能夠通過添加IP核的方式實現串行通訊協議。添加的IP核全部通過AXI總線作為PS部分的外設資源,IP核則由PL部分的邏輯資源實現,通過這種方式,可實現ZYNQ外設資源的任意剪裁,提高控制器的通用性。
本設計中,具有7個串行通訊協議接口,其中有3路非隔離的RS422接口電路,2路隔離的RS422接口電路,和2路隔離的RS485接口電路。
非隔離的RS422接口電路由芯片MAX3491實現。隔離的RS422/RS485接口電路由ADM2491E芯片實現,該芯片采用磁耦隔離技術實現控制端與通訊端的隔離,提高了控制器的抗干擾能力和電磁兼容性。
該電路用于實現對舵機的控制,共需要輸出4路獨立的模擬量信號。該電路功能采用AD5764CSUZ實現,能夠輸出4路-10V~+10V的模擬量信號,電壓參考芯片采用ADR02AKS。該芯片采用通用的SPI總線通訊協議,通過寄存器的配置實現精確模擬量的輸出。利用ZYNQ芯片PS內部集成的SPI控制器實現對AD5764的控制,在保證可靠性的前提下,縮短開發周期。同時在硬件設計上,為了提高該電路的電磁兼容性,利用磁耦芯片ADUM1400芯片實現控制信號的隔離。電路如圖3所示。

圖3 AD5764CSUZ電路設計圖
IO輸入信號經過光耦隔離芯片HCP063L進行隔離后,輸入到ZYNQ芯片的IO口中。當輸入信號為高時,光耦輸出為高電平;當輸入信號為低時,光耦輸出為低電平。
IO輸出電路通過電平轉換芯片將ZYNQ輸出的3.3V電平轉換為5V電平,再通過達林頓管ULN2803實現對輸出信號的電流放大,提高輸出信號的可靠性。
飛控軟件是彈載計算機的靈魂,是彈載計算機實現飛行控制的關鍵。基于Zyqn平臺的飛控軟件設計與原多個分離CPU構成的計算機設計思路不同。該彈載計算機的軟件設計采用軟硬件協同設計方法,通過可編程邏輯單元構建硬件接口,主要包括串口通訊協議,DA芯片控制協議,IO輸入輸出控制。同時,ARM核的軟件包括底層驅動層和應用層,底層驅動層軟件包括系統初始化,雙核交互機制,定時器配置,中斷模塊配置等,應用層軟件包括對外部設備傳來的數據流的控制,自檢,裝訂,制導姿控算法解算,控制信號輸出,遙測信號輸出等功能。
Zynq平臺軟件開發環境采用VIVADO2014.2,首先在VIVADO中建立芯片硬件環境,包括用戶自定義IP的設計添加,底層模塊的配置,時鐘系統配置,DDR模塊配置等。本設計中主要設計了智能串口通訊模塊,I/O識別控制模塊,D/A輸出模塊。在IP設計過程中按照Xilinx的主設備和從設備之間的數據傳輸總線,即AXI總線設計了對ARM核的接口。AXI協議是一種點對點的主從接口協議,當多個外設需要互相交互數據時,需要加入一個AXI Interconnect模塊,也就是AXI互聯矩陣,作用是將一個AXI主設備連接到多個AXI從設備。硬件環境設計中將各個IP模塊作為AXI從設備連接到了雙核ARM上,在應用層開發時,ARM可以通過AXI總線實現對各個IP模塊的調用配置。這種通過AXI總線實現ARM內核與IP數據交互的方式,具有很大的靈活性,易于后期擴展維護。
構建完硬件環境后,將VIVADO生成的BIT文件導入到SDK中進行ARM核中的軟件開發。在應用程序中,起飛前,彈載計算機根據地面測試系統的命令進行自檢,輸出檢查,裝訂等工作。在起飛后,慣組和接收機會定時向彈載計算機發送姿態位置信息,ARM核中的主控程序通過定時查詢的方式接收數據,并通過數據進行計算,輸出控制指令給舵機控制器。同時,彈載計算機還會定時發送遙測數據,用于事后分析。應用層軟件流程圖如圖4所示。

圖4 應用層軟件算法流程圖
由于采用了先進的SoC芯片作為核心處理器,同時在接口電路設計中采用以磁隔離技術為基礎的芯片作為主要芯片搭建電路,因此該彈載計算機在計算性能、低功耗方面均有優良的表現。最后,通過合理的印制板布局布線使該彈載計算機進一步減小了體積。
本文選取了2款成熟的彈載計算機產品,對其體積、性能和功耗進行了對比。采用同樣的飛控算法,對各個產品進行一次控制周期計算耗時對比,結果如表1所示。通過分析對比,本文設計的彈載計算機在性能上得到了很大的提升。

表1 彈載計算機性能對比
利用彈載計算機樣機及地面測試系統搭建半實物仿真系統,系統框圖設計如圖5所示。慣組模擬實際安裝工況安裝在轉臺上,半實物仿真測試平臺通過測試電纜與控制系統各個電氣設備連接。該半實物仿真平臺由實時上位機、慣組、接收機模擬器、接收機、舵機和三軸轉臺組成。

圖5 半實物仿真系統框圖
上位機運行半實物仿真算法,主要作用是模擬六自由度模型和慣組信息,并根據工況控制三軸轉臺運動模擬飛行過程中的姿態。慣組敏感到姿態信息后,通過RS422總線接口發送給彈載計算機;接收模擬器實時發出衛星信號,接收機根據收到的信號解算位置信息,同樣通過RS422總線發送給彈載計算機。彈載計算機根據運動信息解算出舵機控制量控制舵機轉動,同時將遙測數據發送給上位機。同時,上位機會采集舵機反饋的實際角度,將其代入六自由度模型,計算姿態,控制三軸轉臺,形成閉環完整的半實物仿真回路。
半實物仿真試驗進行過程中,會實時繪制運行結果曲線,如圖6所示。由半實物仿真結果可以看出,導彈飛行過程中姿態穩定,控制系統工作正常,半實物仿真結果與數學仿真結果基本一致。因此,可知彈載計算機軟硬件設計合理,可以實現系統要求。

圖6 三軸等效舵偏指令數學仿真和雙機仿真曲線對比
提出了一種利用全可編程SoC芯片Zynq-7000搭建彈載計算機的設計,使其滿足了未來彈載控制系統對計算機體積、功耗、性能的要求。介紹了該方案的總體設計思路,并針對彈載計算機的硬件和軟件系統設計進行了詳細描述。硬件上設計了豐富高可靠的通訊接口、通用I/O輸入輸出接口、模擬量輸出接口,可以實現彈載計算機的各項功能指標;軟件設計上,采用軟硬件協同設計方法,將底層硬件開發結合上層應用軟件開發,通過可編程邏輯模塊的設計,減輕了ARM核的資源負擔,可以保證ARM核更高效可靠地實現相應算法。該型彈載計算機已經完成了樣機設計,進行了半實物仿真試驗。試驗結果表明彈載計算機工作正常,各項性能指標滿足任務需求,可用于未來武器系統使用。