電源的軟件管理
電源管理狀態(tài)就是全速工作狀態(tài)與消耗電力最低的休眠狀態(tài)。所以電源管理的主要任務就是適時地在全速工作狀態(tài)和休眠狀態(tài)間切換,從而達到節(jié)省電力的目的。具體的設計思路是在系統(tǒng)初始化時生成一個內(nèi)核守護線程,該線程每隔一定時間檢查一次系統(tǒng)狀態(tài),如果系統(tǒng)持續(xù)處于空閑狀態(tài)的時間大于預設值,就調(diào)用匯編指令使系統(tǒng)進入休眠,直至用戶操作將其喚醒。
1.喚醒
當用戶試圖喚醒系統(tǒng)時,ARM要從Sleep狀態(tài)恢復到正常工作狀態(tài),需要經(jīng)過一個蘇醒的過程,該過程初期的動作與正常的Reset過程一樣。
加入這些代碼之后就可以正常將系統(tǒng)由睡眠狀態(tài)喚醒了。
2.切換到睡眠狀態(tài)
主要功能是保存棧地址,清除數(shù)據(jù)緩存,將內(nèi)存置為自我刷新狀態(tài)等。當所有步驟按順序完成后,執(zhí)行:
將系統(tǒng)切換進睡眠狀態(tài)。
3.電壓的采集
電壓采集是一個簡單的程序,可以使系統(tǒng)跟蹤當前的電壓情況。
數(shù)據(jù)采集任務Vo_Sampling_Task()中用OSTimeDly()函數(shù)實現(xiàn)4個節(jié)拍延時,即每隔4×0.5=2ms任務執(zhí)行一次,這就保證了20ms采樣10個點的取樣速率。
評論