蘇曉東 宋蔚陽 鞠曉燕 孫月光 李 濤
北京航天長征飛行器研究所,北京100076
彈載計算機作為導彈控制系統(tǒng)的核心裝置之一,可謂是導彈的“大腦”[1]。彈載計算機的主要任務是接收來自慣導系統(tǒng)、GPS等導航設備的姿態(tài)位置信息進行導航任務處理,并根據(jù)導航處理的結果控制整彈穩(wěn)定飛行及精確打擊目標。在近、現(xiàn)代戰(zhàn)爭中,微、小型導彈由于其成本低、附帶毀傷小、體積和重量小等優(yōu)點,其發(fā)展逐漸受到各國重視[2]。因此對彈上核心設備的設計提出了新的要求,需要彈載計算機具有小型化,高可靠,低功耗等特點。
在傳統(tǒng)的彈載計算機方案設計中,核心處理單元架構主要包括單DSP、雙DSP、DSP+FPGA、SoC等。隨著控制算法的日益復雜和制導精度的日益提高,要求彈載計算機具有較高的實時性和強大的運算能力。傳統(tǒng)的單核DSP型架構已經(jīng)無法滿足未來彈載計算機的要求。在文獻[3]中介紹了一種雙DSP的彈載計算機架構,在很大程度上提高了計算機的運算處理能力,但無形中增加的計算機印制板的布板面積,增大了設備體積。文獻[4]中介紹了一種DSP+FPGA的主流彈載計算機的設計架構,這種設計通過FPGA來分擔DSP的接口任務,具有擴展接口豐富,靈活性高的特點。但FPGA作為高功耗器件,在一定程度上提高了設備的整體功耗,且仍然無法解決體積問題。文獻[5]中提出了一種基于SoC技術的彈載計算機設計方案,SoC 固有的單芯片特征可極大提高系統(tǒng)性能,降低系統(tǒng)成本、功耗以及重量和尺寸,但開發(fā)周期較長,研制費用較高,不適用于需要快速應用的小型武器系統(tǒng)。
本文結合彈載計算機的發(fā)展要求,綜合考慮性能,成本,功耗,體積,周期等因素,提出了一種采用基于嵌入式SoC的芯片Zynq作為核心處理器的彈載計算機設計方案。主要完成與控制系統(tǒng)各單機的通信、單機產(chǎn)品的供配電、控制軟件的運行和舵機控制信號的輸出等功能,具有資源豐富、通用性強、體積小和可靠性高等特點。
目前,該款彈載計算機已完成了研制,經(jīng)過初步試驗驗證,產(chǎn)品各項性能指標滿足控制系統(tǒng)需求,能夠應用于后續(xù)型號控制系統(tǒng)中。
根據(jù)彈載計算機功能需求,需要實現(xiàn)4路隔離I/O輸入識別功能、16路I/O輸出功能、3路對外RS422接口功能、4路D/A模擬量輸出功能和多路供配電輸出功能。
Zynq芯片內(nèi)嵌雙核ARM和可編程邏輯資源,根據(jù)不同性能特點進行資源劃分。其中, ARM核中主要完成組合導航算法、飛控算法、制導算法的實現(xiàn)。為了提高對外接口的實時性要求,利用可編程邏輯資源的并行性特點實現(xiàn)對外接口功能。
彈載計算機系統(tǒng)構建見圖1。
圖1 彈載計算機系統(tǒng)構建
為了滿足系統(tǒng)對小型化,高性能等方面的要求,本文選擇了Zynq-7000系列芯片作為彈載計算機的核心處理器。ZYNQ-7000是Xilinx推出的一款全可編程片上系統(tǒng)(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部分的實質(zhì)是Xilinx FPGA。在ZYNQ中,可以把PL看成是PS的另一個具有可重配置特點的“外設”,它可以作為PS部分的一個從設備,受ARM處理器控制。比如ARM(PS)的串口數(shù)量不夠時,可以用PL部分擴展。
電源電路是彈載計算機正常工作的能量源頭,如果電源電路設計存在隱患,則彈載計算機無法長時間穩(wěn)定正常工作,因此電源電路設計十分關鍵。本設計在以功耗和可靠性為出發(fā)點,為彈載計算機設計了一種隔離式的多電壓輸出的電源系統(tǒng)。
彈載計算機的輸入電壓為28V,經(jīng)過EMI濾波電路和多路隔離式DC/DC模塊輸出多路電壓,各路之間互相隔離,保證了計算機CPU電路與外部各個接口電路的物理隔絕,提高了產(chǎn)品固有的可靠性。其中一路+5V為內(nèi)部數(shù)字電路供電,一路+5V為隔離接口供電,±15V為D/A輸出模塊供電。
在內(nèi)部數(shù)字電路供電模塊,還需要產(chǎn)生給Zynq供電的各種低壓電源,主要包括內(nèi)核電壓1.0V,輔助電壓1.8V,IO電壓3.3V,以及DDR電壓1.5V。該芯片的PS和PL部分具有分別獨立的供電系統(tǒng),且互相之間不會影響。但若要保證ZYNQ芯片穩(wěn)定工作,則PS和PL部分需要各自保證一定的上電順序,即保證內(nèi)核及DDR先上電,最后再進行IO上電。只有在這種上電順序下,才能保證ZYNQ芯片上電過程中,所消耗的電流最小,對器件構成的傷害最少,同時也能保證在上電過程中,ZYNQ芯片的所有IO管腳處于三態(tài)狀態(tài),設備工作穩(wěn)定可靠。選用LTM4644作為電源電路設計的核心芯片,該芯片能夠?qū)崿F(xiàn)4路電壓輸出,每路輸出電壓可調(diào),輸出電流4A,并且可通過使能端控制保證上電順序。
ZYNQ芯片內(nèi)部能夠通過添加IP核的方式實現(xiàn)串行通訊協(xié)議。添加的IP核全部通過AXI總線作為PS部分的外設資源,IP核則由PL部分的邏輯資源實現(xiàn),通過這種方式,可實現(xiàn)ZYNQ外設資源的任意剪裁,提高控制器的通用性。
本設計中,具有7個串行通訊協(xié)議接口,其中有3路非隔離的RS422接口電路,2路隔離的RS422接口電路,和2路隔離的RS485接口電路。
非隔離的RS422接口電路由芯片MAX3491實現(xiàn)。隔離的RS422/RS485接口電路由ADM2491E芯片實現(xiàn),該芯片采用磁耦隔離技術實現(xiàn)控制端與通訊端的隔離,提高了控制器的抗干擾能力和電磁兼容性。
該電路用于實現(xiàn)對舵機的控制,共需要輸出4路獨立的模擬量信號。該電路功能采用AD5764CSUZ實現(xiàn),能夠輸出4路-10V~+10V的模擬量信號,電壓參考芯片采用ADR02AKS。該芯片采用通用的SPI總線通訊協(xié)議,通過寄存器的配置實現(xiàn)精確模擬量的輸出。利用ZYNQ芯片PS內(nèi)部集成的SPI控制器實現(xiàn)對AD5764的控制,在保證可靠性的前提下,縮短開發(fā)周期。同時在硬件設計上,為了提高該電路的電磁兼容性,利用磁耦芯片ADUM1400芯片實現(xiàn)控制信號的隔離。電路如圖3所示。
圖3 AD5764CSUZ電路設計圖
IO輸入信號經(jīng)過光耦隔離芯片HCP063L進行隔離后,輸入到ZYNQ芯片的IO口中。當輸入信號為高時,光耦輸出為高電平;當輸入信號為低時,光耦輸出為低電平。
IO輸出電路通過電平轉換芯片將ZYNQ輸出的3.3V電平轉換為5V電平,再通過達林頓管ULN2803實現(xiàn)對輸出信號的電流放大,提高輸出信號的可靠性。
飛控軟件是彈載計算機的靈魂,是彈載計算機實現(xiàn)飛行控制的關鍵。基于Zyqn平臺的飛控軟件設計與原多個分離CPU構成的計算機設計思路不同。該彈載計算機的軟件設計采用軟硬件協(xié)同設計方法,通過可編程邏輯單元構建硬件接口,主要包括串口通訊協(xié)議,DA芯片控制協(xié)議,IO輸入輸出控制。同時,ARM核的軟件包括底層驅(qū)動層和應用層,底層驅(qū)動層軟件包括系統(tǒng)初始化,雙核交互機制,定時器配置,中斷模塊配置等,應用層軟件包括對外部設備傳來的數(shù)據(jù)流的控制,自檢,裝訂,制導姿控算法解算,控制信號輸出,遙測信號輸出等功能。
Zynq平臺軟件開發(fā)環(huán)境采用VIVADO2014.2,首先在VIVADO中建立芯片硬件環(huán)境,包括用戶自定義IP的設計添加,底層模塊的配置,時鐘系統(tǒng)配置,DDR模塊配置等。本設計中主要設計了智能串口通訊模塊,I/O識別控制模塊,D/A輸出模塊。在IP設計過程中按照Xilinx的主設備和從設備之間的數(shù)據(jù)傳輸總線,即AXI總線設計了對ARM核的接口。AXI協(xié)議是一種點對點的主從接口協(xié)議,當多個外設需要互相交互數(shù)據(jù)時,需要加入一個AXI Interconnect模塊,也就是AXI互聯(lián)矩陣,作用是將一個AXI主設備連接到多個AXI從設備。硬件環(huán)境設計中將各個IP模塊作為AXI從設備連接到了雙核ARM上,在應用層開發(fā)時,ARM可以通過AXI總線實現(xiàn)對各個IP模塊的調(diào)用配置。這種通過AXI總線實現(xiàn)ARM內(nèi)核與IP數(shù)據(jù)交互的方式,具有很大的靈活性,易于后期擴展維護。
構建完硬件環(huán)境后,將VIVADO生成的BIT文件導入到SDK中進行ARM核中的軟件開發(fā)。在應用程序中,起飛前,彈載計算機根據(jù)地面測試系統(tǒng)的命令進行自檢,輸出檢查,裝訂等工作。在起飛后,慣組和接收機會定時向彈載計算機發(fā)送姿態(tài)位置信息,ARM核中的主控程序通過定時查詢的方式接收數(shù)據(jù),并通過數(shù)據(jù)進行計算,輸出控制指令給舵機控制器。同時,彈載計算機還會定時發(fā)送遙測數(shù)據(jù),用于事后分析。應用層軟件流程圖如圖4所示。
圖4 應用層軟件算法流程圖
由于采用了先進的SoC芯片作為核心處理器,同時在接口電路設計中采用以磁隔離技術為基礎的芯片作為主要芯片搭建電路,因此該彈載計算機在計算性能、低功耗方面均有優(yōu)良的表現(xiàn)。最后,通過合理的印制板布局布線使該彈載計算機進一步減小了體積。
本文選取了2款成熟的彈載計算機產(chǎn)品,對其體積、性能和功耗進行了對比。采用同樣的飛控算法,對各個產(chǎn)品進行一次控制周期計算耗時對比,結果如表1所示。通過分析對比,本文設計的彈載計算機在性能上得到了很大的提升。
表1 彈載計算機性能對比
利用彈載計算機樣機及地面測試系統(tǒng)搭建半實物仿真系統(tǒng),系統(tǒng)框圖設計如圖5所示。慣組模擬實際安裝工況安裝在轉臺上,半實物仿真測試平臺通過測試電纜與控制系統(tǒng)各個電氣設備連接。該半實物仿真平臺由實時上位機、慣組、接收機模擬器、接收機、舵機和三軸轉臺組成。
圖5 半實物仿真系統(tǒng)框圖
上位機運行半實物仿真算法,主要作用是模擬六自由度模型和慣組信息,并根據(jù)工況控制三軸轉臺運動模擬飛行過程中的姿態(tài)。慣組敏感到姿態(tài)信息后,通過RS422總線接口發(fā)送給彈載計算機;接收模擬器實時發(fā)出衛(wèi)星信號,接收機根據(jù)收到的信號解算位置信息,同樣通過RS422總線發(fā)送給彈載計算機。彈載計算機根據(jù)運動信息解算出舵機控制量控制舵機轉動,同時將遙測數(shù)據(jù)發(fā)送給上位機。同時,上位機會采集舵機反饋的實際角度,將其代入六自由度模型,計算姿態(tài),控制三軸轉臺,形成閉環(huán)完整的半實物仿真回路。
半實物仿真試驗進行過程中,會實時繪制運行結果曲線,如圖6所示。由半實物仿真結果可以看出,導彈飛行過程中姿態(tài)穩(wěn)定,控制系統(tǒng)工作正常,半實物仿真結果與數(shù)學仿真結果基本一致。因此,可知彈載計算機軟硬件設計合理,可以實現(xiàn)系統(tǒng)要求。
圖6 三軸等效舵偏指令數(shù)學仿真和雙機仿真曲線對比
提出了一種利用全可編程SoC芯片Zynq-7000搭建彈載計算機的設計,使其滿足了未來彈載控制系統(tǒng)對計算機體積、功耗、性能的要求。介紹了該方案的總體設計思路,并針對彈載計算機的硬件和軟件系統(tǒng)設計進行了詳細描述。硬件上設計了豐富高可靠的通訊接口、通用I/O輸入輸出接口、模擬量輸出接口,可以實現(xiàn)彈載計算機的各項功能指標;軟件設計上,采用軟硬件協(xié)同設計方法,將底層硬件開發(fā)結合上層應用軟件開發(fā),通過可編程邏輯模塊的設計,減輕了ARM核的資源負擔,可以保證ARM核更高效可靠地實現(xiàn)相應算法。該型彈載計算機已經(jīng)完成了樣機設計,進行了半實物仿真試驗。試驗結果表明彈載計算機工作正常,各項性能指標滿足任務需求,可用于未來武器系統(tǒng)使用。