999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

國產化操作系統Reworks的嵌入式網關軟件設計

2017-03-31 01:23:53王帥杜剛陳琪
單片機與嵌入式系統應用 2017年3期
關鍵詞:嵌入式

王帥,杜剛,陳琪

(中國電子科技集團公司 第十研究所 通信事業部,成都 610036)

國產化操作系統Reworks的嵌入式網關軟件設計

王帥,杜剛,陳琪

(中國電子科技集團公司 第十研究所 通信事業部,成都 610036)

隨著航空平臺信息化程度的提高,機載任務系統需要采用TCP/IP協議與地面系統進行無線組網,本文基于國產化操作系統Reworks設計了一套可復用嵌入式網關軟件框架,在不增加硬件成本條件下,對現有機載通信設備進行軟件升級實現IP支持能力,將機載任務以太網與通信設備高速互聯,通過無線網絡接入地面系統,實現了空地一體化IP組網通信。此技術已經在某型通信系統中得到了成功的應用。

嵌入式網關;Reworks;空地IP網絡通信

引 言

隨著航空平臺信息化程度的不斷提高,機載任務系統往往需要采用TCP/IP協議與地面系統各個節點實現空地網絡互聯。傳統的機載通信設備沒有無線IP支持能力,需要進行適應性改造,在已裝備的設備模塊中嵌入網關軟件,完成以太網數據的封裝,通過機載無線通信網絡與地面系統構成IP組網連接。

網關是將兩個使用不同協議的網絡連接在一起的設備,不僅具有路由的功能,還能在兩個不同的協議集之間進行轉換,從而使不同的網絡能夠互聯通信。嵌入式網關采用嵌入式處理器作為硬件平臺,嵌入式操作系統作為軟件平臺,具有體積小、開銷小、功耗低、可靠性好等特點[1]。近年來,機載通信設備逐步采用模塊綜合化、通用化設計,外部總線種類繁多,有以太網、1553、RapidIO、FC等,研發一套通用的嵌入式網關軟件框架,通過軟件升級實現設備的IP無線通信支持,適應各類外部總線連接,有利于產品復用,節省研發成本。

目前的機載通信設備IP化改造方案[3-4]采用嵌入式網關軟件實現,當某一節點的IP應用需要向其他節點的應用發送數據時,發送端會使用本機的TCP/IP協議棧進行IP路由,配置接收端IP地址與發送端IP地址不在同一網段,發送端會直接將需要發送出去的數據包發送給網關,網關軟件將此數據包的IP數據取出,按照無線鏈路協議傳輸的要求發送到地面,地面接收端網關再把該數據進行還原處理后送給地面網絡,實現原理如圖1所示。

圖1 已有機載通信系統嵌入式網關實現架構

從圖1中可以看出,目前已有的嵌入式網關工作在TCP/IP協議的網絡層,利用不同網段的網關路由功能實現IP報文轉發,由嵌入式網關軟件(如DTE模塊[3])對IP報文進行無線鏈路格式封裝,來處理數據鏈路層的ARP及RARP報文,因此需要發送和接收端計算機的IP地址必須處于不同網段內,對實際應用有一定的限制。

Reworks操作系統[2]是華東計算技術研究所自主研發的一個嵌入式實時操作系統,在機載通信設備中已逐步推廣應用,本文在分析Reworks網絡驅動的工作機制及TCP/IP協議基礎上,成功設計實現一種基于Reworks的嵌入式網關軟件架構,與現有系統相比,可以支持以太網物理層上的各層協議,不再限制機載、地面IP地址必須配置在不同網段,為改造已有通信設備及綜合化通信設備增加IP能力的應用奠定了基礎。

1 關鍵技術

1.1 技術原理

機載嵌入式網關將任務以太網的原始網絡數據包封裝在機載RapidIO高速通信總線的數據幀中,發送給通信設備模塊,將來自通信設備模塊上報的地面數據包提取出以太網數據幀信息,發送到機載任務以太網,從而實現原始以太網數據包在空地VHFKaKu等無線網絡傳輸的目的。要做到這一點,首先要對以太網的數據幀結構有一定的理解,并且需要分析如何基于Reworks操作系統收發以太網原始報文技術。

1.2 以太網數據結構

圖2 以太網數據幀結構示意圖

在整個計算機網絡通信中,TCP/IP是一個層次協議集,包括應用層、傳輸層、網絡層、鏈路層。在TCP/IP協議的分組中,網絡層是IP協議實現的基礎,包含IP、ICMP、IGMP等協議,數據鏈路層提供了ARP和RARP協議,實現邏輯地址(即IP地址)與物理地址的相互轉換,整個TCP/IP協議的原始報文結構如圖2所示。

以太網數據幀頭部2字節的幀類型指定了數據正文承載的具體協議,常見的有IP報文(0x0800)、ARP協議和RARP協議(0x0806)。ARP全稱為地址解析協議,完成IP地址到MAC地址的映射轉換。在以太網中,當一臺主機需要向另外一臺主機發送消息時,會首先在自己本地的ARP緩存表中根據目的主機IP地址查找其對應MAC地址,如果找到了則直接向其發送消息。如果未找到,則會在全網發送一個ARP廣播查詢,該消息會被以太網中所有主機接收到,被查詢的目的主機會對這個消息進行響應,然后將自己的MAC地址通告給發送者。

為實現同一網段及不同網段的網絡互聯互通,需要將完整的以太網幀報文,即包括ARP、RARP協議的報文封裝到無線鏈路報文中進行傳輸。基于不同的操作系統平臺,可以有不同的技術路徑選擇,如基于Linux平臺可以采用鏈路層原始套接字或libnet、libcap等開源網絡開發庫,由于Reworks對原始套接字支持不夠,因此在研究Reworks的網絡驅動MUX接口工作機制[2]的基礎上,采取了改造網絡驅動,通過掛接回調鉤子方法實現對原始網絡報文的操作。

1.3 MUX網絡接口

Reworks使用了可裁減增強網絡協議棧SENS(Scalable Enhanced Network Stack),SENS協議棧層次如圖3所示。SENS和傳統的TCP/IP網絡協議棧相似,在數據鏈路層和網絡協議層之間多了一個網絡驅動接口層 MUX(Multiplexer),主要目的是把網絡接口驅動和協議層實現隔離分開,使得網絡接口驅動和協議層彼此基本保持獨立。例如在收到一個包后,網絡驅動程序并不直接訪問協議層數據結構,而是調用MUX提供的函數將數據傳送給協議層。

MUX提供了一系列API接口函數:muxBind;muxUnbind;muxDevLoad;muxDevUnload;muxReceive;muxError;muxSend;muxTxRestartRtn;muxMcastAddrDel;muxMcastAddrGet;PollSend;muxMcastAddrAdd;muxPollReceive;muxIoctrl。

1.3.1 截獲以太網數據幀

圖3 SENS網 絡協議棧

當網絡驅動通過中斷接收到以太網數據時,會調用muxReceive函數通知協議層處理,為抓取原始報文,采用掛接鉤子函數方法,編寫了一個鉤子模塊嵌入網絡驅動代碼中,完成抓取以太網報文的功能。軟件運行后,由該模塊向網絡驅動注冊監聽以太網接口數據的回調函數,用該回調函數對接收到的數據包進行處理。注冊接收處理以太網數據函數原型如下:

STATUS etherInputHookAdd(FUNCPTR inputHook, char* pName, int unit)

被注冊的接收處理以太網數據包回調函數原型如下:

BOOL inputHook(struct ifnet *pIf, char *buffer, int length);

在網絡驅動接收數據處增加調用鉤子函數的代碼模板:

xxxRecv (){

if ((etherInputHookRtn != NULL) && (* etherInputHookRtn) (&ls->ls_if, (char *)eh, len))

return;

}

1.3.2 發送以太網數據幀

當協議層需要將數據發送到網絡驅動時,會調用muxSend函數通知網絡驅動進行處理,因此直接調用muxSend函數可以將報文發送到以太網,函數原型為:

STATUS muxSend(void* pCookie, M_BLK_ID pNBuff);

其中第二個參數是網絡緩沖區池管理數據結構,使用MUX層收發數據時,原始數據都需要放到該數據結構管理的緩沖區中,收發時傳遞該緩沖區的mBlk指針。

Reworks使用mBlk和clBlk結構來管理網絡協議和驅動之間交互數據的緩沖區,用戶通過mBlk結構來訪問和傳遞由netPoolInit()函數建立的內存池中存放的數據,通過mBlk的管理,網絡層不需要拷貝數據就可以進行數據交換,mBlk結構具有鏈接性,可以傳遞任意大小的數據,如圖4所示。使用的API函數包括:

netClusterGet,申請一塊簇緩沖區;

netClBlkGet,申請一塊clBlk結構;

netMblkGet,申請一個mBlk 結構;

netClBlcJoin,把簇緩沖區添加到clBlk結構中;

netMblkClJoin,把clBlk結構添加到mBlk結構中。

圖4 mBlk管理的網絡緩沖區

在嵌入式網關軟件中,將構造mBlk和調用muxSend函數發送原始數據的功能封裝為獨立的模塊,從無線鏈路上收到以太網數據后,通過該模塊將數據發送到任務以太網,屏蔽了MUX函數的復雜使用細節。

2 軟件設計

2.1 功能要求

① 能夠適應各類通信總線環境,將機載通信設備升級完善為無線IP網關;

② 通過內部總線(如RapidIO或者SPI等接口)與通信模塊互聯,接收和發送無線網絡上的數據,與機載任務以太網實現互聯;

③ 空中節點能通過IP網絡與地面互相Ping通;

④ 空地之間可以通過FTP文件傳輸工具傳輸文件。

2.2 系統組成

在實驗室搭建了一套嵌入式網關的驗證系統,如圖5所示,其中任務計算機為普通商用計算機,機載通信設備采用某型機載通信模塊(上下行速率為512 kbps),嵌入式網關軟件部署在接口模塊,與機載通信模塊采用RapidIO總線互聯,硬件配置采用P4080為處理核心,并配置有1 GB DDR、256 MB FLASH、兩個千兆光纖網口,操作系統為Reworks。

圖5 嵌入式網關驗證系統組成

2.3 工作原理

當機載任務以太網上某節點的任務計算機上的IP應用需要向地面的任務計算機發送數據時,會先發送ARP報文詢問地面任務計算機的MAC地址,接口模塊網關軟件截獲到ARP報文后,將此數據包取出,增加RapidIO總線的鏈路層頭信息,使用RapidIO網絡將數據轉發到機載通信模塊,通過射頻無線通信網絡傳輸到地面通信模塊,地面接口模塊網關軟件收到報文后,對數據進行還原處理,去掉RapidIO鏈路層頭數據,解析提取出以太網數據,發送到地面任務計算機,地面任務計算機使用自身的MAC地址應答ARP,并經鏈路發送至機載任務計算機,ARP建立了連接后,機載和地面節點就能夠采用IP協議進行正確的網絡路由通信,通信中的以太網數據都由網關軟件進行格式化封裝及解析,與通信模塊之間經RapidIO總線進行收發。

2.4 軟件設計

對現有某型機載通信設備的接口模塊上部署嵌入式網關軟件,運行環境為 Reworks操作系統,完成機載通信設備升級改造支持無線網關的功能。

2.4.1 軟件架構

嵌入式網關軟件主要由網關基礎框架模塊、網關應用模塊組成,分別包含的類如圖6所示,軟件架構類圖如圖7所示,其中網關基礎框架模塊基于通用化設計,可以應用于包括衛星通信、高速電臺等其他機載通信設備應用場景。

圖6 網關軟件框架模塊圖

圖7 網關軟件架構類圖

(1) 網關基礎框架模塊

軟件運行后,首先由該模塊向網絡驅動中注冊接收以太網幀數據的監聽函數,由該函數監聽接收到的數據包,交給CEthPackPeekMgr放入接收以太網幀數據處理模塊的消息隊列中,分發給CEthPackPeek類,通知CNetGateBase派生的網關類進行處理,由用戶實現的過濾規則類對數據包進行過濾,判斷是否需要發送,如需要則將數據組成無線鏈路格式報文發送給機載通信模塊。

該模塊包含的類及主要功能如表1所列。

表1 網關基礎框架模塊主要類說明

(2) 網關應用模塊

網關應用模塊是使用嵌入式網關基礎框架模塊的一個特定應用實現,主要完成對以太網截獲數據包的過濾、封裝發送到通信模塊,并接收讀取從通信模塊送來的鏈路層數據,將RapidIO鏈路層頭信息去掉,將數據從網卡發送出去,本驗證系統中主要由負責RapidIO數據收發的CRapidIOChannel類以及網關應用CSatIPNetGate類組成。

2.4.2 處理流程

嵌入式網關軟件主要的兩個流程分別完成以太網接收數據的處理和無線鏈路接收數據的處理,以太網接收數據處理流程如圖8所示,無線鏈路接收數據處理流程如圖9所示。

圖8 以太網接收數據處理流程

圖9 無線鏈路接收數據處理流程

3 系統測試

系統測試包括連通性測試、可靠性測試和性能測試,可以從功能和性能兩個方面對網關進行較為全面的了解,測試環境機載、地面通信模塊采用中頻射頻直連方式通信。

3.1 連通性測試

連通性測試的主要目的是驗證通過網關是否能夠使機載任務以太網與地面任務以太網正常通信。測試方法主要使用Ping命令,即在機載任務計算機上Ping地面任務計算機,所有測試均以1萬包為樣本,每包發送間隔為20 ms,測試結果如表 2所列。

表2 機載地面連通性測試結果

使用EtherPeek抓包軟件在地面任務計算機上進行抓包,能夠抓到機載任務計算機IP 192.168.8.101發送到地面任務計算機IP 192.168.8.102的ICMP報文。由實驗結果可知,網關實現了機載地面的IP網絡互聯通信,達到了設計要求,回環時延主要產生在信道編解碼和鏈路協議處理,包長達到1500字節時出現丟包,是因為1500字節用戶速率已達到585 kbps,超過了信道最大速率512 kbps。

3.2 可靠性測試

可靠性測試主要目的是測試網關在長時間工作條件下,功能是否能夠保持正常以及數據傳輸的正確性。測試程序是編寫Tcp/Udp測試工具,在機載和地面任務計算機上運行,互相發送隨機大小的數據報文(64~1000字節),經測試,本實驗平臺系統在長時間(24小時)不間斷運行一直處于正常狀態,未出現程序死機崩潰、報文大量丟失等現象,這說明網關軟件在可靠性方面基本達到要求。

3.3 性能測試

性能測試主要目的是測量機載地面IP網絡的數據傳輸速度,采用FTP文件傳輸工具,傳輸不同大小的文件進行比較,經測試,10 MB文件傳輸速率約為38 kbps。

結 語

本文描述了基于國產化操作系統Reworks設計通用嵌入式網關軟件框架的方法,在實驗室搭建了由2個節點組成的無線網絡環境,在該環境上測試了機載、地面通信設備通過IP組網的連通性、可靠性、性能測試。實驗結果表明:此種方式可實現無線IP空地組網,在設備中增加嵌入式網關軟件,可以實現對已有通信設備的功能擴展,增強了IP通信能力,提高了通信設備的應用范圍,擴充了各個組網節點間傳輸的業務數據。

[1] 李向明,王火智,劉明蘭.基于S3C2410的嵌入式網關的設計與研究[J].可編程控制器與工廠自動化,2007(2):65.

[2] 謝彬.ReWorks/ReDe嵌入式實時操作系統及開發環境產品白皮書,中國電子科技集團公司第三十二研究所,2013.

[3] 劉宏波.基于CORBA的機載通信系統的研究與實現[D].成都:西南交通大學,2008.

[4] 杜剛,張遠利.基于IP傳輸的空地遙控系統設計[J].電訊技術,2012,52(6):853-857.

王帥(軟件系統架構設計師),主要研究方向為嵌入式軟件架構、網絡通信;杜剛(工程師),主要研究方向為嵌入式軟件開發;陳琪(高級工程師),主要研究方向為嵌入式系統開發。

Embedded Gateway Software Design Based on Reworks

Wang Shuai,Du Gang,Chen Qi

(Communications Department,China Electronics Technology Group Corporation No.10 Research Institute,Chengdu 610036,China)

With the improvement of the information degree of the aviation platform,the airborne mission system needs to use the TCP/IP protocol and the ground system to carry on the wireless network.In this paper,a reusable embedded gateway software framework is designed based on the localization operating system Reworks.Without increasing hardware cost,the software of airborne communication equipment is upgraded to achieve IP support capability,the airborne mission Ethernet and the communication equipment are interconnected.The integrated air-ground IP network communication is realized through the wireless network access to the ground system.This technology has been successfully used in a certain type of communication system.

embedded gateway;Reworks;air ground IP network communication

TP393

A

?士然

2016-11-28)

猜你喜歡
嵌入式
Focal&Naim同框發布1000系列嵌入式揚聲器及全新Uniti Atmos流媒體一體機
TS系列紅外傳感器在嵌入式控制系統中的應用
電子制作(2019年7期)2019-04-25 13:17:14
基于嵌入式Linux內核的自恢復設計
嵌入式系統通信技術的應用
電子制作(2018年18期)2018-11-14 01:48:16
嵌入式PLC的設計與研究
電子制作(2018年16期)2018-09-26 03:27:18
搭建基于Qt的嵌入式開發平臺
基于嵌入式系統Windows CE的應用程序開發
嵌入式單片機在電機控制系統中的應用探討
電子制作(2017年8期)2017-06-05 09:36:15
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
Altera加入嵌入式視覺聯盟
主站蜘蛛池模板: 亚洲精品老司机| 伊人成人在线视频| 欧美亚洲一区二区三区在线| 在线五月婷婷| 伊人久久福利中文字幕| 欧美中文一区| 色婷婷成人| 五月激情婷婷综合| 国产亚洲视频中文字幕视频| 国产污视频在线观看| 亚洲精品成人片在线播放| 久久国产精品波多野结衣| 无码高潮喷水在线观看| 亚洲成人高清无码| 国产成人精品2021欧美日韩| 亚洲首页在线观看| 国产乱子伦无码精品小说| 国产精品一区在线麻豆| 国产精品无码制服丝袜| 高h视频在线| 亚洲精品无码av中文字幕| 中日韩一区二区三区中文免费视频| 国产成人精品在线1区| 伊人91在线| 超碰免费91| 四虎成人免费毛片| 91国内外精品自在线播放| 蜜臀AVWWW国产天堂| 波多野衣结在线精品二区| 国产欧美日韩精品综合在线| 人妻无码中文字幕第一区| 亚洲综合第一页| 又大又硬又爽免费视频| 欧美成a人片在线观看| 91欧美在线| 中文字幕精品一区二区三区视频| 精品国产三级在线观看| 日韩欧美在线观看| 又黄又爽视频好爽视频| 婷婷六月色| 欧美国产在线一区| 国产亚洲欧美另类一区二区| 高清码无在线看| 成人av专区精品无码国产 | 亚洲精品无码高潮喷水A| 特级欧美视频aaaaaa| 欧美精品黑人粗大| 91色综合综合热五月激情| 国产尤物jk自慰制服喷水| 99在线视频免费观看| 真实国产乱子伦视频| 国产高清精品在线91| 久久精品国产一区二区小说| 一级香蕉人体视频| 91福利片| 精品视频在线观看你懂的一区| 乱码国产乱码精品精在线播放| 国产第一福利影院| 亚洲三级片在线看| 亚洲品质国产精品无码| www.91中文字幕| 亚洲精品中文字幕午夜| a毛片在线播放| 欧美亚洲综合免费精品高清在线观看| 99精品热视频这里只有精品7| 波多野结衣中文字幕一区| 国产丰满成熟女性性满足视频| jizz国产视频| 一级毛片免费观看不卡视频| 国产成人麻豆精品| 欧洲成人在线观看| www.日韩三级| 91福利在线看| 永久免费AⅤ无码网站在线观看| 亚洲中文字幕久久无码精品A| 亚洲精品国产自在现线最新| 无码福利日韩神码福利片| 巨熟乳波霸若妻中文观看免费| 色九九视频| 亚洲综合国产一区二区三区| 国产午夜不卡| 99久久性生片|