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

CentOS下AFDX端系統驅動設計與實現*

2017-12-29 06:15:54李曉東
網絡安全與數據管理 2017年24期
關鍵詞:用戶功能設備

鄭 濤,張 雙,李曉東

(中航工業西安航空計算技術研究所,陜西 西安 710068)

CentOS下AFDX端系統驅動設計與實現*

鄭 濤,張 雙,李曉東

(中航工業西安航空計算技術研究所,陜西 西安710068)

分析了AFDX網絡和CentOS操作系統的工作機制,針對民用大飛機航空電子網絡測試設備的需求,提出了基于X86架構的CentOS操作系統的AFDX端系統驅動設計方案和實現方法。依據設計方案和實現方法,編碼實現了CentOS下AFDX端系統驅動,并且在PC主機上完成了驅動的驗證工作。

CentOS;AFDX;端系統;驅動;設計;實現

0 引言

大型民用飛機的數據通信技術是飛機航空電子系統實現綜合化、模塊化和分布式的關鍵技術。航空電子全雙工交換式以太網(AFDX)是ARINC664P7[1]規范和定義的一種總線協議,被廣泛應用于航空網絡的數據通信,能夠適應航空電子設備與系統之間的互聯互通要求。民用大飛機采用了AFDX總線作為全機的網絡總線[2]。為了對大型民用飛機系統的航空網絡進行測試,需要研制民用飛機機載測試設備。民用機載測試設備考慮到經濟性,大多采用Linux操作系統作為測試設備的操作系統軟件,采用AFDX端系統作為大型民用飛機系統航空網絡測試的數據通道。CentOS作為一種常用的Linux操作系統,開發基于CentOS的AFDX端系統驅動,可以節省民機機載航電網絡系統測試設備的研發和研制費用,進而達到更高的實用性和市場占有率?;诖朔N考慮,本文在X86架構PC上安裝了32位CentOS操作系統,并且在主板上安裝了PCI槽口的AFDX端系統,在此基礎上設計和開發了基于PC的CentOS下AFDX端系統的驅動。

1 AFDX端系統介紹

AFDX協議是航空全雙工交換式以太網協議,是本著提高以太網的傳輸效率,盡可能地減少總線競爭的思想開發的專用以太網。任何AFDX端口之間都可以建立起一個傳輸信道,以標稱傳輸速度來傳輸數據,優點是不存在總線競爭,能顯著提高系統的傳輸效率,缺點是不易控制最大傳輸時延。

AFDX協議是對TCP/IP協議的改進,通過對TCP/IP協議的裁剪,適用于航空領域。AFDX協議對TCP/IP協議的運輸層裁剪后只支持UDP協議、TCP協議和ICMP協議,從而精簡了協議架構,便于航空領域的應用。AFDX協議層如圖1所示。

圖1 AFDX協議層

航空領域中專門用于處理AFDX協議的硬件和驅動軟件集合實體統稱為AFDX端系統。

AFDX端系統的硬件實現AFDX協議的MAC層、數據鏈路層、IP層和運輸層的協議,保證數據從PHY上接收后依據AFDX協議的層次結構來安全可靠地處理。

AFDX端系統驅動軟件是對AFDX端系統硬件資源進行統一管理和控制,實現PCI接口驅動、硬件狀態的轉換、寄存器資源的設置、健康監控管理、通信接口、故障記錄上報和用戶驅動接口等功能。

2 CentOS下AFDX端系統驅動設計

2.1 CentOS操作系統概述

社區企業操作系統(Community Enterprise Operating System,CentOS)是Linux發行版之一,由紅帽企業級操作系統源代碼編譯而成。CentOS操作系統具有高度的穩定性和可靠性,因此在CentOS操作系統上開發的AFDX端系統驅動具有良好穩定的運行環境。

CentOS操作系統運行分為內核態和用戶態[3]。內核態是操作系統所運行的模式,運行在該模式的代碼可以無限制對系統存儲、外部設備進行訪問。用戶態是最低特權級,是普通的用戶進程運行的特權級[4],大部分用戶直接面對的程序都是運行在用戶態。因此在CentOS下開發AFDX端系統驅動時應該考慮CentOS的內核態和用戶態程序執行的特點,以使開發的驅動代碼具有良好的可靠性和穩定性。

2.2 CentOS下AFDX端系統驅動總體架構

CentOS下AFDX端系統驅動開發是在PC主機上開發可用的驅動代碼,便于AFDX端系統能夠廣泛地應用于日常的PC主機,從而提高端系統的適用性和經濟性。AFDX端系統硬件插入PC主板的PCI槽,主板與AFDX端系統之間通過PCI總線交換數據。

CentOS下AFDX端系統驅動開發時根據操作系統和AFDX端系統與宿主機硬件連接特點,設計出如圖2所示的AFDX端系統驅動總體架構。

圖2 CentOS下AFDX端系統驅動總體架構

CentOS下AFDX端系統驅動總體架構根據驅動開發的模型和規范以及CentOS操作系統運行特點,將AFDX端系統驅動分別映射到CentOS操作系統的內核態和用戶態,這樣的映射有以下三個好處:

(1)因為AFDX端系統硬件與PC主板通過PCI總線插槽連接,因此內核態主要完成PCI總線驅動和AFDX端系統硬件資源分配和釋放,而將大量與上層應用需要交互的功能在用戶態實現,有利于內核驅動代碼的精簡。

(2)上層應用調用用戶態驅動時,如果用戶態下AFDX端系統驅動自身錯誤出現,不會因此而導致操作系統崩潰,從而不影響操作系統其他應用的正常運行。

(3)CentOS下AFDX端系統驅動設計采用分層的思想,有利于驅動的開發和移植。如果AFDX端系統驅動需要移植到只有一個態的操作系統,此時只需要修改用戶態下的AFDX端系統驅動代碼中與PCI接口相關的代碼。

根據CentOS下AFDX端系統驅動總體架構,內核態下分布的AFDX端系統驅動主要完成PCI總線驅動和AFDX端系統硬件資源的分配、管理和釋放,因此分配的功能有:驅動注冊功能、設備探測功能、設備文件操作功能、PCI總線驅動初始化和PCI總線驅動移除。

用戶態下分布的AFDX端系統驅動主要完成向上層應用提供AFDX端系統通信和管理功能,因此分配的功能有:用戶態PCI設備操作功能、初始化功能、配置操作功能、模式管理功能、監控管理功能、通信功能、健康管理功能。

內核態下AFDX端系統驅動與用戶態下AFDX端系統驅動之間通過I/O方式通信交換數據。

2.3 CentOS下AFDX端系統驅動功能概述

依據CentOS下AFDX端系統驅動總體架構,AFDX端系統驅動分為內核態下AFDX端系統驅動功能和用戶態下AFDX端系統驅動功能。

內核態下AFDX端系統驅動功能如下:

(1)驅動注冊功能:實現AFDX端系統PCI總線驅動向CentOS內核驅動模塊的注冊,將AFDX端系統PCI總線驅動加入到內核驅動的數據結構,作為內核驅動的一個驅動節點,便于驅動的使用。

(2)設備探測功能:實現AFDX端系統設備的發現,PCI總線地址空間、內存空間、I/O端口、配置寄存器和設備資源分配以及I/O地址空間到處理器的地址空間的映射。

(3)設備文件操作功能:設備在CentOS操作系統下都是作為文件被處理,因此設備文件操作功能實現設備以文件方式的打開、讀寫和關閉等功能以及內核態PCI總線讀寫操作的功能。

(4)PCI總線驅動初始化:實現端系統PCI總線的硬件資源的初始化和端系統驅動數據結構的初始化。

(5)PCI總線驅動移除:實現AFDX端系統驅動在內核下的卸載。

用戶態下AFDX端系統驅動在功能分解時考慮到功能間的松耦合特性,將驅動功能分解為如下功能:

(1)初始化功能:實現用戶態下AFDX端系統驅動數據結構資源的分配和靜態數據結構的建立。

(2)配置操作功能:實現AFDX端系統配置文件的解析、加載、刪除和清除等功能。

(3)模式管理功能:實現AFDX端系統的模式轉換和不同模式下的功能。AFDX端系統的模式分為初始模式、配置模式和運行模式。初始模式的功能是初始化驅動軟件的資源;配置模式的功能是加載AFDX端系統的配置文件;運行模式的功能是根據加載的配置文件,實現AFDX消息通信。

(4)監控管理功能:實現對AFDX端系統收發寄存器的狀態、收發消息隊列和內部寄存器的監控和管理功能。

(5)通信功能:實現AFDX端系統的AFDX消息的收發API,主要實現了隊列端口消息、采樣端口消息、SAP端口消息和ICMP消息[5-6],以便于提供給上層應用調用。

(6)健康管理功能:實現AFDX端系統中硬件和軟件的健康狀態監控和記錄功能,并且將健康狀態信息存儲于MIB庫,以向外部傳送健康狀態信息;此外,健康管理功能也實現了SNMP協議功能,通過SNMP協議可以遠程訪問AFDX端系統上的MIB庫。

(7)用戶態PCI設備操作功能:實現用戶態調用內核態的PCI設備操作的API接口的封裝,用于用戶態和內核態間數據的傳遞和拷貝,從而達到用戶態和內核態的數據通信。

3 CentOS下AFDX端系統驅動實現

CentOS下AFDX端系統驅動的實現分為兩個部分:內核態下AFDX端系統驅動實現和用戶態下AFDX端系統驅動實現,從而達到AFDX端系統驅動可用。

3.1 內核態下AFDX端系統驅動實現

內核態下AFDX端系統驅動實現的主要目標是內核中能夠通過PCI總線[7]找到設備和分配PCI總線配置空間[8],并且提供以文件方式操作AFDX端系統設備的接口[9],從而形成內核態中管理和操作AFDX端系統的設備結構[10]。內核態下AFDX端系統驅動工作流程如圖3所示。

通過圖3的工作流程,AFDX端系統在內核態下完成注冊和初始化,在CentOS下通過命令即可查看到AFDX端系統硬件對應的設備句柄。

3.2 用戶態下AFDX端系統驅動實現

用戶態下AFDX端系統驅動實現的主要目標是實現AFDX端系統從初始模式到加載模式直到運行模式的工作流程,在AFDX端系統硬件處于正常工作模式后,上層應用調用通信功能中相應的通信接口開始AFDX消息的通信。

用戶態下AFDX端系統驅動工作流程如圖4所示。

圖3 內核態AFDX端系統驅動工作主流程

圖4 用戶態AFDX端系統驅動工作主流程

4 CentOS下AFDX端系統驅動功能驗證

在X86的PC上安裝CentOS,并且在PC主板的PCI插槽上安裝了PCI接口的AFDX端系統,最后根據前述的方法實現了AFDX端系統驅動。

對于實現的內核態下的AFDX端系統驅動編譯生成了pci_es_dev_drv.ko文件,將pci_es_dev_drv.ko文件放置到CentOS文件系統的如下路徑:/lib/modules/3.0.89-rt117.el5.eads.ts.5/kernel/drivers/pci/ESDriver/pci_es_dev_driver.ko,此外在CentOS的文件系統的/etc/rc.d/rc.local的shell腳本中增加如下的語句:insmod /lib/modules/3.0.89-rt117.el5.eads.ts.5/kernel/drivers/pci/ESDriver/pci_es_dev_driver.ko。增加這樣的修改后,當PC上電后會自動在PCI插槽上識別與此驅動相關的端系統設備,自動掛載AFDX端系統設備。

PC上電,CentOS操作系統正常啟動后,在終端界面上進入Linux的命令行輸入lsmod,可以查看到名稱是pci_es_dev_driver的驅動。

對于實現的用戶態下AFDX端系統驅動編譯生成libA664ESDriver.a,作為靜態庫提供給上層應用使用。為了驗證CentOS下的AFDX端系統驅動的功能,采用了端系統上A口發B口接收的外環策略,在端系統上配置了50052端口發送數據、32端口接收數據的方法。最終驗證的結果如圖5所示。

圖5 AFDX 端系統驅動驗證

5 結論

本文完成了CentOS下AFDX端系統驅動從總體架構設計、功能分解以及功能實現的過程,最后對所開發的AFDX端系統在安裝CentOS的X86 PC上進行了功能的驗證。通過驗證說明本文所提出的CentOS下AFDX端系統驅動設計方案可行,并且CentOS操作系統是Linux操作系統的一種,可以快速方便地移植到相同內核的其他Linux操作系統平臺上,說明具有很好的可移植性和適用性。CentOS下AFDX端系統驅動已經應用于為國內民用大飛機所開發的驗證測試設備上,完成了設備的功能集成,達到了相應的功能和性能要求。

[1] AR Inc. Aircraft data network part 7: avionics full-duplex switched ethernet network[S]. 2005.

[2] 武華,馬捷中,翟正軍. AFDX端系統通信端口的設計與實現[J]. 測控技術,2009,28(3):56-59.

[3] JONATHAN C,ALESSANDRO R,GREG K H. Linux device driver[M]. Sebastopol O’Reilly Media Inc,2005.

[4] BOVET D P,CESATE M. Understanding the Linux Kernel (Second Edition)[M]. Sebastopol O’Reilly Media Inc,2003.

[5] 劉智武,白楊,何向棟. AFDX網絡端系統數據接收方法研究與實現[J]. 微型機與應用,2013,32(21): 48-50.

[6] 趙永庫,李貞,唐來勝. AFDX網絡協議研究[J]. 計算機測量與控制,2011,19(12): 3137-3142.

[7] 陳昕,周擁軍,萬劍雄. AFDX端系統關鍵技術的研究與實現[J]. 計算機工程,2009,35(5): 1-3.

[8] 牛仕奇,嚴勝剛,任向隆.AFDX終端系統實現方案研究[J].計算機測量與控制,2009,17(12): 2507-2520.

[9] 田澤,王綺卉,侯銳. AFDX網絡協議棧分析和設計[J]. 軟件導刊,2010,9(4): 138-140.

[10] 應三叢,汪明寅,張行. 高性能PCI驅動程序的關鍵技術[J]. 計算機工程與設計,2012,33(6): 2208-2212.

Design and implementation of AFDX end system driver based on CentOS

Zheng Tao,Zhang Shuang,Li Xiaodong

(Aeronautical Computing Technique Research Institute,Xi’an 710068,China)

Based on the analysis of work process of AFDX network and CentOS operation system,and considering the requirements to test device of avionics network of a civil aircraft,we provide the design and implements of AFDX end system driver in CentOS based on X86 architecture. Relying on the design and implements ,we implement the driver by code and validate the driver in PC.

CentOS; AFDX; end system; driver; design; implementation

航空科學基金(20141931001)

V243

A

10.19358/j.issn.1674-7720.2017.24.030

鄭濤,張雙,李曉東.CentOS下AFDX端系統驅動設計與實現J.微型機與應用,2017,36(24):105-108.

2017-06-16)

鄭濤(1988-),男,碩士,工程師,主要研究方向:航空電子設備和航空網絡。

猜你喜歡
用戶功能設備
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
諧響應分析在設備減振中的應用
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
關于非首都功能疏解的幾點思考
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
如何獲取一億海外用戶
創業家(2015年5期)2015-02-27 07:53:25
原來他們都是可穿戴設備
消費者報道(2014年7期)2014-07-31 11:23:57
主站蜘蛛池模板: 精品视频一区二区三区在线播| 成人国产三级在线播放| 日韩经典精品无码一区二区| 日本不卡在线播放| 亚洲国产精品人久久电影| 一级毛片免费高清视频| 成人在线观看一区| 久久永久免费人妻精品| 成年人国产网站| 日本欧美一二三区色视频| AⅤ色综合久久天堂AV色综合| 免费xxxxx在线观看网站| 国产福利一区二区在线观看| 国产欧美精品午夜在线播放| 亚洲最大福利网站| 午夜高清国产拍精品| 99视频在线观看免费| 久久免费看片| 国产精女同一区二区三区久| 色老头综合网| 日韩精品久久久久久久电影蜜臀| 国产高清无码麻豆精品| 亚洲成人精品久久| 亚洲一级毛片免费观看| 国产精品免费福利久久播放| 99在线视频精品| 亚洲免费福利视频| 久久久久亚洲精品无码网站| 特黄日韩免费一区二区三区| 麻豆精品视频在线原创| 亚洲人成成无码网WWW| 91欧美亚洲国产五月天| 热久久国产| 中文字幕永久在线看| 国产尹人香蕉综合在线电影 | 一级做a爰片久久免费| 欧美亚洲国产精品久久蜜芽| 精品少妇人妻无码久久| 亚洲乱伦视频| 久久永久免费人妻精品| 国内精品自在自线视频香蕉| 一区二区三区国产精品视频| 日韩欧美中文在线| 18禁影院亚洲专区| 亚洲无码在线午夜电影| 久久久久亚洲Av片无码观看| 噜噜噜久久| 67194亚洲无码| 999国内精品久久免费视频| 91成人试看福利体验区| 无码一区二区三区视频在线播放| 无码中文字幕乱码免费2| 中国国产一级毛片| 欧洲在线免费视频| 呦女精品网站| 亚洲伦理一区二区| 91麻豆久久久| 亚洲精品免费网站| 国产在线精品人成导航| 国产尤物视频网址导航| 免费观看成人久久网免费观看| 色综合天天操| 精品小视频在线观看| 视频二区中文无码| 岛国精品一区免费视频在线观看| 亚洲精品日产AⅤ| 日韩毛片免费观看| 国产免费久久精品99re丫丫一 | 成人自拍视频在线观看| 一本一本大道香蕉久在线播放| 国产精品流白浆在线观看| 亚洲日韩久久综合中文字幕| 91精品国产福利| 欧美高清国产| 国产福利小视频在线播放观看| 日韩a在线观看免费观看| 另类综合视频| 亚洲国产日韩在线成人蜜芽| 不卡国产视频第一页| 欧美日韩第二页| 亚洲女同一区二区| 久久精品丝袜高跟鞋|