閱讀 | 訂閱
閱讀 | 訂閱
測(cè)試測(cè)量

基于μc/OS-II的多傳感器測(cè)控系統(tǒng)研究

星之球激光 來(lái)源:與非網(wǎng)2012-04-20 我要評(píng)論(0 )   

1 引言 隨著嵌入式系統(tǒng)的廣泛應(yīng)用 , 原來(lái)單一傳感器的嵌入式系統(tǒng)逐漸向嵌入式多傳感器系統(tǒng)發(fā)展。由此提出了多傳感器任務(wù)調(diào)度分配的問(wèn)題。本文結(jié)合紅薯保鮮儲(chǔ)藏工程涉及...

 

1 引言

隨著嵌入式系統(tǒng)的廣泛應(yīng)用,原來(lái)單一傳感器的嵌入式系統(tǒng)逐漸向嵌入式多傳感器系統(tǒng)發(fā)展。由此提出了多傳感器任務(wù)調(diào)度分配的問(wèn)題。本文結(jié)合紅薯保鮮儲(chǔ)藏工程涉及到的溫度濕度氧濃度等參數(shù)要求,采用高性能16位單片機(jī)SPCE061A作為控制芯片,移植可裁剪的多任務(wù)實(shí)時(shí)操作系統(tǒng)μc/OS-II管理多任務(wù)的處理,選用高精度溫度傳感器DS18B20、濕度傳感器HIH3605、氧濃度傳感器DW-02構(gòu)建了一個(gè)高精度高性能高可靠性的多傳感器嵌入式測(cè)控系統(tǒng),各個(gè)被控參數(shù)可調(diào)范圍寬,較好的滿足了工程要求。系統(tǒng)的主要參數(shù):工作溫度:1014±0.5℃;工作濕度:8095%RH±5%;氧濃度:≮4.5%。同時(shí),實(shí)現(xiàn)了溫濕度數(shù)據(jù)的顯示與保存;可輸出溫度、濕度、氧濃度等調(diào)節(jié)的控制信號(hào),具有故障和報(bào)警狀態(tài)提示等功能。

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

2.1 單片機(jī)系統(tǒng)設(shè)計(jì)

系統(tǒng)硬件電路原理框圖如圖1所示,主要由SPCE061A單片機(jī)、溫濕度傳感器、氧濃度度傳感器、LCD顯示電路、鍵盤(pán)電路、RS232通信電路、時(shí)鐘電路等組成。SPCE061A是一款基于μ'nSP內(nèi)核的16位單片機(jī)。

2.2 傳感器電路設(shè)計(jì)

溫度檢測(cè)電路選用Dalls公司生產(chǎn)的三線式數(shù)字溫度傳感器DS18B20。該器件只有3個(gè)引腳,不需要外部元件,一條數(shù)據(jù)線進(jìn)行通信。該電路的檢測(cè)溫度范圍設(shè)計(jì)為0~+50℃;精度為0.5℃;用9bit數(shù)字量來(lái)表示溫度;每次將溫度轉(zhuǎn)換成數(shù)字量需200ms。在單總線工作方式下,允許一條信號(hào)線上掛接多個(gè)DS18B20,DS18B20都有唯一的ROM代碼。在多點(diǎn)溫度測(cè)控系統(tǒng)中,ROM代碼是識(shí)別和操作DS18B20的基礎(chǔ);無(wú)論讀取還是選擇對(duì)某一個(gè)傳感器進(jìn)行操作,SPCE061A必須發(fā)送64ROM代碼。

本系統(tǒng)用3DS18B20來(lái)實(shí)現(xiàn)對(duì)環(huán)境溫度的檢測(cè),保證在被測(cè)環(huán)境范圍內(nèi),溫度分布均勻,測(cè)量更加準(zhǔn)確,使用時(shí)將DS18B20放置在被測(cè)環(huán)境的不同位置。獲得溫度信息時(shí),先由SPCE061AIOB15腳發(fā)送一個(gè)1ms的復(fù)位脈沖,以使DS18B20復(fù)位后將向SPCE061A 發(fā)送一個(gè)回應(yīng)脈沖,SPCE061A接到回應(yīng)脈沖后將發(fā)送讀DS18B20序列號(hào)的讀ROM命令,以分別讀取三個(gè)DS18B20#p#分頁(yè)標(biāo)題#e#的序列號(hào);然后,SPCE061A再發(fā)出定位命令以選擇在線的DS1820并進(jìn)行溫度轉(zhuǎn)換。當(dāng)溫度轉(zhuǎn)換完成后,SPCE061AIOB15腳會(huì)發(fā)送DS1820的存儲(chǔ)命令,從而完成溫度信息數(shù)據(jù)的轉(zhuǎn)換和讀取。

2路濕度傳感器采用Honeywell公司生產(chǎn)的HIH3605,它為熱固性聚合物電容傳感器,帶集成信號(hào)處理電路,5 V恒壓供電, 放大線形電壓輸出0~5VDC對(duì)應(yīng)0~100%RH(相對(duì)濕度),精度為±3%RH。低功耗設(shè)計(jì)200μA驅(qū)動(dòng)電流,寬工作溫度范圍-40~+85,穩(wěn)定性好,低的溫度飄移,抗化學(xué)腐蝕性能優(yōu)良。由于HIH3605為大信號(hào)輸出且線性度良好,因此,可省去復(fù)雜的信號(hào)放大及整形電路,只需經(jīng)過(guò)CPU內(nèi)部的A/D轉(zhuǎn)換器將與濕度值成正比的電壓值轉(zhuǎn)換成16位數(shù)字量,和標(biāo)準(zhǔn)進(jìn)行比對(duì),然后決定是進(jìn)行加濕還是通風(fēng)(溫度適宜的風(fēng))。

2路氧濃度檢測(cè)選用 DW-02型氧濃度傳感器,該傳感器是一種化學(xué)式的氣體擴(kuò)散型燃料電池,廣泛應(yīng)用在環(huán)保節(jié)能、航天等領(lǐng)域,用以小環(huán)境氧濃度監(jiān)測(cè)。主要特點(diǎn)是體積小、響應(yīng)快、線性好、溫漂小等特點(diǎn),穩(wěn)定。主要技術(shù)指標(biāo): 響應(yīng)時(shí)間≤30(滿量程的90%) ;測(cè)量范圍050% O2 ;溫度系數(shù)>0.003% O2/;線性誤差+0.2%-0.1% O2 ;使用溫度范圍-20+50;輸出電流1.1mA+15% 。本系統(tǒng)測(cè)定的含氧量不得低于4.5%

由于是冬季,當(dāng)儲(chǔ)藏室環(huán)境溫度高于14℃或濕度大于95%RH、或氧濃度低于4.5%設(shè)定值時(shí),不能直接將冷空氣送入儲(chǔ)藏室,必須將室外空氣加熱到12℃送入,否則,會(huì)造成紅薯受冷變質(zhì)。三個(gè)參數(shù)中,最主要的是溫度值,然后是濕度。


2.3
鍵盤(pán)、顯示電路及通信接口設(shè)計(jì)

系統(tǒng)鍵盤(pán)電路由3根線連接至SPCE061AIOA0~IOA2組成,它們分別是功能鍵,增加鍵,減少鍵,用來(lái)實(shí)現(xiàn)溫、濕度氧濃度的上、下限及控制時(shí)間的設(shè)置功能。測(cè)控儀采用HT1621驅(qū)動(dòng)128LCD顯示器,用于顯示現(xiàn)場(chǎng)的溫、濕度值、O2#p#分頁(yè)標(biāo)題#e#濃度以及故障和報(bào)警狀態(tài)。HT1621是一個(gè)128(32×4)段、內(nèi)存映射、多功能、I2C接口的LCD驅(qū)動(dòng)器。這里利用其兩線串行模式與單片機(jī)接口,簡(jiǎn)化了與單片機(jī)的接口電路設(shè)計(jì),并減少了硬件資源的占用。

為了將實(shí)時(shí)采集的氧濃度、溫濕度數(shù)值保存下來(lái),SPCE061A通過(guò)IOB7/10 RS232總線將氧濃度溫濕度值傳輸給上位PC機(jī),以便于主計(jì)算機(jī)完成數(shù)據(jù)存儲(chǔ)。

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

3.1 系統(tǒng)任務(wù)分配

為了充分發(fā)揮操作系統(tǒng)在任務(wù)調(diào)度、任務(wù)管理、任務(wù)通信、時(shí)間管理和內(nèi)存管理等方面的優(yōu)勢(shì),首先必須根據(jù)需要實(shí)現(xiàn)的功能,合理的劃分任務(wù)和分配任務(wù)的優(yōu)先級(jí)。按溫濕度測(cè)控系統(tǒng)所要求實(shí)現(xiàn)的功能,將整個(gè)系統(tǒng)劃分為并行存在的任務(wù)層和中斷程序。

多任務(wù)系統(tǒng)在運(yùn)行時(shí)每個(gè)任務(wù)好像獨(dú)立占用CPU一樣,因此系統(tǒng)必須為每個(gè)任務(wù)開(kāi)辟一塊內(nèi)存空間作為該任務(wù)的任務(wù)堆棧。該堆棧的作用是保存任務(wù)被切換前時(shí)CPU各寄存器的值以及系統(tǒng)堆棧的數(shù)據(jù)。在進(jìn)行任務(wù)切換時(shí)需要完成工作的主要步驟如下:①將當(dāng)前任務(wù)CPU所有的寄存器壓棧;②將CPU系統(tǒng)堆棧的數(shù)據(jù)全部拷貝到當(dāng)前任務(wù)的任務(wù)堆棧中;③得到下一個(gè)處于運(yùn)行態(tài)優(yōu)先級(jí)最高的任務(wù)的任務(wù)堆棧的指針;④恢復(fù)下一個(gè)任務(wù)的CPU寄存器的值;⑤恢復(fù)下一個(gè)任務(wù)的系統(tǒng)堆棧中的數(shù)據(jù);⑥通過(guò)中斷返回指令或函數(shù)返回指令,間接修改PC寄存器的值來(lái)進(jìn)行任務(wù)切換。在為μC/OS-II編寫(xiě)任務(wù)切換代碼時(shí)需要注意的是:μC/OS-II在每次發(fā)生中斷后都會(huì)產(chǎn)生任務(wù)調(diào)度,但在中斷結(jié)束后進(jìn)行的任務(wù)切換,不能調(diào)用普通任務(wù)切換函數(shù),這是因?yàn)樵谥袛噙^(guò)程中往往伴隨將CPU的狀態(tài)寄存器壓棧操作。

任務(wù)切換方法:凌陽(yáng)SPACE061A單片機(jī)有R1-R5 五個(gè)通用寄存器,還有1個(gè)SRCPU狀態(tài)寄存器),再加上PC,總共有7個(gè)CPU內(nèi)部寄存器在任務(wù)切換時(shí)需要保存。μC/OS-II系統(tǒng)調(diào)用OSCtxSw( )來(lái)實(shí)現(xiàn)任務(wù)的切換。系統(tǒng)中并行存在的幾個(gè)任務(wù)按優(yōu)先級(jí)從高到低依次是:系統(tǒng)監(jiān)視任務(wù)、數(shù)據(jù)采集任務(wù)、數(shù)據(jù)處理任務(wù)、數(shù)據(jù)輸出任務(wù)、顯示任務(wù)。在實(shí)際系統(tǒng)中,每個(gè)任務(wù)都是無(wú)限循環(huán)的,分別實(shí)現(xiàn)某一特定的功能,μC/OS-II內(nèi)核來(lái)進(jìn)行調(diào)度。系統(tǒng)監(jiān)視任務(wù)主要完成系統(tǒng)可靠性的監(jiān)管;數(shù)據(jù)采集任務(wù)主要完成溫度濕度氧濃度的檢測(cè)和A/D轉(zhuǎn)換;數(shù)據(jù)處理任務(wù)主要完成采集數(shù)據(jù)和設(shè)定數(shù)據(jù)的比較判定;數(shù)據(jù)輸出任務(wù)主要完成數(shù)據(jù)輸出給LCD、通過(guò)RS232傳輸給主機(jī)、以及輸出控制信號(hào)給繼電器電路,完成通風(fēng)、加熱、加濕等功能;顯示任務(wù)主要完成溫度濕度氧濃度參數(shù)的顯示。

3.2 μc/OS-II的移植

μC/OS-II是一種專門(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)核為搶先式#p#分頁(yè)標(biāo)題#e#,所以總是處于運(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)定。

 

 

轉(zhuǎn)載請(qǐng)注明出處。

暫無(wú)關(guān)鍵詞
免責(zé)聲明

① 凡本網(wǎng)未注明其他出處的作品,版權(quán)均屬于激光制造網(wǎng),未經(jīng)本網(wǎng)授權(quán)不得轉(zhuǎn)載、摘編或利用其它方式使用。獲本網(wǎng)授權(quán)使用作品的,應(yīng)在授權(quán)范圍內(nèi)使 用,并注明"來(lái)源:激光制造網(wǎng)”。違反上述聲明者,本網(wǎng)將追究其相關(guān)責(zé)任。
② 凡本網(wǎng)注明其他來(lái)源的作品及圖片,均轉(zhuǎn)載自其它媒體,轉(zhuǎn)載目的在于傳遞更多信息,并不代表本媒贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé),版權(quán)歸原作者所有,如有侵權(quán)請(qǐng)聯(lián)系我們刪除。
③ 任何單位或個(gè)人認(rèn)為本網(wǎng)內(nèi)容可能涉嫌侵犯其合法權(quán)益,請(qǐng)及時(shí)向本網(wǎng)提出書(shū)面權(quán)利通知,并提供身份證明、權(quán)屬證明、具體鏈接(URL)及詳細(xì)侵權(quán)情況證明。本網(wǎng)在收到上述法律文件后,將會(huì)依法盡快移除相關(guān)涉嫌侵權(quán)的內(nèi)容。

網(wǎng)友點(diǎn)評(píng)
0相關(guān)評(píng)論
精彩導(dǎo)讀