国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

在實(shí)時(shí)嵌入式環(huán)境下利用電子盤實(shí)現(xiàn)大容量數(shù)據(jù)記錄的軟件設(shè)計(jì)研究

2014-04-03 06:51:32張梅梅周向華陳國平謝前進(jìn)
教練機(jī) 2014年1期
關(guān)鍵詞:電子盤線程嵌入式

張梅梅,周向華,陳國平,謝 暉,謝前進(jìn)

(1.中航工業(yè)洪都,江西南昌330024;2.駐320廠軍事代表室,江西南昌330024)

0 引言

嵌入式系統(tǒng)是隨著計(jì)算機(jī)技術(shù)、微處理器技術(shù)、電子技術(shù)、通信技術(shù)、集成電路技術(shù)的發(fā)展而發(fā)展起來的,越來越廣泛地運(yùn)用于各種場合,包括汽車、航天、航空、軍事裝備等領(lǐng)域。同時(shí),隨著技術(shù)的發(fā)展,F(xiàn)lash電子盤的使用也較為廣泛,以前只是在一般環(huán)境中使用,如今逐漸在實(shí)時(shí)嵌入式環(huán)境中開始使用。本文主要在結(jié)合某個(gè)型號(hào)研發(fā)的基礎(chǔ)上,介紹了在VxWorks操作系統(tǒng)環(huán)境下實(shí)現(xiàn)大容量電子盤數(shù)據(jù)記錄的軟件設(shè)計(jì)。

1 嵌入式系統(tǒng)

1.1 嵌入式系統(tǒng)概述

嵌入式系統(tǒng)是隨著計(jì)算機(jī)技術(shù)、微處理器技術(shù)、電子技術(shù)、通信技術(shù)、集成電路技術(shù)的發(fā)展而發(fā)展起來的。嵌入式系統(tǒng)已成為計(jì)算機(jī)技術(shù)和計(jì)算機(jī)應(yīng)用領(lǐng)域的一個(gè)重要組成部分。根據(jù)國際電氣和電子工程師協(xié)會(huì)(IEEE)的定義:嵌入式系統(tǒng)是控制、監(jiān)視或輔助設(shè)備、機(jī)器和車間運(yùn)行的裝置,這是從應(yīng)用上來定義的。我們國內(nèi)的定義是:嵌入式系統(tǒng)是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪,適合于應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗方面要求嚴(yán)格的專用計(jì)算機(jī)系統(tǒng)。

嵌入式系統(tǒng)的發(fā)展在硬件上經(jīng)歷了單板機(jī)和單片機(jī)時(shí)代,軟件經(jīng)歷了無操作系統(tǒng)和實(shí)時(shí)嵌入式操作系統(tǒng)的過程。目前,嵌入式系統(tǒng)廣泛應(yīng)用于制造工業(yè)、過程控制、通信、儀器、儀表、汽車、船舶、航空、航天、軍事裝備、消費(fèi)類產(chǎn)品等領(lǐng)域。

嵌入式系統(tǒng)一般具有如圖1所示的基本結(jié)構(gòu)。

圖1 嵌入式系統(tǒng)的基本結(jié)構(gòu)

1.2 嵌入式系統(tǒng)的特點(diǎn)

嵌入式系統(tǒng)具有下面一些特點(diǎn):

1)嵌入式系統(tǒng)通常是面向用戶、面向產(chǎn)品、面向應(yīng)用,不能獨(dú)立與應(yīng)用自行發(fā)展。

2)嵌入式系統(tǒng)的核心部件——嵌入式微處理器的功耗、體積、成本、處理能力和電磁兼容性等方面均受到應(yīng)用要求的制約,基本上是定制和裁剪的。

3)軟件要求固態(tài)化存貯。

4)軟件代碼高質(zhì)量、高可靠性、高時(shí)效性。

5)軟件采用交叉平臺(tái)開發(fā)。

1.3 VxWorks操作系統(tǒng)及開發(fā)環(huán)境

VxWorks操作系統(tǒng)是美國WindRiver公司于1983年設(shè)計(jì)開發(fā)的一種嵌入式實(shí)時(shí)操作系統(tǒng) (RTOS),具有良好的持續(xù)發(fā)展能力、高性能內(nèi)核以及友好的用戶開發(fā)環(huán)境,在嵌入式實(shí)時(shí)操作系統(tǒng)領(lǐng)域占有很大的份額。VxWorks操作系統(tǒng)具有以下特點(diǎn):

1)十分靈活,具有多達(dá)1800個(gè)功能強(qiáng)大的應(yīng)用程序接口;

2)適用面廣,可以適用于從最簡單到最復(fù)雜的產(chǎn)品設(shè)計(jì);

3)可靠性高,可以用于星際探索等關(guān)鍵任務(wù);

4)適用性強(qiáng),可以用于所有的流行的CPU平臺(tái),包括68K、PowerPC、CPU32、x86、Mips、i960等,同時(shí)還支持RISC、DSP技術(shù)。

Tornado是與VxWorks操作系統(tǒng)配套、用于軟件交叉開發(fā)的集成開發(fā)環(huán)境,提供了一種高效的開發(fā)實(shí)時(shí)嵌入式系統(tǒng)的方法,同時(shí)具有與目標(biāo)機(jī)環(huán)境關(guān)系不大的特點(diǎn)。Tornado開發(fā)環(huán)境面向各種目標(biāo)機(jī)環(huán)境,不論目標(biāo)機(jī)是資源豐富的還是資源受限的,其主要在主機(jī)端執(zhí)行,并和遠(yuǎn)程端目標(biāo)機(jī)共享基于主機(jī)的動(dòng)態(tài)鏈接器和符號(hào)表。圖2顯示了Tornado主要的主機(jī)組件接口和目標(biāo)機(jī)之間的關(guān)系,通過目標(biāo)服務(wù)器和目標(biāo)機(jī)代理來實(shí)現(xiàn)主機(jī)工具和VxWorks間的通信。

圖2 Tornado結(jié)構(gòu)圖

2 系統(tǒng)設(shè)計(jì)

2.1 系統(tǒng)概述

該系統(tǒng)是某型武器系統(tǒng)的一部分,主要功能是實(shí)現(xiàn)各個(gè)系統(tǒng)之間的傳輸以及數(shù)據(jù)記錄。該系統(tǒng)包含四個(gè)具有各自功能的子系統(tǒng)。其中,中控機(jī)是其核心,作為該軟件的運(yùn)行硬件環(huán)境,控制管理系統(tǒng)內(nèi)部各個(gè)子系統(tǒng)之間有序的協(xié)調(diào)工作,實(shí)現(xiàn)GJB289A、低速RS422和高速RS422等硬件接口的工作,并在工作過程中記錄這些數(shù)據(jù)。

中控機(jī)主要配置參數(shù)如下:

1)CPU:選用Intel MG80486DX 25~33MHz;

2)存貯器:配置了Flash存貯器、SRAM存貯器和EEPROM存貯器;

3)MBI接口:用來實(shí)現(xiàn)GJB289A數(shù)據(jù)總線通信輸出,單通道、雙余度;

4)422接口:用來實(shí)現(xiàn)低速422接口數(shù)據(jù)的通信,4路,速率可以通過軟件設(shè)置,在該系統(tǒng)使用的速率為115.2K;

5)高速422接口:用來實(shí)現(xiàn)高速422接口數(shù)據(jù)的通信,2路,傳輸速率不小于530K;

6)電子盤:用來記錄各種數(shù)據(jù),容量1G,采用Flash芯片,內(nèi)置了升溫電路。

2.2 軟件需求

根據(jù)系統(tǒng)的研制要求,該軟件應(yīng)實(shí)現(xiàn)以下功能:1)進(jìn)行外部系統(tǒng)與本系統(tǒng)之間的數(shù)字信息交換:采集下發(fā)的指令,并上報(bào)自身的狀態(tài);

2)采集、解算外部系統(tǒng)下傳的火控?cái)?shù)據(jù)和控制命令,按照系統(tǒng)要求進(jìn)行處理。

3)記錄高速422數(shù)據(jù)、系統(tǒng)之間的通信數(shù)據(jù)以及內(nèi)部通信、狀態(tài)數(shù)據(jù)到電子盤上,數(shù)據(jù)記錄能夠滿足系統(tǒng)多次上電工作記錄的要求;

4)控制內(nèi)部給子系統(tǒng)協(xié)調(diào)有序工作;

5)控制系統(tǒng)內(nèi)部的自檢以及周期性監(jiān)測;

在進(jìn)行該軟件設(shè)計(jì)的時(shí)候,除了要考慮運(yùn)行環(huán)境平臺(tái)以及系統(tǒng)自身的需求外,還需要考慮下面一些性能方面的需求:

1)在軟件中,既存在著傳輸周期為25ms的數(shù)據(jù),又存在傳輸周期為40ms的數(shù)據(jù),在設(shè)計(jì)必須考慮這些數(shù)據(jù)的傳輸周期以及可靠性。

2)軟件設(shè)計(jì)開發(fā)應(yīng)遵照相應(yīng)的硬件結(jié)構(gòu),對(duì)硬件資源開銷約束,時(shí)間余量、存貯余量均不少于30%。

3)由于該系統(tǒng)是一個(gè)多線程任務(wù)系統(tǒng),存在幾個(gè)線程同時(shí)運(yùn)行的情況,因此必須在設(shè)計(jì)時(shí)保證系統(tǒng)的實(shí)時(shí)性。

2.3 軟件設(shè)計(jì)

2.3.1 軟件結(jié)構(gòu)設(shè)計(jì)

根據(jù)嵌入式系統(tǒng)的結(jié)構(gòu)模型、結(jié)合該軟件特點(diǎn),該任務(wù)軟件結(jié)構(gòu)從總體上劃分三層:操作系統(tǒng)、應(yīng)用層、驅(qū)動(dòng)層。其中,操作系統(tǒng)作為該任務(wù)軟件的頂層,負(fù)責(zé)任務(wù)軟件的啟動(dòng)和RAM存儲(chǔ)映像的建立,并控制任務(wù)的調(diào)度;應(yīng)用層完成所有系統(tǒng)功能的實(shí)現(xiàn)和控制管理的處理,應(yīng)用層包括下面一些模塊;驅(qū)動(dòng)層直接負(fù)責(zé)硬件的操作。

2.3.2 軟件模塊設(shè)計(jì)

由于存在著兩種不同周期的數(shù)據(jù)需要傳輸,因此為了滿足該要求,在軟件設(shè)計(jì)的時(shí)候建立兩個(gè)線程:一個(gè)線程為25ms的周期任務(wù),另外一個(gè)線程為40ms的周期任務(wù),同時(shí)將周期任務(wù)切換的中斷時(shí)間設(shè)置為5ms,這樣既可以保證滿足系統(tǒng)的要求,也可以保證任務(wù)周期、減少任務(wù)切換的時(shí)間。

25ms周期任務(wù)為主要工作線程,大部分工作就在該線程中。根據(jù)前面的介紹,VxWorks操作系統(tǒng)提供了多種任務(wù)之間的數(shù)據(jù)交換和同步方式,比如信號(hào)量(包括二進(jìn)制、計(jì)數(shù)、互斥)、消息隊(duì)列、共享內(nèi)存、管道等。由于使用信號(hào)量、消息隊(duì)列等通信方式相對(duì)于使用共享內(nèi)存的方式要多一些時(shí)間開銷,因此在該軟件設(shè)計(jì)時(shí),25ms周期任務(wù)、40ms周期任務(wù)之間主要通過共享內(nèi)存方式來實(shí)現(xiàn)通信。

在進(jìn)行該軟件設(shè)計(jì)的時(shí)候,需要著重考慮將高速數(shù)據(jù)記錄到電子盤的設(shè)計(jì)。由于該軟件運(yùn)行平臺(tái)為單CPU系統(tǒng),需要完成邏輯計(jì)算、RS422傳輸、高速數(shù)據(jù)傳輸和記錄。RS422的傳輸速率為115.2K,需要傳輸?shù)淖止?jié)數(shù)為60幾個(gè),大約花在這方面的時(shí)間為5.874ms;25ms周期任務(wù)和40ms的周期任務(wù)的邏輯計(jì)算等功能的運(yùn)行時(shí)間大約4到5ms,因此用到兩路高速數(shù)據(jù)采集、記錄到電子盤的時(shí)間不能超過7ms,否則就不能滿足系統(tǒng)設(shè)計(jì)的要求,也可能會(huì)影響任務(wù)的實(shí)時(shí)性。而且,由于這是大容量Flash電子盤第一次運(yùn)用在實(shí)時(shí)環(huán)境下,難度比較大。

綜合各種因素考慮,首先排除利用操作系統(tǒng)提供的文件系統(tǒng)進(jìn)行數(shù)據(jù)記錄,改為直接訪問電子盤的物理地址進(jìn)行讀寫,而且使用匯編語言進(jìn)行讀寫函數(shù)的編寫,這是因?yàn)槔梦募到y(tǒng)需要進(jìn)行一系列的處理,比如邏輯地址與物理地址的映射轉(zhuǎn)換,這樣的時(shí)間開銷大,在目前的硬件環(huán)境是不可能保證系統(tǒng)任務(wù)的執(zhí)行時(shí)間。同時(shí),為了滿足系統(tǒng)多次加電記錄不覆蓋數(shù)據(jù)的要求,將電子盤的物理地址從使用上分成幾個(gè)等同的分區(qū),每次上電記錄到不同的分區(qū)上。

其次,改進(jìn)軟件的流程。在傳統(tǒng)的軟件設(shè)計(jì)以及該項(xiàng)目設(shè)計(jì)之初,采用如圖3所示的處理流程。經(jīng)過測試發(fā)現(xiàn),這樣處理時(shí)間開銷也比較大,因?yàn)榇嬖谥容^多的讀寫電子盤命令。

圖3 電子盤讀寫改進(jìn)后的流程

經(jīng)過仔細(xì)考慮和討論,采用如圖4所示的流程。相對(duì)于前面的流程,主要增加了一個(gè)操作系統(tǒng)支持的環(huán)形緩沖區(qū)。在該流程中,在初始化的時(shí)候調(diào)用庫函數(shù)為每路高速數(shù)據(jù)建立一個(gè)環(huán)形緩沖區(qū),大小為20K,比如,ppRngBufA=rngCreate(1024*20)。接著在主工作線程中,通過查詢、搬移數(shù)據(jù)函數(shù)每個(gè)周期去查詢高速RS422接口的寄存器狀態(tài),存貯寄存器半滿將數(shù)據(jù)導(dǎo)入到環(huán)形緩沖區(qū),另一方面,軟件周期查詢環(huán)形緩沖區(qū)的數(shù)據(jù)情況,當(dāng)其狀態(tài)滿足2K,就在主工作線程中調(diào)用寫電子盤函數(shù)(該函數(shù)采用C和匯編語言混合編程)將數(shù)據(jù)寫入到電子盤。

采用該軟件設(shè)計(jì)方式后,經(jīng)過試驗(yàn)和使用的測試驗(yàn)證以及完善修改,能滿足該項(xiàng)目系統(tǒng)的要求,能保證系統(tǒng)的實(shí)時(shí)性。

圖4 電子盤記錄改進(jìn)后的流程

3 結(jié)論

在嵌入式系統(tǒng)中,通過使用該軟件設(shè)計(jì)方法能實(shí)現(xiàn)實(shí)時(shí)環(huán)境下大容量數(shù)據(jù)記錄的功能。在硬件允許的情況下,結(jié)合數(shù)據(jù)回放分析需求,采用文件系統(tǒng),可使數(shù)據(jù)記錄更靈活,回放更方便。

[1]張大波.嵌入式訓(xùn)練系統(tǒng)原理、設(shè)計(jì)與應(yīng)用.北京:機(jī)械工業(yè)出版社,2005,1.

[2]王金剛.基于VxWorks的嵌入式實(shí)時(shí)系統(tǒng)設(shè)計(jì).北京:清華大學(xué)出版社,2004,10.

[3]周啟平,等.VxWorks開發(fā)指南與Tornado使用手冊(cè).北京:中國電力出版社,2004,7.

[4]肖忠炳,等.基于VxWorks的大容量SATA電子盤驅(qū)動(dòng)實(shí)現(xiàn).北京:航空電子技術(shù),2002(1).

[5]邵興.下串口通信程序設(shè)計(jì)與應(yīng)用.北京:電子技術(shù),2011(10).

猜你喜歡
電子盤線程嵌入式
郵幣卡電子盤發(fā)展研究
搭建基于Qt的嵌入式開發(fā)平臺(tái)
列控裝置設(shè)計(jì)與應(yīng)用化
科技尚品(2017年5期)2017-05-30 04:46:51
淺談linux多線程協(xié)作
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
雙刃郵幣電子盤
Altera加入嵌入式視覺聯(lián)盟
倍福 CX8091嵌入式控制器
Linux線程實(shí)現(xiàn)技術(shù)研究
么移動(dòng)中間件線程池并發(fā)機(jī)制優(yōu)化改進(jìn)
招远市| 诸暨市| 南康市| 盐边县| 新干县| 阿拉善右旗| 滦平县| 汉源县| 论坛| 新安县| 澜沧| 依安县| 肇庆市| 云龙县| 津南区| 霍城县| 晋州市| 乌兰察布市| 丰城市| 大兴区| 白沙| 永善县| 济宁市| 依安县| 宁陕县| 徐汇区| 扎赉特旗| 历史| 桂东县| 阳曲县| 周至县| 句容市| 溆浦县| 伊吾县| 赣州市| 临朐县| 祁东县| 日土县| 乌鲁木齐市| 客服| 普定县|