《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > AFDX網絡端系統數據接收方法研究與實現
AFDX網絡端系統數據接收方法研究與實現
來源:微型機與應用2013年第21期
劉智武,白 楊,何向棟
(中國航空計算技術研究所,陜西 西安 710119)
摘要: AFDX網絡端系統實現符合ARINC664P7協議的網絡數據的傳輸功能,在AFDX網絡端系統數據接收方面,總結了AFDX網絡數據的特點,分析了查詢接收方式和中斷接收方式各自的不足,設計并實現了一種基于查詢和中斷的混合式數據接收方法。該方法在保證查詢接收方式高效的前提下,有效降低了對主機系統處理器資源的占用,并解決了中斷接收方式引起的丟包問題。
Abstract:
Key words :

摘  要: AFDX網絡端系統實現符合ARINC664P7協議的網絡數據的傳輸功能,在AFDX網絡端系統數據接收方面,總結了AFDX網絡數據的特點,分析了查詢接收方式和中斷接收方式各自的不足,設計并實現了一種基于查詢和中斷的混合式數據接收方法。該方法在保證查詢接收方式高效的前提下,有效降低了對主機系統處理器資源的占用,并解決了中斷接收方式引起的丟包問題。
關鍵詞: AFDX端系統;數據接收方法;查詢;中斷

 AFDX網絡端系統實現符合ARINC664P7協議標準的數據傳輸接口功能,支持主機系統接入AFDX網絡。一般情況下,AFDX網絡端系統以接口卡的形式與主機系統連接,并支持主機系統發送和接收AFDX網絡數據。數據的接收一般在主機系統端通過軟件完成,主機端軟件通過查詢或者中斷的方式接收網絡數據。采用查詢的方式增加了主機系統的負載;中斷的方式降低了系統的負載,但是頻繁的數據接收中斷會存在中斷嵌套及覆蓋的情況,導致中斷的丟失現象,引起數據丟包的問題。針對這些問題,本文提出了一種中斷和查詢結合的數據接收方法,減輕主機系統負載的同時,避免了由于中斷丟失而引起的數據丟包問題。
1 AFDX網絡端系統通信分析
 AFDX網絡在以太網的基礎上發展而來,在以太網的基礎上增加了確定性及雙通道的約束,提高了數據傳輸的可靠性,保證了數據傳輸的確定性。在以AFDX網絡為核心的機載網絡中,網絡端系統作為網絡接口卡,將各個主機系統連接至核心網絡,其主要作用[1]如下。
 (1)實現基于IEEE 802.3協議標準的物理層;
 (2)實現基于虛擬鏈路VL的通信調度功能;
 (3)實現ICMP協議、UDP/IP通信協議棧;
 (4)面向主機系統提供采樣、周期及SAP通信端口服務。
1.1 網絡端系統架構
 標準的AFDX網絡系統采用雙冗余的設計,采用星形的結構,其基本架構[2]如圖1所示。

 圖1描述了3個主機系統構成的雙余度AFDX網絡交換網絡結構,通過兩臺互為備份的交換機實現了雙路冗余數據的傳輸,即使端系統模塊單個端口或者某個交換機出現故障,仍可以由另外一個端口通過交換機進行數據的傳輸,保證網絡數據的可靠性。在圖1中,網絡端系統安裝在主機模塊,構成主機系統,支持主機系統的AFDX網絡通信,端系統模塊與主機模塊一般采用PCI總線,利用PMC接口實現主機模塊與端系統模塊的交互,端系統和主機模塊架構如圖2所示。

 圖2中,端系統通過PCI接口與主機模塊連接,和主機模塊一起構成一個主機系統,通過雙通道CHA和CHB與外部AFDX網絡交互。采用圖2的方式,端系統模塊負責進行AFDX網絡數據的處理,包括數據的接收、有效性檢查、UDP/IP協議棧處理、數據解包等工作,直接將有效的數據內容傳送至主機模塊。主機模塊只需從相應的存儲器進行數據讀操作即可完成數據接收,而不用進行大運算量的AFDX網絡協議處理工作,減少了主機模塊的運行負載。
1.2 AFDX網絡數據分類及其接收方式分析
 AFDX網絡數據分為采樣數據、隊列數據及SAP數據3種。其中,采樣數據為周期性數據,數據以一定的周期進行傳輸,數據接收緩沖區采用覆蓋的方式,新數據到來將會覆蓋舊數據,采樣數據適用于周期性的狀態消息,且應用僅關心最近一次采樣數據。隊列數據為事件性數據,數據的到來沒有特定的規律,以隨機的形式進行傳輸,因此,隊列數據需要一定深度的數據緩沖區,用于對接收到的數據進行緩存,而當緩沖區滿后,新來的數據被丟棄,隊列數據適用于事件性的消息傳輸。AFDX網絡SAP數據主要用于高層協議,支持目的IP及端口號的設定等功能,一般不用于普通的AFDX網絡數據通信。
 數據的接收一般分為查詢方式和中斷方式兩種。查詢方式具備實現簡單、數據吞吐量較快的優勢,但查詢方式在無數據傳輸時仍在進行查詢操作,因此,查詢方式增加了處理器的負擔,對于任務較重的主機系統,不適合用查詢方式進行數據接收。采用中斷的方式,數據接收可大大減輕處理器的負擔,僅當有數據時,處理器才參與數據接收,但當數據量較大時,會引起頻繁的中斷。由于中斷嵌套及覆蓋等原因,會存在中斷丟失或響應不及時的情況,導致數據的丟失或順序錯亂。
 對于AFDX網絡基本通信,包括采樣數據通信和隊列數據通信兩種。采樣數據本身具有周期性的特點,因此,在主機模塊接收可以采用查詢的方式,主機模塊以定時器的方式按照采樣數據的周期每隔一定的時間進行數據接收即可,不會造成主機模塊的無效查詢和處理器資源的浪費。而對于隊列數據,其具有不可預知的特點,因此,對于數據量較大的數據傳輸,采用查詢方式進行接收能夠提高數據接收的效率,而對于數據量較小的數據傳輸,采用中斷的方式可以節省處理器資源,降低主機系統的負載。而在實際應用中,由于其數據傳輸的不可預知性,對于隊列數據,單獨采用查詢方式或者中斷方式無法滿足既降低主機負載又提高接收效率的數據接收要求。
2 端系統接收方法設計
 針對AFDX網絡端系統隊列數據的特點,為了滿足既降低主機負載又提高接收效率的要求,本文提出一種將中斷和查詢結合起來的方式,在無數據傳輸時,不消耗主機處理器資源,在數據傳輸量較大時,以查詢的方式進行接收從而提高數據接收效率。
 本文端系統接收方法核心思想是:通過中斷通知主機接收數據,而在數據接收時通過查詢方式進行。端系統接收方法設計如圖3所示。

 圖3(a)為端系統模塊的數據接收流程,圖3(b)為主機模塊數據接收流程。在端系統模塊,當從網絡上接收到數據時,首先進行數據的正確性校驗,當數據校驗無誤時,將數據中的UDP/IP協議頭及校驗等信息去除,進行解包處理,獲取到有效數據,并通過DMA的方式將有效數據傳送至主機模塊內存中,檢測數據的類型,當為隊列數據時,觸發主機PCI中斷信號,通知主機進行數據接收。在主機模塊,當有中斷信號發生時,獲取數據端口號,進行數據接收,當完成一次數據接收后,繼續查看數據接收隊列是否為空,如果不為空,繼續接收數據,直至數據接收隊列為空。
 圖3中在主機模塊進行數據接收時,需要查詢接收隊列,接收隊列存放了端系統模塊接收到的消息的端口號信息,接收隊列存放在端系統模塊上,通過PCI地址映射,在主機模塊上可以訪問。
消息接收隊列緩沖區如圖4所示。在端系統模塊上,消息接收隊列緩沖區以循環雙口RAM形式進行維護,提供讀指針PR給主機模塊,提供寫指針PW給端系統模塊。當端系統接收到數據時,通過PW指針將接收到數據的端口號信息寫至消息接收隊列,然后PW指針加1;當PW指針超過緩沖區長度時,PW指針重新指向緩沖區對頭第一個緩沖區。當主機模塊接收到中斷信號后,通過PR指針依次從消息隊列中取出端口號信息,并進行數據接收,直至消息隊列中無數據。即PR和PW相等時,PR指針每取出一個端口號進行加1操作,當超過緩沖區長度時,PR指針重新指向緩沖區對頭的第一個緩沖區。

 采用圖3的數據接收流程和圖4所示端系統消息接收隊列,將中斷方式和查詢方式結合起來。一方面,一次中斷就可以將接收隊列中的數據全部接收,即中斷后采用查詢方式將接收隊列中的數據全部接收,提高接收效率;另一方面,當無數據時,主機模塊不進行接收的任何操作,不用增加主機負載。同時,當出現丟中斷的情況時,不會出現數據丟失的問題,數據會在上一次中斷或下一次中斷時通過查詢的方式被接收。
3 端系統接收方法實現
 端系統模塊實現了AFDX網絡功能,向主機模塊提供了數據接收的API接口。在端系統接收方法的實現上,一方面需要在主機模塊上維護消息接收的中斷處理函數;另一方面,需要設計阻塞式接收的API接口,提供給主機應用使用。
 軟件設計上利用信號量機制[3]來實現端系統的數據接收功能。在主機模塊初始化時,建立信號量,當有數據接收中斷發生時,在中斷函數中,首先通過semGive函數釋放信號量,然后進行清中斷操作。主機模塊數據接收API函數設計如圖5所示。

 如圖5所示,數據接收API函數在運行時,首先判斷接收標識是否為0,如果接收標志為0,表明無中斷通知主機有數據,通過semTake函數進入阻塞狀態;如果接收標志不為0,表明已經有中斷通知主機有數據,且接收隊列不為空,則直接從接收隊列中獲取接收端口號,進行數據接收。當在中斷處理函數中通過semGive釋放信號量后,主機模塊接收API獲取到信號量,首先將接收標志置1,然后遍歷接收隊列,將接收隊列中端口號信息的數據接收完成之后,將接收標志置0,完成一次中斷接收過程。

 


 主模塊數據接收API函數采用阻塞接收的方式,當沒有信號量且接收標志為0時,API函數處于阻塞狀態,不占用主機模塊的處理器資源,而僅當有接收中斷發生時,才占用處理器資源進行數據接收。
 本文總結了AFDX網絡端系統數據接收方式及利用中斷和查詢方式進行數據接收的不足,設計了一種將中斷和查詢兩種方式混合在一起的數據接收方式,并對其進行了軟件實現。通過這種方式,很好地解決了AFDX網絡數據查詢接收方式主機負載重的問題,也解決了AFDX網絡中斷接收方式丟包的問題,在保證數據高效接收的同時,降低了處理處理器資源的占用,在AFDX網絡端系統工程實踐中得到了很好的應用。
參考文獻
[1] 664P7-1, Aircraft data network part7: avionics full duplex switched ethernet network[S].
[2] 趙永庫,李貞,唐來勝.AFDX網絡協議研究[J].計算機測量與控制,2011,19(12):3137-3142.
[3] 張楊,于銀濤.VxWorks內核、設備驅動與BSP開發詳解[M].北京:人民郵電出版社,2009.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
午夜一区二区三区不卡视频| 亚洲男女毛片无遮挡| 日韩视频在线播放| 在线观看日韩国产| 激情久久综合| 国产主播一区二区三区| 国产午夜精品久久久久久免费视 | 久久久噜噜噜久久| 久久爱www久久做| 欧美中文在线观看| 欧美在线91| 欧美一区二区在线播放| 欧美一区二区三区免费观看视频| 亚洲欧美一区二区三区在线| 亚洲欧美bt| 欧美伊久线香蕉线新在线| 欧美一级播放| 久久久91精品国产一区二区三区| 久久久91精品国产一区二区三区 | 国产日韩欧美在线播放不卡| 国产免费成人av| 国产色综合天天综合网| 国产亚洲精品美女| 国产一区二区三区成人欧美日韩在线观看 | 欧美精品一级| 欧美日韩国内自拍| 欧美午夜欧美| 国产欧美在线观看| 国产一区二区三区四区老人| 尤妮丝一区二区裸体视频| 精品成人一区二区三区四区| 亚洲国产精品美女| 亚洲免费电影在线观看| 一卡二卡3卡四卡高清精品视频| 亚洲午夜影视影院在线观看| 性欧美大战久久久久久久免费观看| 欧美在线观看视频在线 | 久久人人97超碰精品888| 久久人人爽人人爽爽久久| 免费观看日韩| 欧美日韩免费一区二区三区| 国产精品免费久久久久久| 国产亚洲a∨片在线观看| 在线日本成人| 99re热精品| 午夜国产精品视频免费体验区| 亚洲国产精品久久| 亚洲视频在线观看视频| 欧美资源在线观看| 欧美va亚洲va国产综合| 欧美性大战xxxxx久久久| 国产欧美日韩精品a在线观看| 极品av少妇一区二区| 亚洲精品影视在线观看| 亚洲欧美日韩国产中文| 亚洲国产精品久久久久婷婷老年 | 亚洲无吗在线| 欧美综合国产| 欧美激情一区二区三区在线 | 香港成人在线视频| 亚洲精品乱码久久久久久按摩观| 亚洲一区二区黄| 久久中文字幕导航| 国产精品v片在线观看不卡| 国内自拍一区| 一区二区三区四区五区精品视频| 欧美在线网址| 亚洲男同1069视频| 你懂的视频欧美| 国产精品久久久久久户外露出| 曰韩精品一区二区| 亚洲一级特黄| 亚洲精品网站在线播放gif| 欧美一区二区三区免费观看| 欧美精选一区| 激情综合色丁香一区二区| 在线视频精品一区| 亚洲区欧美区| 欧美影视一区| 欧美日韩中文字幕在线| 亚洲电影有码| 欧美中文字幕视频在线观看| 亚洲欧美激情诱惑| 欧美精品少妇一区二区三区| 国语自产精品视频在线看8查询8| 一区二区三区产品免费精品久久75| 最新国产成人在线观看| 久久久久久欧美| 国产精品女主播一区二区三区| 亚洲第一精品夜夜躁人人爽| 欧美一区二区三区免费视| 亚洲欧美日韩网| 欧美日韩理论| 亚洲欧洲一区二区三区| 亚洲国产成人在线| 久久av一区二区三区漫画| 国产精品美女在线观看| 一区二区三区精密机械公司| 夜夜精品视频| 欧美激情一区二区三区蜜桃视频 | 亚洲在线第一页| 欧美福利电影网| 黄色成人在线免费| 欧美在线亚洲在线| 欧美一级专区免费大片| 国产精品ⅴa在线观看h| 99精品热6080yy久久| 99视频超级精品| 欧美精品一区二区在线观看| 亚洲国产一区二区精品专区| 91久久夜色精品国产九色| 久久精品午夜| 狠狠色伊人亚洲综合网站色| 欧美诱惑福利视频| 久久精品国产免费观看| 国产自产高清不卡| 久久国产欧美日韩精品| 久久久久国产一区二区三区四区 | 亚洲欧洲日韩综合二区| 亚洲精品免费在线| 欧美国产成人在线| 亚洲电影免费在线观看| 亚洲人成人99网站| 欧美激情精品久久久久久变态| 亚洲国产欧美一区二区三区久久| 亚洲黄色高清| 免费影视亚洲| 亚洲日本成人| 亚洲一区二区三区免费观看| 国产精品国产馆在线真实露脸| 亚洲亚洲精品三区日韩精品在线视频| 亚洲欧美国产精品专区久久| 国产精品一区二区三区四区| 欧美一区1区三区3区公司| 久久久久国产精品午夜一区| 在线精品国产成人综合| 亚洲人成亚洲人成在线观看| 欧美人与禽猛交乱配| 一本一本久久| 欧美一区二区三区四区在线观看| 国产亚洲人成a一在线v站| 亚洲国产精品一区二区三区| 欧美激情一区二区三区四区| 一区二区国产日产| 欧美永久精品| 影音先锋久久| 一本色道久久综合狠狠躁篇怎么玩| 欧美私人网站| 欧美一区二区视频网站| 免费欧美日韩| 一区二区三区四区五区视频| 久久av一区二区三区亚洲| 亚洲第一天堂av| 亚洲专区在线| 韩国av一区二区| 一区二区三区欧美在线| 国产欧美在线播放| 亚洲日本乱码在线观看| 国产精品福利在线| 亚洲大胆人体在线| 欧美调教视频| 久久精品理论片| 欧美另类99xxxxx| 亚洲欧美日韩精品| 欧美二区视频| 亚洲欧美成人网| 欧美成人蜜桃| 亚洲永久视频| 欧美超级免费视 在线| 亚洲视频电影在线| 老鸭窝毛片一区二区三区| 在线视频免费在线观看一区二区| 久久久精品999| 99精品免费| 久久这里有精品15一区二区三区| 日韩亚洲精品视频| 久久国产精品99国产精| 亚洲片国产一区一级在线观看| 欧美一区免费| 亚洲人在线视频| 久久精品国产亚洲高清剧情介绍| 亚洲精选久久| 久久综合给合久久狠狠色| 亚洲天堂网在线观看| 欧美电影免费观看高清完整版| 亚洲免费伊人电影在线观看av| 欧美激情第一页xxx| 羞羞答答国产精品www一本| 欧美日韩国产影院| 欧美在线亚洲综合一区| 欧美亚韩一区| 亚洲乱码国产乱码精品精| 国产一区二区三区久久| 亚洲一区国产| 亚洲国产欧美日韩精品| 久久久久久午夜| 亚洲综合不卡| 欧美色图首页| 日韩亚洲欧美成人| 激情综合久久|