新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于ARM7的RTU微控制器的設(shè)計(jì)

基于ARM7的RTU微控制器的設(shè)計(jì)

作者: 時(shí)間:2011-02-14 來源:網(wǎng)絡(luò) 收藏

(4)等待數(shù)據(jù)發(fā)送結(jié)束時(shí)間T3:有些通信設(shè)備帶有數(shù)據(jù)緩沖區(qū),當(dāng)數(shù)據(jù)從串口發(fā)送給通信設(shè)備時(shí),不是立即就將數(shù)據(jù)發(fā)送出去,而是先暫存在數(shù)據(jù)緩沖區(qū),此時(shí)如果立即關(guān)閉設(shè)備電源,可能有數(shù)據(jù)沒有發(fā)送完,所以需要一個(gè)等待時(shí)間。

(5)設(shè)備關(guān)電時(shí)機(jī):當(dāng)T3 結(jié)束后,立即關(guān)閉設(shè)備的電源。

實(shí)際編程時(shí)T1 的值根據(jù)具體的設(shè)備的數(shù)據(jù)手冊(cè)來確定;T3 的值也需要根據(jù)具體的設(shè)備來調(diào)試,以接收端能準(zhǔn)確可靠的接收到數(shù)據(jù),T3 的值最小為準(zhǔn)。

4.2 CPU 核的功耗管理

CPU 核在沒有任務(wù)可做時(shí)要進(jìn)入低功耗狀態(tài)STOP 模式,在程序中通過空閑任務(wù)連續(xù)運(yùn)行狀態(tài)來判定。當(dāng)所有的任務(wù)都不運(yùn)行時(shí),操作系統(tǒng)會(huì)自動(dòng)運(yùn)行空閑任務(wù),當(dāng)空閑任務(wù)連續(xù)運(yùn)行超過一定的時(shí)間后(超過程序中需要的最大等待時(shí)間),關(guān)閉所有的外設(shè),讓CPU進(jìn)入STOP 模式。具體的實(shí)現(xiàn)是將原有的空閑任務(wù)程序進(jìn)行修改,增加一個(gè)記數(shù)器,當(dāng)記數(shù)到一定的數(shù)值(即一定的時(shí)間)后,進(jìn)入STOP 模式。

修改后的OS_TaskIdle 程序如下:

void OS_TaskIdle (void *pdata)

{

#if OS_CRITICAL_METHOD == 3 /* Allocate storage for CPU status register */

OS_CPU_SR cpu_sr;

#endif

pdata = pdata;

for (;;)

{

OS_ENTER_CRITICAL();

OSIdleCtr++;

OS_EXIT_CRITICAL();

Count = count +1;

If (count > 某個(gè)數(shù)值)

{ 將CPU 進(jìn)入STOP 模式;

}

OSTaskIdleHook();

}

}

由于空閑任務(wù)隨時(shí)可能被別的任務(wù)搶先,當(dāng)重新執(zhí)行空閑任務(wù)時(shí),如接著搶先點(diǎn)繼續(xù)執(zhí)行,全局變量COUNT 沒有被清零,所以在每個(gè)任務(wù)開始運(yùn)行或執(zhí)行結(jié)束后,都需要對(duì)COUNT 清零,這樣可以保證COUNT 重新記數(shù),在FOR 循環(huán)語句中,當(dāng)COUNT 記數(shù)到一定值,CPU 將進(jìn)入STOP 模式。

5 結(jié)束語

經(jīng)過試運(yùn)行后,功耗滿足要求,靜態(tài)功耗小于500μA/12V,在采用10AH 的蓄電池加太陽能板(容量靈活組合),可以保證系統(tǒng)無日照50 天正常工作。由于采用了μCOS-II 操作系統(tǒng),并編寫了硬件驅(qū)動(dòng)程序的內(nèi)核接口和用戶接口,使程序具有良好的移植性,也方便了應(yīng)用程序開發(fā)人員編寫程序。

本文作者創(chuàng)新點(diǎn):提出了一種 和μCOSII 的 低功耗方案。采用 處理機(jī),又根據(jù) 設(shè)備工作特點(diǎn)了電源功耗管理軟件,實(shí)現(xiàn)了RTU 高的處理能力、低的功耗及長時(shí)間的電池供電。

可大規(guī)模應(yīng)用在全國水情測(cè)報(bào)系統(tǒng)中,將會(huì)有500 萬以上的經(jīng)濟(jì)效益。


上一頁 1 2 3 下一頁

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉