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毛片免费在线观看| 欧美精品1区| 九色视频线上播放| 国产中文一区二区苍井空| 国产va欧美va在线观看| 高清乱码精品福利在线视频| 四虎永久在线精品国产免费| 精品国产中文一级毛片在线看 | 无码精油按摩潮喷在线播放| 亚洲h视频在线| 亚洲视频影院| 亚洲六月丁香六月婷婷蜜芽| 久久国产免费观看| 国产男女免费完整版视频| 91免费观看视频| 免费一级毛片在线观看| 免费jjzz在在线播放国产| 91在线免费公开视频| 国产精品七七在线播放| 久久鸭综合久久国产| 久久窝窝国产精品午夜看片| 亚洲无码电影| 欧美成人精品高清在线下载| 又爽又黄又无遮挡网站| 国产迷奸在线看| 免费激情网址| 色妞www精品视频一级下载| 国产丝袜啪啪| 国产91精品久久| 亚洲日本在线免费观看| 伊人久综合| 国产产在线精品亚洲aavv| 黄色国产在线| 久操中文在线| 人妻精品久久无码区| 精品欧美视频| 亚洲AⅤ波多系列中文字幕| 国产成人综合网在线观看| 欧美色视频网站| 国产精品yjizz视频网一二区| 精品视频第一页| 毛片a级毛片免费观看免下载| 日韩精品亚洲一区中文字幕| 久爱午夜精品免费视频| 久久精品国产精品青草app| 日韩美一区二区| 亚洲中文字幕国产av| 国产性生大片免费观看性欧美| 伊人激情综合| 无码免费的亚洲视频| 无码电影在线观看| 亚洲精品视频网| 亚洲人成网站日本片| 中文字幕日韩欧美| 亚洲日韩久久综合中文字幕| 精品欧美日韩国产日漫一区不卡| 国产玖玖视频| 国产情侣一区| 日韩精品中文字幕一区三区| 亚洲欧美日韩另类在线一| 免费啪啪网址| 在线国产毛片手机小视频 | 国产国语一级毛片在线视频| 国产大片黄在线观看| 亚洲天堂成人在线观看| 国产日韩欧美精品区性色| 夜色爽爽影院18禁妓女影院| 日a本亚洲中文在线观看| 国产精品对白刺激| 丁香五月婷婷激情基地| 一级毛片在线播放免费观看| 最新国产成人剧情在线播放| 亚洲综合专区| 小说 亚洲 无码 精品| 欧美亚洲日韩不卡在线在线观看| 久久综合亚洲色一区二区三区| 污网站免费在线观看| 国产主播福利在线观看|