基于ICD的機(jī)電總線數(shù)據(jù)服務(wù)軟件設(shè)計(jì)方法研究_第1頁
基于ICD的機(jī)電總線數(shù)據(jù)服務(wù)軟件設(shè)計(jì)方法研究_第2頁
基于ICD的機(jī)電總線數(shù)據(jù)服務(wù)軟件設(shè)計(jì)方法研究_第3頁
基于ICD的機(jī)電總線數(shù)據(jù)服務(wù)軟件設(shè)計(jì)方法研究_第4頁
基于ICD的機(jī)電總線數(shù)據(jù)服務(wù)軟件設(shè)計(jì)方法研究_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

要:為提高航空電子總線數(shù)據(jù)服務(wù)軟件的開發(fā)效率和可靠性,采用基于ICD配置文件的通用化處理流程,每一條ICD配置信息對應(yīng)總線中的一個(gè)信號,利用ICD配置文件轉(zhuǎn)換工具對系統(tǒng)ICD進(jìn)行預(yù)處理,設(shè)計(jì)了一種基于ICD的總線數(shù)據(jù)通用化處理方法,當(dāng)用戶ICD配置文件發(fā)生變更時(shí),只需修改相應(yīng)配置文件,無須改動代碼,增強(qiáng)了軟件的適應(yīng)性和通用性。關(guān)鍵詞:總線;ICD配置;機(jī)電系統(tǒng);嵌入式軟件1

現(xiàn)場總線技術(shù)的特點(diǎn)分析機(jī)電綜合管理系統(tǒng)作為飛機(jī)的核心系統(tǒng)與飛機(jī)安全運(yùn)行密切相關(guān),其包含燃油系統(tǒng)、環(huán)控系統(tǒng)、液壓系統(tǒng)、供電系統(tǒng)、起落架系統(tǒng)、艙門系統(tǒng)、照明系統(tǒng)等公共設(shè)備。機(jī)電綜合管理系統(tǒng)涉及總線類型、信號管理類型眾多,機(jī)載軟件對總線的訪問十分頻繁,這將對硬件接口資源產(chǎn)生無序競爭,因此要求有統(tǒng)一的總線服務(wù)軟件來完成控制、告警、畫面頁信號的集成發(fā)送。總線數(shù)據(jù)服務(wù)軟件作為機(jī)電核心處理機(jī)上的總線通信大總管,統(tǒng)一負(fù)責(zé)外部消息的收發(fā),并向各個(gè)機(jī)電功能應(yīng)用分區(qū)提供信號輸入/輸出服務(wù)。以往的總線服務(wù)分區(qū)軟件設(shè)計(jì)采用的是基于消息內(nèi)容的處理模式,需為每條消息配置專用通信端口并編寫發(fā)送和接收代碼,總線數(shù)據(jù)服務(wù)軟件代碼量高達(dá)數(shù)萬行,同時(shí)軟件與系統(tǒng)ICD緊耦合,當(dāng)后期系統(tǒng)ICD發(fā)生變化,總線數(shù)據(jù)服務(wù)軟件也需要頻繁更新迭代,頻繁的軟件變更和聯(lián)試驗(yàn)證,對人力資源的耗費(fèi)很大,維護(hù)成本高。針對總線數(shù)據(jù)服務(wù)軟件的重要性和復(fù)雜性,為了解決傳統(tǒng)總線服務(wù)分區(qū)軟件開發(fā)和維護(hù)過程中出現(xiàn)的各種問題,本文設(shè)計(jì)了基于ICD的機(jī)電總線數(shù)據(jù)服務(wù)軟件,根據(jù)通信分區(qū)的不同對配置表進(jìn)行邏輯劃分,提供為總線分區(qū)與同一分區(qū)通信消息自動生成統(tǒng)一結(jié)構(gòu)體的功能,采用同一消息處理流程使軟件與系統(tǒng)ICD解耦,降低了軟件代碼規(guī)模,提高了總線數(shù)據(jù)服務(wù)軟件的可移植性與可維護(hù)性。2

軟件架構(gòu)與設(shè)計(jì)接口控制文件(InterfaceControlDocument,ICD)定義了飛機(jī)各系統(tǒng)之間交互的信號信息以及飛機(jī)各系統(tǒng)的控制、告警、顯示等信號,是飛機(jī)設(shè)計(jì)文件的重要組成部分,用于存儲外部設(shè)備與飛機(jī)各子系統(tǒng)分區(qū)進(jìn)行交互的所有消息。通常系統(tǒng)ICD文件都是文本或表格的形式,無法直接以編程語言的形式被開發(fā)人員使用,因此需借助工具軟件將其轉(zhuǎn)化為頭文件,本文涉及兩個(gè)工具軟件:分區(qū)間通信結(jié)構(gòu)體生成工具與ICD結(jié)構(gòu)體數(shù)據(jù)生成工具?;诮Y(jié)構(gòu)化的思想,遍歷系統(tǒng)ICD文件通過分區(qū)間通信結(jié)構(gòu)體生成工具以分區(qū)為單位將其進(jìn)行邏輯劃分,并將總線分區(qū)與各子系統(tǒng)功能分區(qū)之間交互的所有消息根據(jù)消息源及目的的不同存儲在不同的結(jié)構(gòu)體中,而對于源和目的分區(qū)相同的所有消息則提取出該分區(qū)與總線分區(qū)收發(fā)的所有消息的有效屬性,取并集作為統(tǒng)一的結(jié)構(gòu)體的屬性集合??偩€分區(qū)發(fā)往功能分區(qū)的通信結(jié)構(gòu)體如下所示:typedefunion{struct{intcontrol_signal_1;intdisp_signal_1;intwarning_signal_1;...intcontrol_signal_n;}IO_Partition1;intbuffer[n];}io_partition1;功能分區(qū)發(fā)往總線分區(qū)的通信結(jié)構(gòu)體如下所示:typedefunion{struct{intcontrol_signal_1;intdisp_signal_1;intwarning_signal_1;...intcontrol_signal_n;}Partition1_IO;intbuffer[n];}partition1_io;將分區(qū)間通信結(jié)構(gòu)體與系統(tǒng)ICD作為ICD結(jié)構(gòu)體數(shù)組生成工具的輸入,將系統(tǒng)ICD轉(zhuǎn)換為頭文件形式,并在系統(tǒng)ICD的基礎(chǔ)上增加了兩個(gè)屬性:(1)消息接收、發(fā)送緩沖區(qū):用于存放對應(yīng)物理信號的值。(2)當(dāng)前物理信號在對應(yīng)分區(qū)間通信結(jié)構(gòu)體中的變量序號:用于在總線分區(qū)與功能分區(qū)之間傳輸對應(yīng)的物理信號。系統(tǒng)ICD文件預(yù)處理流程如圖1所示。1394總線消息配置表在程序中的結(jié)構(gòu)體設(shè)計(jì)如下:typedefstruct{charPathway_name[20];//通道名稱charMessage_source[20];//消息源charMessage_destination[20];//消息目的intMessage_ID;//消息IDintMessage_length;//消息長度intMessage_refresh_period;//消息周期intMessage_transmission_type;//消息類型intDataWord_offset;//數(shù)據(jù)字偏移量charBusSignal_codename[50];//信號名稱intBusSignal_width;//單個(gè)信息的占位寬度intBusSignal_lsb_position;//單個(gè)信息在其所在數(shù)據(jù)字中的起始位intPartition_Mask;//分區(qū)掩碼int*pBuffer;//指向接收/發(fā)送緩沖區(qū)intindex;//變量在分區(qū)間通信結(jié)構(gòu)體中的順序}CfgTab;2

軟件架構(gòu)與設(shè)計(jì)總線分區(qū)和其他機(jī)電功能分區(qū)一樣都屬于應(yīng)用分區(qū),總線分區(qū)在機(jī)電核心處理機(jī)軟件架構(gòu)中所處位置如圖2所示??偩€分區(qū)包含初始化模塊、通信模塊、數(shù)據(jù)處理模塊和健康管理模塊,如圖3所示。初始化模塊包含配置信息加載,并根據(jù)加載的配置信息完成初始化資源創(chuàng)建,如緩沖區(qū)創(chuàng)建、初始化數(shù)據(jù)分發(fā)表等;通信模塊包括基于總線消息配置信息的外部設(shè)備數(shù)據(jù)收發(fā)、基于機(jī)電功能分區(qū)數(shù)據(jù)發(fā)布訂閱信息的核心機(jī)內(nèi)部數(shù)據(jù)收發(fā),即接收外部設(shè)備數(shù)據(jù)并通過分區(qū)間通信端口將數(shù)據(jù)發(fā)送到機(jī)電功能分區(qū),或接收機(jī)電功能分區(qū)發(fā)來的數(shù)據(jù),并調(diào)用總線服務(wù)接口向外部總線發(fā)送數(shù)據(jù);分區(qū)間數(shù)據(jù)通信緩存管理使用操作系統(tǒng)的APEX接口和配置機(jī)制,總線分區(qū)與每個(gè)機(jī)電功能分區(qū)間分別配置4個(gè)端口,分別為隊(duì)列消息發(fā)送端口、隊(duì)列消息接收端口、采樣消息寫端口、采樣消息讀端口,交互的數(shù)據(jù)為該功能分區(qū)訂閱和發(fā)布的數(shù)據(jù);數(shù)據(jù)處理模塊能夠支持基于機(jī)電功能分區(qū)數(shù)據(jù)發(fā)布訂閱信息的結(jié)構(gòu)化數(shù)據(jù)組包和解包,其對應(yīng)總線分區(qū)中的兩個(gè)周期進(jìn)程,即總線數(shù)據(jù)接收與總線數(shù)據(jù)發(fā)送;健康管理模塊包括平臺及應(yīng)用健康狀態(tài)監(jiān)測、故障記錄及上報(bào)。2.1總線數(shù)據(jù)接收如圖4所示,總線數(shù)據(jù)接收任務(wù)包含三部分:接收總線數(shù)據(jù)、數(shù)據(jù)拆包、發(fā)送給應(yīng)用分區(qū)??偩€分區(qū)在每一個(gè)任務(wù)周期通過調(diào)用總線接收接口完成所有外部總線數(shù)據(jù)的接收,若總線數(shù)據(jù)校驗(yàn)正常則將總線數(shù)據(jù)保存至接收緩沖區(qū)中,若總線數(shù)據(jù)異常則進(jìn)入異常處理分支;通過遍歷總線接收ICD將接收緩沖區(qū)中的總線數(shù)據(jù)按對應(yīng)字對應(yīng)位拆包后賦值給分區(qū)間通信結(jié)構(gòu)體,最后調(diào)用分區(qū)間通信服務(wù)將已拆包的總線數(shù)據(jù)發(fā)送至各個(gè)應(yīng)用分區(qū)進(jìn)行邏輯處理,分發(fā)過程不解析數(shù)據(jù)包內(nèi)容,若分區(qū)間通信異常,則進(jìn)入異常處理分支上報(bào)異常。2.2總線數(shù)據(jù)發(fā)送如圖5所示,總線數(shù)據(jù)發(fā)送任務(wù)包含三部分:接收應(yīng)用分區(qū)數(shù)據(jù)、數(shù)據(jù)組包、發(fā)送至外部總線??偩€分區(qū)在每一個(gè)任務(wù)周期首先通過調(diào)用分區(qū)間通信服務(wù)將經(jīng)應(yīng)用分區(qū)邏輯處理后的數(shù)據(jù)接收至分區(qū)間通信結(jié)構(gòu)體中,然后根據(jù)總線發(fā)送ICD將發(fā)送緩沖區(qū)的對應(yīng)位清零,再將屬于同一條消息的數(shù)據(jù)組包至對應(yīng)的發(fā)送緩沖區(qū)中,最后調(diào)用總線發(fā)送接口將發(fā)送緩沖區(qū)中的數(shù)據(jù)同意發(fā)送至外部總線。3

結(jié)語本文提出了一種基于總線配置文件的總線數(shù)據(jù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論