基于μc/OS-II的多傳感器測(cè)控系統(tǒng)研究
3.2 μc/OS-II的移植
μC/OS-II是一種專(zhuān)門(mén)為微控制器設(shè)計(jì)的搶占式實(shí)時(shí)多任務(wù)操作系統(tǒng),它以源代碼的形式給出。其內(nèi)核主要提供進(jìn)程管理、時(shí)間管理、內(nèi)存管理等服務(wù)。系統(tǒng)最多支持56個(gè)任務(wù),每個(gè)任務(wù)均有一個(gè)獨(dú)有的優(yōu)先級(jí)。由于其內(nèi)核為搶先式,所以總是處于運(yùn)行態(tài)最高優(yōu)先級(jí)的任務(wù)占用CPU。系統(tǒng)提供了豐富的API函數(shù),實(shí)現(xiàn)進(jìn)程之間的通信以及進(jìn)程狀態(tài)的轉(zhuǎn)化。
μC/OS-II的軟件體系結(jié)構(gòu)如圖4所示。從圖4中可以看到,如果要使用μC/OS-II, 必須為其編寫(xiě)OS_CPU.H、OS_CPU_C.C、OS_CPU_A.ASM三個(gè)文件。這三個(gè)文件是與芯片的硬件特性有關(guān)的,它們主要提供任務(wù)切換與系統(tǒng)時(shí)鐘的功能。其它文件用C寫(xiě)成,它們?yōu)橄到y(tǒng)提供任務(wù)管理、任務(wù)之間通信、時(shí)間管理以及內(nèi)存管理等功能。
圖4 μC/OS-II 軟件體系結(jié)構(gòu)示意圖
μC/OS-II系統(tǒng)時(shí)鐘:以凌陽(yáng)SPCE061A單片機(jī)的TMB2時(shí)基信號(hào)作為系統(tǒng)時(shí)鐘,每經(jīng)歷一個(gè)時(shí)鐘節(jié)拍的時(shí)間將產(chǎn)生一次中斷,在中斷服務(wù)子程序中會(huì)調(diào)用OSTickISR()函數(shù)。
移植工作的主要內(nèi)容:用#define 設(shè)置一個(gè)常量值(OS_CPU.H);聲明10個(gè)數(shù)據(jù)類(lèi)型(OS_CPU.H); 用#define 聲明3個(gè)宏(OS_CPU.H);用C語(yǔ)言編寫(xiě)6個(gè)簡(jiǎn)單的函數(shù)(OS_CPU_C.C);編寫(xiě)4個(gè)匯編語(yǔ)言函數(shù)(OS_CPU_A.ASM)。
4 結(jié)論
μC/OS-II RTOS是當(dāng)今嵌入式應(yīng)用的熱點(diǎn)之一,應(yīng)用RTOS提高了測(cè)控系統(tǒng)系統(tǒng)的可靠性、實(shí)時(shí)性,降低了研發(fā)周期。本文基于μC/OS-II構(gòu)建的測(cè)控系統(tǒng)應(yīng)用在漯河農(nóng)業(yè)局2000萬(wàn)公斤紅薯儲(chǔ)藏保鮮工程項(xiàng)目中,完全達(dá)到了設(shè)計(jì)的控制指標(biāo):溫度10-14℃±0.5℃ ,濕度80―95%RH±2%,氧濃度≮4.5%。降低了紅薯因?yàn)闇囟葷穸妊鯘舛炔徽T斐傻淖冑|(zhì),完好率100%,與不使用本系統(tǒng)的倉(cāng)儲(chǔ)對(duì)比減少損耗25%,約500萬(wàn)公斤,直接經(jīng)濟(jì)效益500多萬(wàn)元,同時(shí)也取得了較好的社會(huì)效益。另外,該系統(tǒng)具有較好的可擴(kuò)展性,很容易擴(kuò)展到其它對(duì)溫度、濕度或者氧濃度有一定要求的領(lǐng)域。經(jīng)試驗(yàn),溫度測(cè)定范圍可以達(dá)到-20-85℃±0.5℃;濕度20―98%RH±2%;氧濃度≮1.5%。所以,該測(cè)控系統(tǒng)具有較廣的應(yīng)用前景。
本文創(chuàng)新點(diǎn):采用高性能SPCE061A單片機(jī)和高精度溫度傳感器、濕度傳感器和氧濃度傳感器,通過(guò)移植μC/OS-II多任務(wù)實(shí)時(shí)操作系統(tǒng),構(gòu)建了高精度、高可靠性的多傳感器嵌入式測(cè)控系統(tǒng)。實(shí)際工程應(yīng)用表明,系統(tǒng)擴(kuò)展性好、測(cè)控精度高、性能穩(wěn)定。
評(píng)論