嵌入式操作系統(tǒng)在高速實(shí)時(shí)信號(hào)處理系統(tǒng)中的應(yīng)用(3)
2012年05月29日 09:20 來(lái)源:互聯(lián)網(wǎng) 作者:秩名 我要評(píng)論(0)
3 系統(tǒng)軟件設(shè)計(jì)與實(shí)現(xiàn)
VG4軟件開(kāi)發(fā)主要分為操作系統(tǒng)的配置生成和應(yīng)用程序的開(kāi)發(fā)兩部分。操作系統(tǒng)的生成主要是對(duì)BSP的配置和對(duì)VxWorks組件進(jìn)行裁剪。在應(yīng)用程序的開(kāi)發(fā)中,為了滿足實(shí)時(shí)性要求,應(yīng)對(duì)任務(wù)進(jìn)行合理劃分,使程序達(dá)到多任務(wù)并行操作。
任務(wù)劃分需要遵循以下原則:
?。?)功能內(nèi)聚性。對(duì)于功能聯(lián)系比較緊密的各工作可以用一個(gè)任務(wù)來(lái)運(yùn)行。如果用多個(gè)任務(wù)進(jìn)行相互之間的消息通信,將會(huì)影響系統(tǒng)效率。
?。?)時(shí)間緊迫性。對(duì)于實(shí)時(shí)性要求比較高的任務(wù),以高優(yōu)先級(jí)運(yùn)行,以保證事件的實(shí)時(shí)響應(yīng)。
(3)周期執(zhí)行原則。對(duì)于一個(gè)需要周期性執(zhí)行的工作,應(yīng)作為一個(gè)獨(dú)立的模塊完成。
3.1 操作系統(tǒng)的配置
在嵌入式操作系統(tǒng)上進(jìn)行開(kāi)發(fā)要滿足實(shí)時(shí)性和資源有限性的要求,因此與通用操作系統(tǒng)存在差異。在生成操作系統(tǒng)時(shí)剪裁不需要的組件,添加需要的組件,使系統(tǒng)盡量精簡(jiǎn)。操作系統(tǒng)及其應(yīng)用程序主要運(yùn)行在內(nèi)存中,操作系統(tǒng)太大會(huì)占用很多的內(nèi)存空間。應(yīng)用程序運(yùn)行時(shí)要對(duì)每個(gè)任務(wù)分配合適的內(nèi)存。為了滿足實(shí)時(shí)性,內(nèi)存分配要盡可能快,因此不采用通用操作系統(tǒng)中復(fù)雜而完善的內(nèi)存分配策略,而采用簡(jiǎn)單、快速的內(nèi)存分配方案。如果系統(tǒng)對(duì)于實(shí)時(shí)性和可靠性的要求極高,不能容忍一點(diǎn)延時(shí)或者一次分配失敗,最好采用靜態(tài)分配方案,也就是在程序編譯時(shí)所需要的內(nèi)存都已經(jīng)分配好了。例如,火星探測(cè)器上的嵌入式系統(tǒng)就必須采用靜態(tài)分配方案。
雷達(dá)系統(tǒng)對(duì)實(shí)時(shí)性要求很高,所以本系統(tǒng)盡量采用靜態(tài)分配方案。但是VG4內(nèi)存有限,在一些子任務(wù)中也采用動(dòng)態(tài)分配方案。這里VxWorks采用First Fit的內(nèi)存動(dòng)態(tài)分配方式,當(dāng)系統(tǒng)需要?jiǎng)討B(tài)分配內(nèi)存時(shí),可以保證在很短的時(shí)間內(nèi)分配。但是采用這種方式容易產(chǎn)生大量的內(nèi)存碎片,而VxWorks沒(méi)有清除碎片的功能,因此對(duì)系統(tǒng)動(dòng)態(tài)分配內(nèi)存要非常小心。
根據(jù)本系統(tǒng)的實(shí)際情況,接口板傳給VG4的信處檢測(cè)結(jié)果數(shù)據(jù)量基本不變,對(duì)于這批數(shù)據(jù)可以以另一種方式存儲(chǔ)。通過(guò)修改BSP的配置,從RAM中分配一塊用戶保留的存儲(chǔ)區(qū)域。這塊存儲(chǔ)區(qū)是用戶專用的,不會(huì)被系統(tǒng)覆蓋。用戶可以通過(guò)絕對(duì)地址對(duì)其進(jìn)行讀寫(xiě)。具體方法是設(shè)置RAM布局中User reserved區(qū)域,系統(tǒng)默認(rèn)為0,設(shè)置這塊RAM使之滿足原始數(shù)據(jù)的大小。
3.2 應(yīng)用程序的設(shè)計(jì)
應(yīng)用程序運(yùn)行在VxWorks操作系統(tǒng)上,其功能包括對(duì)系統(tǒng)初始化、根據(jù)輸入命令對(duì)各模塊進(jìn)行控制及實(shí)時(shí)顯示信號(hào)處理結(jié)果。存在著如下幾類數(shù)據(jù)通信:VG4向定時(shí)接口板傳送控制參數(shù),讀取定時(shí)接口板中存儲(chǔ)的信處檢測(cè)結(jié)果數(shù)據(jù),響應(yīng)外部中斷,顯示目標(biāo)信息以及獲得外部輸入的控制信息。考慮到C語(yǔ)言的平臺(tái)無(wú)關(guān)性和代碼簡(jiǎn)介高效性,應(yīng)用程序采用C語(yǔ)言編寫(xiě)。
系統(tǒng)劃分為6個(gè)任務(wù):(1)系統(tǒng)監(jiān)控:?jiǎn)?dòng)和監(jiān)控其他任務(wù)。(2)數(shù)據(jù)傳輸:響應(yīng)VME中斷,與定時(shí)接口板進(jìn)行數(shù)據(jù)通信。(3)數(shù)據(jù)處理:對(duì)信處檢測(cè)結(jié)果數(shù)據(jù)進(jìn)行處理,扣除虛假目標(biāo)并轉(zhuǎn)換格式以方便顯示。(4)終端顯示:顯示檢測(cè)目標(biāo)結(jié)果和系統(tǒng)狀態(tài)信息到屏幕。(5)指令控制:響應(yīng)控制開(kāi)關(guān)的命令和獲取慣導(dǎo)數(shù)據(jù)。(6)錯(cuò)誤處理:對(duì)出現(xiàn)錯(cuò)誤的任務(wù)做出響應(yīng)的處理,并在終端顯示。
中斷服務(wù)程序響應(yīng)定時(shí)VME7號(hào)中斷,程序如下:
圖4顯示了各任務(wù)的優(yōu)先級(jí)。從中可以看到中斷服務(wù)程序的優(yōu)先級(jí)最高,因?yàn)閷?shí)時(shí)系統(tǒng)要及時(shí)響應(yīng)外部中斷信號(hào)。
指令控制任務(wù)首先獲取外部開(kāi)關(guān)命令和慣導(dǎo)數(shù)據(jù),以消息的形式發(fā)送給數(shù)據(jù)傳輸任務(wù)。當(dāng)中斷來(lái)臨時(shí),中斷服務(wù)程序馬上釋放同步信號(hào)量 syncSemId。數(shù)據(jù)傳輸任務(wù)一直等待這個(gè)信號(hào)量,當(dāng)獲取到這個(gè)信號(hào)量時(shí),立即把從指令控制任務(wù)收到的消息轉(zhuǎn)換成模式字寫(xiě)到接口板的雙口RAM中,接著讀取信處檢測(cè)結(jié)果數(shù)據(jù)。數(shù)據(jù)處理子任務(wù)獲取同步信號(hào)量syncSemId2后對(duì)收到的信處檢測(cè)結(jié)果數(shù)據(jù)進(jìn)行處理,這一任務(wù)最耗時(shí)。終端顯示任務(wù)以消息的形式接收上一任務(wù)的處理結(jié)果,并顯示處理結(jié)果及系統(tǒng)目前的運(yùn)行狀態(tài)信息。信號(hào)量廣泛應(yīng)用于同步和對(duì)臨界資源的保護(hù),信號(hào)量的建立如下:
系統(tǒng)監(jiān)控任務(wù)包括初始化各任務(wù)及實(shí)時(shí)監(jiān)控各任務(wù)運(yùn)行是否正常。當(dāng)檢測(cè)到某任務(wù)運(yùn)行不正常時(shí),啟動(dòng)錯(cuò)誤處理任務(wù)。錯(cuò)誤處理任務(wù)根據(jù)情況給予相應(yīng)處理,并在終端顯示。當(dāng)系統(tǒng)發(fā)生嚴(yán)重錯(cuò)誤時(shí),系統(tǒng)會(huì)自動(dòng)重啟。
本文設(shè)計(jì)的信號(hào)處理機(jī)主要應(yīng)用于直升機(jī)火控系統(tǒng),現(xiàn)已經(jīng)過(guò)驗(yàn)收,各項(xiàng)指標(biāo)符合要求。隨著設(shè)計(jì)的改進(jìn),系統(tǒng)功能將進(jìn)一步完善,結(jié)構(gòu)會(huì)更加通用模塊化,從而實(shí)現(xiàn)不改變整個(gè)硬件系統(tǒng)平臺(tái),只對(duì)程序進(jìn)行相應(yīng)的修改,便可應(yīng)用于其他領(lǐng)域的信號(hào)處理系統(tǒng)中。
本文導(dǎo)航
- 第 1 頁(yè):嵌入式操作系統(tǒng)在高速實(shí)時(shí)信號(hào)處理系統(tǒng)中的應(yīng)用(1)
- 第 2 頁(yè):嵌入式實(shí)時(shí)操作系統(tǒng)VxWorks
- 第 3 頁(yè):系統(tǒng)軟件設(shè)計(jì)與實(shí)現(xiàn)
上周熱點(diǎn)文章排行榜
- 日本開(kāi)發(fā)出用于振動(dòng)發(fā)電新合金
- 外國(guó)牛人教你一步步快速打造首臺(tái)機(jī)器人(超詳
- 全球首款惠普Z(yǔ)1電腦拆解:德州儀器、英特爾成最
- 揭秘磁懸浮燈泡無(wú)線電力傳輸(附完整電路圖)
- 華為畢業(yè)四年菜鳥(niǎo)身價(jià)千萬(wàn) HTC最需要害怕的新對(duì)
- 華為內(nèi)部工資和待遇詳解,50%員工空談28萬(wàn)年薪?
- 蘋(píng)果汽車iCar創(chuàng)意設(shè)計(jì)圖曝光:再次改變世界!
- 芯片級(jí)拆解:剖析新型LED燈泡設(shè)計(jì)的藝術(shù)
- 最具創(chuàng)意LED發(fā)明:仿生LED隱形眼鏡 虛擬天空
- 單片機(jī)設(shè)計(jì)經(jīng)驗(yàn)技巧精華集錦
上周資料下載排行榜
論壇熱帖
- 7種你從沒(méi)想過(guò)的LED照明應(yīng)用,最后一個(gè)亮瞎了 assingle
- 2012,我們畢業(yè)啦-畢業(yè)季分享活動(dòng)正式上線 assingle
- 【博客分享季】 我的單片機(jī)入門 kisswo
- 碉堡了,這是5星級(jí)賓館的標(biāo)準(zhǔn)阿~ 東十三少
- 【我們畢業(yè)啦】二逼青歡樂(lè)多-畢業(yè)照片回顧 cch6213
- 話說(shuō)今天終于收到耳機(jī)了,曬圖 小鷹fighting
- 【畢業(yè)設(shè)計(jì)秀】謝謝A670521546在百忙之中幫我,原理圖已上傳 jiang874896
- FPGA設(shè)計(jì)大賽設(shè)計(jì)方案提交規(guī)則和截止時(shí)間須知 wangka
- 發(fā)布《精通LabVIEW虛擬一起程序設(shè)計(jì)》暨-【送書(shū)活動(dòng)預(yù)告】 assingle
- 【我們畢業(yè)啦】那年 我們很快樂(lè) hh824829
熱門博文
創(chuàng)新實(shí)用技術(shù)專題
嵌入式技術(shù)應(yīng)用
嵌入式資料下載
- 基于北斗二代系統(tǒng)的嵌入式船用導(dǎo)航儀硬件設(shè)計(jì)
- 嵌入式Linux下CAN總線驅(qū)動(dòng)程序設(shè)計(jì).rar
- DAC7714在嵌入式激光跟蹤儀中的應(yīng)用
- 嵌入式RISC微處理器核設(shè)計(jì)研究
- 嵌入式VxWorks系統(tǒng)開(kāi)發(fā)與應(yīng)用_王學(xué)龍
- 嵌入式藍(lán)牙PSTN網(wǎng)關(guān)的設(shè)計(jì)與實(shí)現(xiàn)
- 嵌入式USB MiniHost系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 嵌入式雷達(dá)發(fā)射機(jī)故障監(jiān)測(cè)系統(tǒng)的研制
- 嵌入式實(shí)時(shí)操作系統(tǒng)VxWorks實(shí)驗(yàn)教程_王韜
- 嵌入式壓力傳感器的偏置對(duì)脈搏信號(hào)的影響
高速技術(shù)應(yīng)用
高速資料下載
- 高速數(shù)字電路設(shè)計(jì)
- 基于RocketIO的高速光纖紅外圖像串行傳輸?shù)膶?shí)現(xiàn)
- 基于TS201的高速數(shù)據(jù)記錄儀的設(shè)計(jì)與實(shí)現(xiàn)
- 高速光通訊測(cè)試
- 大容量高速開(kāi)關(guān)裝置的應(yīng)用
- 低壓工作的高速10bit Pipelined ADC
- 高速電路板設(shè)計(jì)指南(中文版)
- VIPA-惠朋Speed7 高速 CPU
- AD9764和高速FIFO在TMS320C6701系統(tǒng)中的應(yīng)
- 全交流高速?gòu)?fù)卷機(jī)電控系統(tǒng)的研究
熱評(píng)
- LM3S9B96開(kāi)發(fā)板手冊(cè)及原理圖
- STM32F103ZET6紅牛電路圖
- 高通發(fā)布全新設(shè)計(jì)DragonBoard板
- NI推出Single-Board RIO嵌入式介面
- protel99se正式漢化版免費(fèi)下載
- hi3515海思原版原理圖
- matlab 7.0軟件下載(免費(fèi)破解版)
- TX-1C型單片機(jī)開(kāi)發(fā)板原理圖
- 三菱A500變頻器原理圖
- 三相IGBT全橋隔離驅(qū)動(dòng)電源設(shè)計(jì)
博文
- 問(wèn)什么郵箱激活不了
- 八成大學(xué)生認(rèn)同先就業(yè)后擇業(yè)
- 我的心路
- 為什么郵箱激活不了
- 到底有多少人在校園里浪費(fèi)青春
- 你是否曾這樣傷害過(guò)一個(gè)人?
- 到底有多少人在校園里浪費(fèi)青春
- 小小的電阻,您真的吃透了它的用法嗎
- 2012.5.12 第一個(gè)DS18B20程序
- 寧愿睡地板,也要?jiǎng)?chuàng)業(yè)做老板!
帖子
- 【博客分享季】 我的單片機(jī)入門 kisswo
- 7種你從沒(méi)想過(guò)的LED照明應(yīng)用,最后一個(gè)亮瞎了 assingle
- labview設(shè)計(jì)憤怒的小鳥(niǎo) 海角一客
- 發(fā)布《精通LabVIEW虛擬一起程序設(shè)計(jì)》暨-【送書(shū)活動(dòng)預(yù)告】 assingle
- 【畢業(yè)設(shè)計(jì)秀】基于51單片機(jī)的音樂(lè)頻譜時(shí)鐘 我本邪惡
- 2012(單片機(jī)學(xué)習(xí)工具包)40G視頻教程 donghhao
- 本人設(shè)計(jì)的一款游戲耳機(jī),給大家分享一下 qiu4466
- 【我們畢業(yè)啦】二逼青歡樂(lè)多-畢業(yè)照片回顧 cch6213
- 2012,我們畢業(yè)啦-畢業(yè)季分享活動(dòng)正式上線 assingle
- Protel教程免費(fèi)獲取 QQ190175688
用戶評(píng)論
查看全部 條評(píng)論
查看全部 條評(píng)論>>