基于NucleusPLUS的嵌入式系統(tǒng)的軟件設(shè)計
發(fā)布時間:2008/9/4 0:00:00 訪問次數(shù):572
引言
現(xiàn)今社會,毒品走私比較猖獗,對人民的生命財產(chǎn)、社會穩(wěn)定構(gòu)成了一定的威脅,同時大氣監(jiān)測以及對有毒氣體的監(jiān)控也是刻不容緩的。所開發(fā)的離子遷移譜儀,是一種利用ims(離子遷移譜技術(shù))的專用探測儀,它在確定的溫度、氣壓、電場條件下,通過精確測定離子在電場作用下穿過固定距離的遷移時間,來認(rèn)定被測可疑物質(zhì)中是否具有某些化學(xué)成分的分子,并對某些特殊的化學(xué)物質(zhì)能夠發(fā)出報警信息,從而可用來檢測毒品及有毒氣體。
該系統(tǒng)的工作原理如下:通過細(xì)節(jié)匹配,對離化后物質(zhì)的等離子圖的波峰位置(即物質(zhì)的遷移時間)的提取來鑒定物質(zhì)的具體成分。系統(tǒng)的原理框圖如圖1所示。
圖1 系統(tǒng)原理框圖
離子遷移譜儀需要讀取實(shí)時數(shù)據(jù),并作分析、處理,要求每25ms處理1000個離子信號數(shù)據(jù),具有一定的實(shí)時性。同時,它還需對離子管內(nèi)的溫度、氣壓、電壓等參數(shù)進(jìn)行讀取、控制。設(shè)備分析時,要求能迅速地判斷出物質(zhì)的成分(不超過20秒),而此過程中,涉及到大量的實(shí)時數(shù)據(jù)處理?梢婋x子遷移譜儀嵌入式系統(tǒng)對容量和速度要求較高,不僅要實(shí)時數(shù)據(jù)處理,還要對多個參數(shù)進(jìn)行控制。為了保證系統(tǒng)的可靠性,提高開發(fā)效率,在離子遷移譜儀中必須引入嵌入式實(shí)時操作系統(tǒng)。
嵌入式rtos選擇
可用于嵌入式系統(tǒng)軟件開發(fā)的操作系統(tǒng)很多,但關(guān)鍵是要選擇一個適合的嵌入式實(shí)時操作系統(tǒng)。在離子遷移譜儀實(shí)時系統(tǒng)的設(shè)計中,我們對嵌入式rtos的要求如下:
(1)實(shí)時性
使用時,必須保證進(jìn)程調(diào)用和處理的快速性,因?yàn)闄z測的樣品信息需及時分析處理。
。ǎ玻┓(wěn)定性
作為系統(tǒng)設(shè)計的軟件平臺,需要具有相當(dāng)?shù)姆(wěn)定性。從而保證離子遷移譜儀檢測系統(tǒng)即使在多變的外部環(huán)境下如氣壓、溫度等,也能夠正確執(zhí)行預(yù)定的動作。
。ǎ常﹥(nèi)核規(guī)模較小
由于整個系統(tǒng)的硬件資源有限(我們配備了2m的flash),因此源代碼必須足夠的小,以便寫入存儲器,提高運(yùn)行效率。
綜合考慮各個因素,我們選擇了嵌入式實(shí)時操作系統(tǒng)nucleus plus。nucleusplus是美國著名rtos廠商ati(acceleratedtechnologyinc)公司,為實(shí)時嵌入式應(yīng)用而設(shè)計的一個搶先式多任務(wù)操作系統(tǒng)內(nèi)核。其95%的代碼是用ansic寫成的,非常便于移植并支持大多數(shù)類型的處理器。nucleus。穑欤酰笫且唤Mc函數(shù)庫,應(yīng)用程序代碼與核心函數(shù)連接在一起,生成一個目標(biāo)代碼,下載到目標(biāo)板的ram中或直接燒錄到目標(biāo)板的rom中執(zhí)行。在典型的目標(biāo)環(huán)境中,nucleus。穑欤酰蠛诵拇a區(qū)一般不超過20k字節(jié)大小,內(nèi)核規(guī)模非常小。
。睿酰悖欤澹酰蟆。穑欤酰蟮奶攸c(diǎn)
。睿酰悖欤澹酰蟆。穑欤酰髢(nèi)核的系統(tǒng)結(jié)構(gòu)
nucleus。穑欤酰蟮南到y(tǒng)結(jié)構(gòu)如圖2所示。nucleus plus內(nèi)核的主要目的是管理實(shí)時任務(wù)的競爭運(yùn)行,為應(yīng)用提供各種便利,快速響應(yīng)外部事件,實(shí)現(xiàn)實(shí)時性。nucleus。穑欤酰鬄橄到y(tǒng)開發(fā)提供以下支持:多任務(wù)管理,任務(wù)之間可以按照優(yōu)先級和時間片方式來共享cpu資源,通過郵箱、隊列和管道進(jìn)行通信,任務(wù)之間的同步和互斥通過信號量、事件組和信號進(jìn)行;nucleusp。欤酰筇峁﹦討B(tài)和分區(qū)內(nèi)存兩種存儲器管理機(jī)制,還提供定時器來處理周期性事件及任務(wù)的睡眠和掛起超時。nucleus。穑欤酰髮⑦@些機(jī)制稱之為軟件組件,它為每一個軟件組件提供了一系列的系統(tǒng)調(diào)用,任務(wù)與nucleus。穑欤酰蟮慕换ナ窃谙到y(tǒng)調(diào)用的界面上進(jìn)行的。
從圖2可以看出,利用nucleus plus開發(fā)平臺,用戶只需編寫任務(wù)代碼和中斷服務(wù)程序代碼,在任務(wù)代碼和中斷服務(wù)程序代碼中利用系統(tǒng)調(diào)用實(shí)現(xiàn)和nucleus。穑欤酰蟮慕换,由nucleus plus來調(diào)度多個任務(wù)并行執(zhí)行,實(shí)現(xiàn)cpu的共享。由于nucleusplus根據(jù)優(yōu)先級和時間片方式來共享cpu資源,所以只要任務(wù)和中斷服務(wù)程序的優(yōu)先級設(shè)置得當(dāng),系統(tǒng)的實(shí)時性就能保證。
圖2 nucleus。穑欤酰笙到y(tǒng)結(jié)構(gòu)
多任務(wù)管理
。睿酰悖欤澹酰蟆。穑欤酰髮(shí)時操作系統(tǒng)中的任務(wù)(task)相當(dāng)于分時操作系統(tǒng)中的進(jìn)程。在nucleusplus操作系統(tǒng)中,任務(wù)可劃分為5種基本狀態(tài):運(yùn)行狀態(tài)、就緒狀態(tài)、掛起狀態(tài)、終止?fàn)顟B(tài)和完成狀態(tài),具體見表1所述。
表1 任務(wù)的五種狀態(tài)
各個任務(wù)之
引言
現(xiàn)今社會,毒品走私比較猖獗,對人民的生命財產(chǎn)、社會穩(wěn)定構(gòu)成了一定的威脅,同時大氣監(jiān)測以及對有毒氣體的監(jiān)控也是刻不容緩的。所開發(fā)的離子遷移譜儀,是一種利用ims(離子遷移譜技術(shù))的專用探測儀,它在確定的溫度、氣壓、電場條件下,通過精確測定離子在電場作用下穿過固定距離的遷移時間,來認(rèn)定被測可疑物質(zhì)中是否具有某些化學(xué)成分的分子,并對某些特殊的化學(xué)物質(zhì)能夠發(fā)出報警信息,從而可用來檢測毒品及有毒氣體。
該系統(tǒng)的工作原理如下:通過細(xì)節(jié)匹配,對離化后物質(zhì)的等離子圖的波峰位置(即物質(zhì)的遷移時間)的提取來鑒定物質(zhì)的具體成分。系統(tǒng)的原理框圖如圖1所示。
圖1 系統(tǒng)原理框圖
離子遷移譜儀需要讀取實(shí)時數(shù)據(jù),并作分析、處理,要求每25ms處理1000個離子信號數(shù)據(jù),具有一定的實(shí)時性。同時,它還需對離子管內(nèi)的溫度、氣壓、電壓等參數(shù)進(jìn)行讀取、控制。設(shè)備分析時,要求能迅速地判斷出物質(zhì)的成分(不超過20秒),而此過程中,涉及到大量的實(shí)時數(shù)據(jù)處理?梢婋x子遷移譜儀嵌入式系統(tǒng)對容量和速度要求較高,不僅要實(shí)時數(shù)據(jù)處理,還要對多個參數(shù)進(jìn)行控制。為了保證系統(tǒng)的可靠性,提高開發(fā)效率,在離子遷移譜儀中必須引入嵌入式實(shí)時操作系統(tǒng)。
嵌入式rtos選擇
可用于嵌入式系統(tǒng)軟件開發(fā)的操作系統(tǒng)很多,但關(guān)鍵是要選擇一個適合的嵌入式實(shí)時操作系統(tǒng)。在離子遷移譜儀實(shí)時系統(tǒng)的設(shè)計中,我們對嵌入式rtos的要求如下:
。ǎ保⿲(shí)時性
使用時,必須保證進(jìn)程調(diào)用和處理的快速性,因?yàn)闄z測的樣品信息需及時分析處理。
。ǎ玻┓(wěn)定性
作為系統(tǒng)設(shè)計的軟件平臺,需要具有相當(dāng)?shù)姆(wěn)定性。從而保證離子遷移譜儀檢測系統(tǒng)即使在多變的外部環(huán)境下如氣壓、溫度等,也能夠正確執(zhí)行預(yù)定的動作。
(3)內(nèi)核規(guī)模較小
由于整個系統(tǒng)的硬件資源有限(我們配備了2m的flash),因此源代碼必須足夠的小,以便寫入存儲器,提高運(yùn)行效率。
綜合考慮各個因素,我們選擇了嵌入式實(shí)時操作系統(tǒng)nucleus plus。nucleusplus是美國著名rtos廠商ati(acceleratedtechnologyinc)公司,為實(shí)時嵌入式應(yīng)用而設(shè)計的一個搶先式多任務(wù)操作系統(tǒng)內(nèi)核。其95%的代碼是用ansic寫成的,非常便于移植并支持大多數(shù)類型的處理器。nucleus。穑欤酰笫且唤Mc函數(shù)庫,應(yīng)用程序代碼與核心函數(shù)連接在一起,生成一個目標(biāo)代碼,下載到目標(biāo)板的ram中或直接燒錄到目標(biāo)板的rom中執(zhí)行。在典型的目標(biāo)環(huán)境中,nucleus。穑欤酰蠛诵拇a區(qū)一般不超過20k字節(jié)大小,內(nèi)核規(guī)模非常小。
nucleus plus的特點(diǎn)
。睿酰悖欤澹酰蟆。穑欤酰髢(nèi)核的系統(tǒng)結(jié)構(gòu)
nucleus。穑欤酰蟮南到y(tǒng)結(jié)構(gòu)如圖2所示。nucleus。穑欤酰髢(nèi)核的主要目的是管理實(shí)時任務(wù)的競爭運(yùn)行,為應(yīng)用提供各種便利,快速響應(yīng)外部事件,實(shí)現(xiàn)實(shí)時性。nucleus plus為系統(tǒng)開發(fā)提供以下支持:多任務(wù)管理,任務(wù)之間可以按照優(yōu)先級和時間片方式來共享cpu資源,通過郵箱、隊列和管道進(jìn)行通信,任務(wù)之間的同步和互斥通過信號量、事件組和信號進(jìn)行;nucleusp lus提供動態(tài)和分區(qū)內(nèi)存兩種存儲器管理機(jī)制,還提供定時器來處理周期性事件及任務(wù)的睡眠和掛起超時。nucleus。穑欤酰髮⑦@些機(jī)制稱之為軟件組件,它為每一個軟件組件提供了一系列的系統(tǒng)調(diào)用,任務(wù)與nucleus。穑欤酰蟮慕换ナ窃谙到y(tǒng)調(diào)用的界面上進(jìn)行的。
從圖2可以看出,利用nucleus。穑欤酰箝_發(fā)平臺,用戶只需編寫任務(wù)代碼和中斷服務(wù)程序代碼,在任務(wù)代碼和中斷服務(wù)程序代碼中利用系統(tǒng)調(diào)用實(shí)現(xiàn)和nucleus。穑欤酰蟮慕换ィ桑睿酰悖欤澹酰蟆。穑欤酰髞碚{(diào)度多個任務(wù)并行執(zhí)行,實(shí)現(xiàn)cpu的共享。由于nucleusplus根據(jù)優(yōu)先級和時間片方式來共享cpu資源,所以只要任務(wù)和中斷服務(wù)程序的優(yōu)先級設(shè)置得當(dāng),系統(tǒng)的實(shí)時性就能保證。
圖2。睿酰悖欤澹酰蟆。穑欤酰笙到y(tǒng)結(jié)構(gòu)
多任務(wù)管理
。睿酰悖欤澹酰蟆。穑欤酰髮(shí)時操作系統(tǒng)中的任務(wù)(task)相當(dāng)于分時操作系統(tǒng)中的進(jìn)程。在nucleusplus操作系統(tǒng)中,任務(wù)可劃分為5種基本狀態(tài):運(yùn)行狀態(tài)、就緒狀態(tài)、掛起狀態(tài)、終止?fàn)顟B(tài)和完成狀態(tài),具體見表1所述。
表1 任務(wù)的五種狀態(tài)
各個任務(wù)之
熱門點(diǎn)擊
- Linux環(huán)境下基于I2C總線的EEPROM
- 基于ARM9芯片S3C2410異常中斷程序設(shè)
- 三星ARM9 S3C2410 的的特點(diǎn)及其軟
- 嵌入式操作系統(tǒng)SMARTOS介紹
- VxWorks下實(shí)時多任務(wù)程序的實(shí)現(xiàn)
- 基于CP2200的嵌入式以太網(wǎng)接口設(shè)計
- ARMSYS-ICE型ARM仿真器FAQ
- 基于ARM開發(fā)板的車輛檢測系統(tǒng)控制單元設(shè)計
- 嵌入式以太網(wǎng)控制芯片
- 425嵌入式開發(fā)平臺簡介
推薦技術(shù)資料
- DFRobot—玩的就是
- 如果說新車間的特點(diǎn)是“靈動”,F(xiàn)QPF12N60C那么... [詳細(xì)]
- 100A全集成電源模塊R
- Teseo-VIC6A GNSS車用精準(zhǔn)定位
- 高效先進(jìn)封裝工藝
- 模數(shù)轉(zhuǎn)換器 (Analog-to-Digit
- 集成模數(shù)轉(zhuǎn)換器(ADC)
- 128 通道20 位電流數(shù)字轉(zhuǎn)換器̴
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究