趙經(jīng)時(shí),史貴林,張靜怡,李一石
(北方自動(dòng)控制技術(shù)研究所,太原 030006)
一種雙層Powerlink網(wǎng)絡(luò)的網(wǎng)關(guān)
趙經(jīng)時(shí),史貴林,張靜怡,李一石
(北方自動(dòng)控制技術(shù)研究所,太原 030006)
描述了一種雙層Powerlink網(wǎng)絡(luò)的Powerlink網(wǎng)關(guān),用于解決不同層次實(shí)時(shí)以太網(wǎng)總線之間數(shù)據(jù)轉(zhuǎn)換以及不同網(wǎng)絡(luò)之間周期同步的問(wèn)題。其主要是解決了兩層實(shí)時(shí)Powerlink網(wǎng)絡(luò)通信時(shí)的周期不同步問(wèn)題,通過(guò)使用這一同步機(jī)制使下層Powerlink網(wǎng)絡(luò)在接入上層Powerlink網(wǎng)絡(luò)時(shí)能夠同步于上層網(wǎng)絡(luò),使每一個(gè)接入在同一上層網(wǎng)絡(luò)的下層網(wǎng)絡(luò)的動(dòng)作實(shí)際都與上層網(wǎng)絡(luò)保持同步,從而確保雙層網(wǎng)絡(luò)數(shù)據(jù)交互的正常進(jìn)行。
雙層Powerlink網(wǎng)絡(luò),網(wǎng)關(guān),周期同步
隨著我軍武器系統(tǒng)裝備的快速發(fā)展,有必要將信息系統(tǒng)與各種武器平臺(tái)連接為一個(gè)有機(jī)整體,組成初級(jí)戰(zhàn)術(shù)網(wǎng)使其互相滲透和緊密交融,快速協(xié)作完成“偵控打保評(píng)”過(guò)程,從而提升整體作戰(zhàn)效能。
考慮到火力控制的時(shí)敏特性和作戰(zhàn)指揮大量信息的需求,通信網(wǎng)絡(luò)要具備強(qiáng)實(shí)時(shí)和高帶寬的特點(diǎn),并且能實(shí)現(xiàn)網(wǎng)絡(luò)與總線的綜合集成。實(shí)時(shí)以太網(wǎng)的實(shí)時(shí)性和帶寬能夠滿足傳輸實(shí)時(shí)控制數(shù)據(jù)、感知數(shù)據(jù)、音視頻數(shù)據(jù)的需求,可用于火指控一體化設(shè)計(jì)。在諸多實(shí)時(shí)以太網(wǎng)技術(shù)中,Ethernet POWERLINK(EPL)以其出色的性能以及開(kāi)放的源代碼成為首選技術(shù)。
在基于單層Powerlink構(gòu)建出的火指控一體化的通信網(wǎng)絡(luò)架構(gòu)中,一體化平臺(tái)內(nèi)所有節(jié)點(diǎn)由Powerlink網(wǎng)絡(luò)實(shí)時(shí)連接,但這種結(jié)構(gòu)只適用于平臺(tái)內(nèi)部或小型系統(tǒng),平臺(tái)間的交互還是非實(shí)時(shí)的。有兩種方式解決平臺(tái)間的實(shí)時(shí)交互:
(1)多個(gè)平臺(tái)都接入在同一層Powerlink網(wǎng)絡(luò)中,在一個(gè)實(shí)時(shí)網(wǎng)絡(luò)中進(jìn)行信息交互。但是平臺(tái)內(nèi)部存在較大數(shù)量的通信節(jié)點(diǎn),在平臺(tái)間通過(guò)單層實(shí)時(shí)以太網(wǎng)通信時(shí),會(huì)導(dǎo)致同一網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)過(guò)多,使網(wǎng)絡(luò)本身的實(shí)時(shí)性無(wú)法滿足火控級(jí)需求。
(2)不同平臺(tái)通過(guò)兩層實(shí)時(shí)以太網(wǎng)連接,平臺(tái)內(nèi)由下層Powerlink網(wǎng)絡(luò)連接,平臺(tái)間和一些獨(dú)立設(shè)備由上層Powerlink網(wǎng)絡(luò)連接,完成戰(zhàn)術(shù)信息系統(tǒng)與實(shí)裝武器平臺(tái)的交聯(lián)和綜合集成。這種方式可以實(shí)時(shí)地實(shí)現(xiàn)多平臺(tái)協(xié)同控制技術(shù),雙層網(wǎng)絡(luò)可以通過(guò)網(wǎng)關(guān)連接,網(wǎng)關(guān)連接的兩級(jí)網(wǎng)絡(luò)中下層網(wǎng)絡(luò)為平臺(tái)內(nèi)部進(jìn)行同步和信息實(shí)時(shí)交互的Powerlink網(wǎng)絡(luò),僅用于平臺(tái)內(nèi)的數(shù)據(jù)可以不發(fā)送到上層網(wǎng)絡(luò),上層網(wǎng)絡(luò)為平臺(tái)間進(jìn)行周期同步和信息交互的網(wǎng)絡(luò),兩層網(wǎng)絡(luò)由Powerlink網(wǎng)關(guān)連接,組成一個(gè)上下兩層周期長(zhǎng)度不同,但能夠同步的信息交互系統(tǒng)。其中網(wǎng)關(guān)在下層網(wǎng)絡(luò)中作為主節(jié)點(diǎn)存在,上層網(wǎng)絡(luò)中節(jié)點(diǎn)主要由本網(wǎng)關(guān)和普通Powerlink從節(jié)點(diǎn)組成,組成戰(zhàn)斗協(xié)同網(wǎng)絡(luò)。
圖1 雙層網(wǎng)絡(luò)的結(jié)構(gòu)
圖2 雙層Powerlink網(wǎng)關(guān)的功能實(shí)現(xiàn)過(guò)程
雙層Powerlink網(wǎng)關(guān)可以將大量節(jié)點(diǎn)分散到多個(gè)不同網(wǎng)段中,并通過(guò)一個(gè)主網(wǎng)絡(luò)連接在一起,單個(gè)平臺(tái)內(nèi)部的節(jié)點(diǎn)分布在一個(gè)較小網(wǎng)絡(luò)內(nèi),解決了多平臺(tái)間通過(guò)Powerlink網(wǎng)絡(luò)互連時(shí),由于節(jié)點(diǎn)數(shù)過(guò)多導(dǎo)致通信周期過(guò)長(zhǎng)的問(wèn)題。具有以下功能:
(1)同一個(gè)設(shè)備內(nèi)存在兩個(gè)Powerlink節(jié)點(diǎn),并且是不同Powerlink網(wǎng)絡(luò)的節(jié)點(diǎn),在其中一個(gè)網(wǎng)絡(luò)中作主站,另一個(gè)網(wǎng)絡(luò)中作從站;
(2)兩層網(wǎng)絡(luò)間的周期具有相關(guān)性,并且通過(guò)Powerlink網(wǎng)關(guān)進(jìn)行同步;
(3)在未接入上層網(wǎng)絡(luò)時(shí),該網(wǎng)關(guān)可以作為下層網(wǎng)絡(luò)的主站獨(dú)立運(yùn)行,與普通主站作用一致。
所以雙層Powerlink網(wǎng)關(guān)的功能主要是:作為下層網(wǎng)絡(luò)的主站工作、在上下層網(wǎng)絡(luò)間轉(zhuǎn)發(fā)數(shù)據(jù)、對(duì)下層網(wǎng)絡(luò)周期進(jìn)行同步。
2.1 硬件設(shè)計(jì)
圖3 雙層powerlink網(wǎng)關(guān)硬件結(jié)構(gòu)
雙層Powerlink網(wǎng)關(guān),分為電源模塊、上層網(wǎng)絡(luò)從節(jié)點(diǎn)、下層網(wǎng)絡(luò)主節(jié)點(diǎn)3部分組成,硬件上主要包括MCU芯片,RAM,ROM,F(xiàn)PGA芯片,時(shí)鐘,F(xiàn)LASH,SRAM,PHY芯片,電源等,硬件上與普通Powerlink主站或從站區(qū)別不大。
2.2 普通Powerlink協(xié)議棧
雙層Powerlink網(wǎng)關(guān)最基本的作用就是分別作為上層網(wǎng)絡(luò)從站和下層網(wǎng)絡(luò)主站,其在單層Powerlink網(wǎng)絡(luò)中的作用與普通Powerlink協(xié)議棧相同。Powerlink網(wǎng)絡(luò)的同步是通過(guò)每周期開(kāi)始時(shí)的SOC幀完成的:若配置Powerlink網(wǎng)絡(luò)的周期為T(mén)0,主節(jié)點(diǎn)在產(chǎn)生第一個(gè)SOC幀之后,計(jì)時(shí)器記錄經(jīng)過(guò)一個(gè)周期T0的時(shí)間,主節(jié)點(diǎn)會(huì)再產(chǎn)生一個(gè)SOC幀,同時(shí)將計(jì)時(shí)器的寄存器記錄的時(shí)長(zhǎng)清零,開(kāi)始下一個(gè)周期,每一個(gè)從節(jié)點(diǎn)都以其接收到SOC幀作為執(zhí)行動(dòng)作的同步時(shí)間,也作為這一個(gè)周期的開(kāi)始,整個(gè)網(wǎng)絡(luò)實(shí)現(xiàn)同步。
在檢測(cè)不到上層網(wǎng)絡(luò)存在時(shí),雙層Powerlink網(wǎng)關(guān)作為下層網(wǎng)絡(luò)的主節(jié)點(diǎn),使用本身的時(shí)鐘和計(jì)時(shí)器產(chǎn)生SOC幀完成本網(wǎng)段的同步過(guò)程,其過(guò)程與普通的Powerlink網(wǎng)絡(luò)同步過(guò)程過(guò)程一致。
雙層Powerlink網(wǎng)關(guān)的上層網(wǎng)絡(luò)從節(jié)點(diǎn)部分作為普通從節(jié)點(diǎn)在上級(jí)網(wǎng)絡(luò)進(jìn)行周期同步,過(guò)程與現(xiàn)有的Powerlink網(wǎng)絡(luò)同步過(guò)程一致。
2.3 雙層Powerlink網(wǎng)絡(luò)數(shù)據(jù)交互過(guò)程
雙層Powerlink網(wǎng)關(guān)的核心功能是雙層網(wǎng)絡(luò)間的數(shù)據(jù)交互,當(dāng)雙層Powerlink網(wǎng)關(guān)接收到上層Powerlink網(wǎng)絡(luò)的SOC幀時(shí),將這一時(shí)間作為上下層各個(gè)設(shè)備動(dòng)作的同步時(shí)間。在上層網(wǎng)絡(luò)從節(jié)點(diǎn)部分接收到SOC幀時(shí),F(xiàn)PGA芯片產(chǎn)生一個(gè)時(shí)間中斷(IRQ),將這一中斷信號(hào)接入到下層主節(jié)點(diǎn)MCU的CPU中斷上,這一中斷觸發(fā)以下3個(gè)過(guò)程:
(1)從寄存器中讀取計(jì)時(shí)器的當(dāng)前值,這一值為上一SOC幀產(chǎn)生之后到此時(shí)的時(shí)長(zhǎng)ΔT;
(2)將數(shù)據(jù)幀中預(yù)設(shè)的一個(gè)標(biāo)志位IRQ標(biāo)志位置1,表明接收到了同步信號(hào)。
(3)以這一信號(hào)為起始點(diǎn)開(kāi)始下一個(gè)大周期(上層網(wǎng)絡(luò)周期)的周期同步和數(shù)據(jù)交互,數(shù)據(jù)交互通過(guò)上下層主控單元對(duì)DPRAM進(jìn)行讀寫(xiě)操作進(jìn)行,其中分為3種情況(T0為下層網(wǎng)絡(luò)周期時(shí)長(zhǎng)):
①當(dāng)T0-ΔT≤10 μs時(shí),下層網(wǎng)絡(luò)的動(dòng)作時(shí)間相對(duì)上層網(wǎng)絡(luò)有一個(gè)較小的延遲;下發(fā)過(guò)程:上層從節(jié)點(diǎn)在自身接收SOC幀的ΔT時(shí)刻后將下發(fā)數(shù)據(jù)寫(xiě)入下層主節(jié)點(diǎn),下層主節(jié)點(diǎn)在一個(gè)下層周期后將數(shù)據(jù)發(fā)送到下層網(wǎng)絡(luò)上;上報(bào)過(guò)程:下層主節(jié)點(diǎn)在接到上層時(shí)間中斷后,在收到下層網(wǎng)絡(luò)的第二個(gè)SOC時(shí)將下層網(wǎng)絡(luò)數(shù)據(jù)寫(xiě)入上層從節(jié)點(diǎn),上層從節(jié)點(diǎn)在一個(gè)上層周期后將數(shù)據(jù)發(fā)送到上層網(wǎng)絡(luò)上;
②當(dāng)ΔT≤10 μs時(shí),下層網(wǎng)絡(luò)的動(dòng)作時(shí)間相對(duì)上層網(wǎng)絡(luò)有一個(gè)較小的超前;下發(fā)過(guò)程:上層從節(jié)點(diǎn)在自身接收SOC幀后立刻將下發(fā)數(shù)據(jù)寫(xiě)入下層主節(jié)點(diǎn),下層主節(jié)點(diǎn)在一個(gè)下層周期后將數(shù)據(jù)發(fā)送到下層網(wǎng)絡(luò)上;上報(bào)過(guò)程:下層主節(jié)點(diǎn)在接到上層時(shí)間中斷后,在收到下層網(wǎng)絡(luò)的下一個(gè)SOC時(shí)將下層網(wǎng)絡(luò)數(shù)據(jù)寫(xiě)入上層從節(jié)點(diǎn),上層從節(jié)點(diǎn)在一個(gè)上層周期后將數(shù)據(jù)發(fā)送到上層網(wǎng)絡(luò)上;
③當(dāng)ΔT≥10 μs且T0-ΔT≥10 μs時(shí),下層網(wǎng)絡(luò)的動(dòng)作時(shí)間相對(duì)上層網(wǎng)絡(luò)完全不同步,需要通過(guò)舍棄下層網(wǎng)絡(luò)一個(gè)周期的時(shí)間進(jìn)行同步;下發(fā)過(guò)程:上層從節(jié)點(diǎn)在自身接收SOC幀后立刻將下發(fā)數(shù)據(jù)寫(xiě)入下層主節(jié)點(diǎn),下層主節(jié)點(diǎn)在一個(gè)下層周期后將數(shù)據(jù)發(fā)送到下層網(wǎng)絡(luò)上;上報(bào)過(guò)程:下層主節(jié)點(diǎn)在接到上層時(shí)間中斷后,在收到下層網(wǎng)絡(luò)的下一個(gè)SOC時(shí)將下層網(wǎng)絡(luò)數(shù)據(jù)寫(xiě)入上層從節(jié)點(diǎn),上層從節(jié)點(diǎn)在一個(gè)上層周期后將數(shù)據(jù)發(fā)送到上層網(wǎng)絡(luò)上。
2.4 周期同步過(guò)程
在數(shù)據(jù)交互過(guò)程中,上層網(wǎng)絡(luò)還要對(duì)每一個(gè)下層網(wǎng)絡(luò)的運(yùn)行周期進(jìn)行同步,雙層Powerlink網(wǎng)關(guān)通過(guò)調(diào)整下層網(wǎng)絡(luò)每周期的開(kāi)始時(shí)間完成上下層周期的同步過(guò)程,下層周期開(kāi)始時(shí)間的調(diào)整由下層主節(jié)點(diǎn)中計(jì)時(shí)器Timer的時(shí)間中斷中添加的一個(gè)判決機(jī)制完成,判決流程如下(T為計(jì)時(shí)器當(dāng)前計(jì)時(shí)時(shí)長(zhǎng),T0為下層網(wǎng)絡(luò)周期時(shí)長(zhǎng)):
圖4 調(diào)整同步周期的判決流程
(1)判斷是否接到了上層的時(shí)間中斷(IRQ標(biāo)志位是否為1),若未接收到中斷,轉(zhuǎn)到步驟(2),若接收到中斷,轉(zhuǎn)到步驟(3);
(2)IRQ標(biāo)志位為0時(shí),將計(jì)時(shí)器的計(jì)時(shí)周期T更新為T(mén)=T0,下一個(gè)SOC幀在T0時(shí)間后產(chǎn)生,然后轉(zhuǎn)到步驟(9);
(3)IRQ標(biāo)志位為0時(shí),判斷ΔT的大小,當(dāng)ΔT≤10 μs(這一參數(shù)取決于網(wǎng)絡(luò)特性,可根據(jù)網(wǎng)絡(luò)參數(shù)調(diào)整)時(shí),此時(shí)下層周期相對(duì)上層周期超前ΔT,轉(zhuǎn)到步驟(4),當(dāng)ΔT>10 μs時(shí),轉(zhuǎn)到步驟(5);
(4)將計(jì)時(shí)器的計(jì)時(shí)周期T更新為T(mén)=T0+ΔT,轉(zhuǎn)到步驟(8);
(5)判斷T0-ΔT的大小,當(dāng)T0-ΔT≤10 μs時(shí),此時(shí)下層周期相對(duì)上層周期滯后T0-ΔT,轉(zhuǎn)到步驟(6),當(dāng)T0-ΔT>10 μs,上下層周期之間同步差距較大,轉(zhuǎn)入步驟(7);
(6)將計(jì)時(shí)器的計(jì)時(shí)周期T更新為T(mén)=ΔT,在計(jì)時(shí)T之后產(chǎn)生SOC幀,轉(zhuǎn)到步驟(8);
(7)為避免對(duì)下層網(wǎng)絡(luò)傳輸造成較大干擾,將下層網(wǎng)絡(luò)空閑一個(gè)周期作為緩沖,計(jì)時(shí)器的計(jì)時(shí)周期T更新為T(mén)=2T0-ΔT,在計(jì)時(shí)T之后產(chǎn)生SOC幀,轉(zhuǎn)到步驟(8);
(8)置零IRQ標(biāo)志位,轉(zhuǎn)到步驟(9);
(9)啟動(dòng)計(jì)時(shí)器,完成同步過(guò)程。
Powerlink實(shí)時(shí)以太網(wǎng)的應(yīng)用可以有效地促進(jìn)任務(wù)網(wǎng)和控制網(wǎng)的融合,實(shí)現(xiàn)平臺(tái)內(nèi)部的單一總線通信。但是在需要多平臺(tái)間協(xié)同時(shí),如果采用單層網(wǎng)絡(luò),過(guò)多的節(jié)點(diǎn)數(shù)會(huì)導(dǎo)致整個(gè)網(wǎng)絡(luò)實(shí)時(shí)性的下降,為保證整個(gè)系統(tǒng)的實(shí)時(shí)性,將網(wǎng)絡(luò)分為兩層是一種行之有效的手段。該雙層Powerlink網(wǎng)關(guān)實(shí)現(xiàn)了兩層網(wǎng)絡(luò)分別以不同的周期同步運(yùn)行,在本層網(wǎng)絡(luò)中實(shí)時(shí)的傳輸數(shù)據(jù),同時(shí)在網(wǎng)絡(luò)間實(shí)時(shí)的交互數(shù)據(jù)。
[1]宋華振.Ethernet POWERLINK在機(jī)器控制領(lǐng)域的應(yīng)用[J].中國(guó)儀器儀表,2011,22(3):44-47.
[2]林丹,王文海.基于EPL的上位機(jī)通信[J].吉林大學(xué)學(xué)報(bào),2011,41(7):314-318.
[3]劉科峰,徐晶,趙夢(mèng)欣.2008.實(shí)時(shí)以太網(wǎng)研究與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2008,25(3):46-47.
[4]GB/T-27960-2011.以太網(wǎng)Powerlink通信行規(guī)規(guī)范[S].北京:總裝備部,2012,3.
[5]謝希仁.計(jì)算機(jī)網(wǎng)絡(luò)(第五版)[M].北京:電子工業(yè)出版社,2008.
A Gateway of Two-level Powerlink Network
ZHAO Jing-shi,SHI Gui-lin,ZHANG Jing-yi,LI Yi-shi
(North Automatic Contol Technology Institute,Taiyuan 030006,China)
This paper describes a gateway of two-level Powerlink network for solving the problems of data conversion among real-time Ethernet bus of different level and periodic non-synchronous communication among various networks.By using this synchronous mechanism,lower-level Powerlink network can synchronous access to upper-level Powerlink network,that is to say,those accessing to upper-level network communication nodes in lower-level network which will keep synchronous operation with the upper-level Powerlink network to ensure data interaction of two-level Powerlink network.
two-level Powerlink network,gateway,periodic synchronous
TP393
A
1002-0640(2015)07-0180-04
2014-06-10
2014-07-07
趙經(jīng)時(shí)(1989- ),男,山西侯馬人,在讀研究生。研究方向:嵌入式設(shè)計(jì)。