文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.182874
中文引用格式: 陸玉芳,莊奕琪,吳旋輝. 基于SIP概念的電氣控制組合設(shè)計與實現(xiàn)[J].電子技術(shù)應(yīng)用,2019,45(6):113-119.
英文引用格式: Lu Yufang,Zhuang Yiqi,Wu Xuanhui. Design and implementation of upper stage ELMC based on SIP concept[J]. Application of Electronic Technique,2019,45(6):113-119.
0 引言
隨著微電子和計算機(jī)技術(shù)的發(fā)展,航天、航空等領(lǐng)域電子系統(tǒng)正逐漸向著集成化、綜合化[1]、信息化、模塊化、智能化及通用化等方向發(fā)展。本文以某型號商業(yè)火箭上面級電子系統(tǒng)提出的綜合化、集成化及通用化等要求為研究背景,參考集成電路系統(tǒng)設(shè)計理念,提出了一種基于數(shù)?;旌闲虵PGA芯片將電氣控制組合控制系統(tǒng)小型化為一個SIP系統(tǒng)的方法,使用微波隔離[2]等平面化技術(shù)將外圍的隔離驅(qū)動電路及固態(tài)開關(guān)陣列小型化,并在VITA-46標(biāo)準(zhǔn)的3U結(jié)構(gòu)中完成了箭上上面級電氣控制組合的設(shè)計與實現(xiàn),體積、重量不到傳統(tǒng)設(shè)計的三分之一,通信速率提高了近百倍,通用性、可靠性、安全性及測試性等性能指標(biāo)有顯著提升。
1 系統(tǒng)方案設(shè)計
某型號箭上上面級綜合電子系統(tǒng)整體采用全新的模塊化概念單元(Modular Conceptual Unit,MCU)設(shè)計理念,對系統(tǒng)中的電氣控制組合提出了高速、小型化、輕量化及高可靠性等要求。電氣控制組合作為上面級綜合電子系統(tǒng)中的重要功能單元,需具有多路配電控制、數(shù)十路時序點火控制、多路模擬信號采集、多路開關(guān)量信號采集、應(yīng)急控制、千兆光纖以太網(wǎng)通信及狀態(tài)信息上報等功能,還需通過控制系統(tǒng)內(nèi)的輔助健康管理系統(tǒng)對主控系統(tǒng)等關(guān)鍵部位的工作狀態(tài)進(jìn)行實時監(jiān)控,并可通過CAN總線將系統(tǒng)實時工作情況上報。
通過需求分析,上面級電氣控制組合由SIP控制系統(tǒng)、電源隔離變換模塊、微波隔離驅(qū)動模塊、隔離放大模塊、隔離采樣模塊及固態(tài)開關(guān)陣列等模塊組成,其中SIP控制系統(tǒng)又由主控系統(tǒng)和輔助健康管理系統(tǒng)兩部分組成。主控系統(tǒng)可通過雙冗余1000BASE-X總線接收上位機(jī)指令,經(jīng)微波隔離驅(qū)動模塊進(jìn)行電氣隔離后,控制固態(tài)開關(guān)陣列完成時序點火及用電設(shè)備配電控制輸出,可采集調(diào)理電路輸入的電壓和開關(guān)量等信號,通過1000BASE-X上傳上位機(jī),并具有應(yīng)急控制功能;主控系統(tǒng)采用單片數(shù)?;旌闲虵PGA處理器實現(xiàn)。輔助健康管理系統(tǒng)主要由溫度采集、供電電壓采集、主控系統(tǒng)配置狀態(tài)檢測、主控系統(tǒng)心跳檢測、SIP模塊生命周期信息記錄(包括上電時間,上電次數(shù),主控系統(tǒng)軟件版本等)等軟核組成,采用單片F(xiàn)lash架構(gòu)的數(shù)?;旌蟂oC處理器實現(xiàn)。上面級電氣控制組合原理框圖如圖1所示。
2 SIP控制系統(tǒng)設(shè)計
2.1 主控系統(tǒng)設(shè)計
主控系統(tǒng)主要接收上位機(jī)指令完成時序點火、配電控制、開關(guān)量采集、模擬量采集及實時狀態(tài)監(jiān)控等功能。主控系統(tǒng)設(shè)計包括:主協(xié)議引擎核、千兆光纖以太網(wǎng)通信核、模擬信號處理核、開關(guān)反饋核、開關(guān)控制核、緊急控制核、信息存儲核及時間同步核,其中主協(xié)議引擎核為控制核心,采用片內(nèi)總線完成與其他軟核間的數(shù)據(jù)交換,主控系統(tǒng)架構(gòu)邏輯框圖如圖2所示。設(shè)計中例化了兩路相同的以太網(wǎng)通信核,實現(xiàn)兩冗余總線通信控制,每個以太網(wǎng)核設(shè)計專用FIFO完成與主協(xié)議引擎核的數(shù)據(jù)交互;主協(xié)議引擎核由主協(xié)議接收引擎核與主協(xié)議發(fā)送引擎核組成,接收引擎核主要完成數(shù)據(jù)的拆包,應(yīng)用層CRC校驗,數(shù)據(jù)分配下發(fā);發(fā)送引擎核主要完成發(fā)送數(shù)據(jù)CRC計算,將數(shù)據(jù)打包成應(yīng)用層通信數(shù)據(jù)格式并發(fā)送至以太網(wǎng)通信核等功能;子功能核分別完成設(shè)定功能,并行工作,并設(shè)計專用FIFO來完成與主協(xié)議引擎核的數(shù)據(jù)交互。
2.1.1 千兆以太網(wǎng)通信核設(shè)計
千兆以太網(wǎng)通信核架構(gòu)中包含1個UDP核,1個接收FIFO,1個發(fā)送FIFO;UDP核控制系統(tǒng)實現(xiàn)UDP協(xié)議通信,包括5個子核,分別為以太網(wǎng)接收子核IPReceiveCore_Unit、以太網(wǎng)發(fā)送子核IPSendCore_Unit、接收CRC校驗子核RecCrc_Unit、發(fā)送CRC校驗核SendCrc_Unit以及接收緩存RAM核RecRam。千兆以太網(wǎng)通信核主要架構(gòu)如圖3所示。
2.1.1.1 以太網(wǎng)接收核設(shè)計
以太網(wǎng)接收核設(shè)計時,定義Gmii_Rx_Dv為接收信號狀態(tài)標(biāo)志,GMII_Rx_Er為接收信號數(shù)據(jù)標(biāo)志,Gmii_Rxd[7:0]為接收數(shù)據(jù)信號接口,其他前綴為ARP的接口與以太網(wǎng)發(fā)送核相連,用于傳遞ARP信號,接口如圖4所示。以太網(wǎng)接收核狀態(tài)機(jī)編碼方式設(shè)計為One-Hot碼(獨熱碼),采用三段式狀態(tài)機(jī)??刂破鳈z測接收信號有效時(Gmii_Rx_Dv==1),結(jié)束閑置狀態(tài)(IDLE==0),進(jìn)入接收進(jìn)程。接收進(jìn)程設(shè)計為3個階段,每個階段都有相應(yīng)長度的寄存器緩存,其中CRC的計算從以太網(wǎng)首部的目標(biāo)MAC地址開始,直到UDP數(shù)據(jù)區(qū)結(jié)束為止,接收時判斷目的IP地址、目的端口號等信息是否匹配。如匹配,則接收UDP數(shù)據(jù),同時將其寫入BlockRAM中緩存,待幀結(jié)束時所有校驗與CRC校驗都通過時,才將BlockRAM數(shù)據(jù)寫入到接收FIFO中供主協(xié)議引擎核解析應(yīng)用數(shù)據(jù);另外,在接收數(shù)據(jù)的過程中判斷接收的以太網(wǎng)幀為數(shù)據(jù)幀或ARP幀,若為ARP幀時,則判斷是否為詢問幀,校驗?zāi)康腎P是否匹配;校驗通過后置標(biāo)志位,并通知以太網(wǎng)發(fā)送核回復(fù)ARP幀,其流程圖如圖4所示。
2.1.1.2 以太網(wǎng)發(fā)送核設(shè)計
以太網(wǎng)發(fā)送核設(shè)計時,定義Gmii_Tx_En為發(fā)送信號標(biāo)準(zhǔn),Gmii_Tx_Er為發(fā)送數(shù)據(jù)標(biāo)志,Gmii_Txd[7:0]為發(fā)送數(shù)據(jù)信號。發(fā)送流程為:首先,當(dāng)檢測到有發(fā)送數(shù)據(jù)請求時(及發(fā)送核FIFO的Empty標(biāo)志為0),狀態(tài)機(jī)進(jìn)入發(fā)送狀態(tài)。先將Gmii_Tx_En標(biāo)志置1,按照以太網(wǎng)幀格式將數(shù)據(jù)傳遞至Gmii_Txd,當(dāng)發(fā)送UDP數(shù)據(jù)區(qū)時,連續(xù)讀出發(fā)送FIFO中的數(shù)據(jù)進(jìn)行發(fā)送,最后發(fā)送幀尾的CRC校驗值完成后,狀態(tài)機(jī)回到閑置狀態(tài);對于ARP回復(fù)請求,在確保無發(fā)送數(shù)據(jù)請求的前提下,跳轉(zhuǎn)發(fā)送ARP回復(fù)幀。發(fā)送數(shù)據(jù)請求的優(yōu)先級高于ARP回復(fù)請求。以太網(wǎng)發(fā)送核流程如圖5所示。
2.1.2 主協(xié)議引擎核設(shè)計
主協(xié)議引擎核分為主協(xié)議接收引擎核與主協(xié)議發(fā)送引擎核兩個子核,兩個子核的對外接口操作同為對FIFO端口操作,且兩個模塊間沒有數(shù)據(jù)交互,保證數(shù)據(jù)傳輸?shù)倪壿嬓浴?/p>
2.1.2.1 主協(xié)議接收引擎核設(shè)計
主協(xié)議接收引擎核主要完成判斷以太網(wǎng)FIFO是否接收到數(shù)據(jù)并將數(shù)據(jù)從以太網(wǎng)通信核的接收FIFO中讀出等功能。由于主控系統(tǒng)雙冗余,以太網(wǎng)總線同一時刻只有一路在線,因此總線為閑置狀態(tài)時,主協(xié)議接收引擎核檢測兩個以太網(wǎng)接收FIFO是否為空;若某一接收FIFO不為空,則表明該路接收到數(shù)據(jù),狀態(tài)機(jī)跳轉(zhuǎn),并從該路接收FIFO中讀取數(shù)據(jù);主協(xié)議接收引擎核完成一幀數(shù)據(jù)讀取后,則跳轉(zhuǎn)到CRC計算,若CRC計算通過時,置標(biāo)志CrcChecked為1,
否則為0;主協(xié)議接收引擎核將數(shù)據(jù)寫入子功能核FIFO中,狀態(tài)機(jī)跳轉(zhuǎn)至閑置狀態(tài)。主協(xié)議接收引擎核的狀態(tài)圖如圖6所示。系統(tǒng)通信采用特定幀格式,包含2字節(jié)幀頭,1字節(jié)命令類型,1字節(jié)收發(fā)指示,1字節(jié)錯誤次數(shù),對應(yīng)長度的數(shù)據(jù)內(nèi)容,2字節(jié)Crc校驗值,2字節(jié)幀尾,如表1所示。
2.1.2.2 主協(xié)議發(fā)送引擎核設(shè)計
設(shè)計時,將整個主協(xié)議發(fā)送引擎核分為三個狀態(tài)機(jī)。第一個狀態(tài)機(jī)的功能是從對應(yīng)的子功能核中讀出需要上報的數(shù)據(jù),采用輪詢指針的方式,掃描子功能核1到子功能核N中FIFO是否為空;如某一子功能核FIFO不為空,則將數(shù)據(jù)讀出至發(fā)送引擎核的寄存器組中,然后等待第三個狀態(tài)機(jī)完成發(fā)送,發(fā)送完成后,則掃描下一個子功能核的FIFO;若該子功能核的FIFO為空,則掃描下一子功能核;完成輪詢后,第一個狀態(tài)機(jī)跳轉(zhuǎn)回掃描子功能核1。第二個狀態(tài)機(jī)的功能為CRC校驗值計算,當(dāng)檢測到第一個狀態(tài)機(jī)已完成FIFO讀取,該狀態(tài)機(jī)離開閑置狀態(tài),跳轉(zhuǎn)至計算對應(yīng)數(shù)據(jù)幀的CRC值;計算完成后等待第三個狀態(tài)機(jī)完成數(shù)據(jù)幀發(fā)送,并跳轉(zhuǎn)至閑置狀態(tài)。第三個狀態(tài)機(jī)為數(shù)據(jù)打包發(fā)送,當(dāng)檢測到第二個狀態(tài)機(jī)已完成CRC校驗值計算,并處于等待狀態(tài),則第三個狀態(tài)機(jī)離開閑置狀態(tài),將數(shù)據(jù)打包成相應(yīng)幀格式寫入到對應(yīng)的以太網(wǎng)通信核的發(fā)送FIFO中;完成后第三個狀態(tài)機(jī)回到閑置狀態(tài)。此時,第二、第三個狀態(tài)機(jī)同時回到閑置狀態(tài),第一個狀態(tài)機(jī)則繼續(xù)掃描。主協(xié)議發(fā)送引擎核的狀態(tài)圖如圖7所示。
2.1.3 子功能核設(shè)計
子功能核設(shè)計為兩種架構(gòu),第一種為帶有收發(fā)FIFO的子功能核,第二種為帶有雙口RAM的子功能核。第一種架構(gòu)的工作模式為檢測接收FIFO是否不為空,若不為空則跳轉(zhuǎn)讀出數(shù)據(jù),完成后跳轉(zhuǎn)一周期執(zhí)行,再跳轉(zhuǎn)到將數(shù)據(jù)寫入本模塊發(fā)送FIFO;第二種架構(gòu)的工作模式與第一組相似,其判斷條件為Received信號為1時,開始接收執(zhí)行功能流程。開關(guān)反饋核、開關(guān)控制核、緊急控制核、信息存儲核及時間同步核采用第一種架構(gòu)設(shè)計,模擬信號采集核采用第二種架構(gòu)設(shè)計,如圖8所示。
2.2 輔助健康管理系統(tǒng)設(shè)計
輔助健康管理系統(tǒng)(Assist Health Management,AHM)功能為監(jiān)測主控系統(tǒng)的實時工作狀態(tài)并將信息打包上傳至上位機(jī)進(jìn)行處理。AHM系統(tǒng)中使用集成ARM硬核的FPGA處理器完成系統(tǒng)管理,搭建CoreGPIO軟核實現(xiàn)溫度采集、主控系統(tǒng)配置狀態(tài)檢測功能,搭建CoreSPI軟核實現(xiàn)供電電壓采集,SIP控制系統(tǒng)生命周期信息記錄功能,搭建CoreUART實現(xiàn)主控系統(tǒng)心跳檢測,獲取主控系統(tǒng)軟件版本功能。
輔助健康管理系統(tǒng)的工作流程為:上電后首先初始化,由于FPGA芯片為Flash架構(gòu),初始化時間快于主控系統(tǒng),初始化完成后將SIP控制系統(tǒng)上次的工作狀態(tài)信息從FRAM中讀出,檢查主控系統(tǒng)的FPGA的配置狀態(tài),掃描主控系統(tǒng)的FPGA工作電壓采集模塊是否采集完成,若采集完成則讀取主控系統(tǒng)溫度傳感器溫度值,掃描主控系統(tǒng)心跳包,將SIP模塊數(shù)據(jù)更新存入FRAM中,完成一次工作循環(huán),返回到檢測FPGA配置狀態(tài)。上報數(shù)據(jù)是通過CAN模塊中斷,當(dāng)有上報需求時,將對應(yīng)數(shù)據(jù)打包上報。輔助健康管理系統(tǒng)的工作流程圖如圖9所示。
3 綜合及布線
主控系統(tǒng)使用Xilinx公司的Vivado開發(fā)環(huán)境進(jìn)行設(shè)計,使用Verilog HDL完成系統(tǒng)開發(fā),對系統(tǒng)進(jìn)行綜合,生成的主控系統(tǒng)邏輯層次圖如圖10所示。左上角為兩路以太網(wǎng)通信核EthernetMacCore_Unit1和EthernetMacCore_Unit2,右上角為主協(xié)議引擎核的發(fā)送與接收模塊,前綴都為MainCommander,左下角為開關(guān)控制核,右下角則為其他子功能核。
輔助健康管理系統(tǒng)采用Microsemi公司的Libreo Soc開發(fā)環(huán)境進(jìn)行設(shè)計,使用Verilog HDL完成系統(tǒng)開發(fā),對系統(tǒng)進(jìn)行綜合,RTL圖如圖11所示。
4 仿真及測試
4.1 仿真實驗
使用Verilog HDL完成各功能核設(shè)計后,通過編寫TestBench完成各功能核的邏輯正確性測試及仿真,以下是電氣控制組合SIP控制系統(tǒng)主要IP核的仿真試驗情況。
4.1.1 以太網(wǎng)核仿真
對以太網(wǎng)核進(jìn)行仿真時,模擬一幀以太網(wǎng)數(shù)據(jù)接收,在接收的同時將數(shù)據(jù)寫入緩存RAM中;接收完成后,進(jìn)行CRC32校驗;校驗通過后,進(jìn)行端口號以及IP號等匹配,并將數(shù)據(jù)從緩存RAM中讀出,然后寫入以太網(wǎng)接收核的FIFO中。仿真結(jié)果如圖12、圖13所示,滿足要求。
4.1.2 主協(xié)議引擎核仿真
分別對主協(xié)議引擎核中的接收引擎子核和發(fā)送引擎子核進(jìn)行數(shù)據(jù)流控制仿真,測試工作流程是否與圖6及圖7相符,仿真結(jié)果如圖14和圖15所示,滿足要求。
4.1.3 子功能核仿真
子功能核仿真時,選取帶FIFO的開關(guān)控制核進(jìn)行仿真。在接收完數(shù)據(jù)后,Control_Enable信號為1,驅(qū)動開關(guān)信號進(jìn)程,一個時鐘后,將發(fā)送數(shù)據(jù)寫入發(fā)送FIFO中,仿真結(jié)果如圖16所示,滿足要求。
4.2 性能測試
在Xilinx的Artix7系列的FPGA芯片平臺及MicroSemi SmartFusion2系列SOC芯片平臺上分別對主控系統(tǒng)及輔助健康管理系統(tǒng)設(shè)計在進(jìn)行了驗證,功能滿足設(shè)計要求。將SIP控制系統(tǒng)封裝成模塊(如圖17所示),并在某型號上面級電氣控制組合進(jìn)行性能測試,試驗環(huán)境如圖18所示。在PC運行測試上位機(jī)軟件模擬上面級計算機(jī)進(jìn)行性能測試,運行WireShark軟件進(jìn)行抓包測試。測試結(jié)果如圖19~圖21所示,其中圖19為上位機(jī)控制界面,圖20為使用WireShark捕捉的通信建立時發(fā)送ARP幀,圖21為PC在通信建立前后MAC表的變化,圖22為WireShark捕捉到的正常通信數(shù)據(jù)。測試結(jié)果表明設(shè)計滿足要求。
5 結(jié)論
本文開展了基于SIP理念的箭上上面級電氣控制組合設(shè)計與實現(xiàn)方法研究,并著重介紹了電氣控制組合內(nèi)部SIP控制系統(tǒng)設(shè)計與實現(xiàn)方法。簡要介紹了電負(fù)載管理中心的原理,詳細(xì)介紹了其SIP控制系統(tǒng)架構(gòu)設(shè)計及重要IP核設(shè)計,在Xilinx及Microsemi FPGA芯片平臺上進(jìn)行了驗證,并應(yīng)用于某型商業(yè)火箭上面級綜合電子系統(tǒng)。該方法在很小的體積內(nèi)實現(xiàn)了電氣控制組合主控系統(tǒng)、輔助健康管理系統(tǒng),并實現(xiàn)雙冗余光纖以太網(wǎng)通信,較傳統(tǒng)實現(xiàn)方法在體積、重量、性能、通信速率及成本等方面均有較大優(yōu)勢,具有較好的推廣價值。
參考文獻(xiàn)
[1] HU X,LIANG Q.Research on digital simulation of satellite integrated electronic system[C].IEEE International Conference on Control & Automation.IEEE,2014.
[2] 陸玉芳,黃敏,陳春海,等.微波隔離固態(tài)繼電器及其運行方法:中國,CN106067802A[P].2016-11-02.
[3] 孫兆偉,邢雷,徐國棟,等.基于可重構(gòu)技術(shù)的上面級航天器綜合電子系統(tǒng)[J].光學(xué)精密工程,2012,20(2):296-304.
[4] 朱源,韓峰,楊超.運載火箭上面級供配電一體化設(shè)計[J].現(xiàn)代防御技術(shù),2017,45(6).
[5] Xilinx Corporation.UltraFast design methodology guide for the vivado design suite[Z].2017.
[6] Xilinx Corporation.7 Series FPGAs GTP transceivers user guide[Z].2017.
[7] Microsemi Corporation.IGLOO2 and SmartFusion2 SoC FPGA datasheet[Z].2017.
[8] Microsemi Corporation.SmartFusion2 SoC FPGA product brief[Z].2017.
作者信息:
陸玉芳1,2,莊奕琪1,吳旋輝2
(1.西安電子科技大學(xué) 微電子學(xué)院,陜西 西安710071;2.桂林航天電子有限公司,廣西 桂林541002)