血流檢測儀的動(dòng)態(tài)電源管理模塊設(shè)計(jì)
引言
本文引用地址:http://m.butianyuan.cn/article/86126.htm與其他便攜式電子產(chǎn)品一樣,血流參數(shù)檢測儀要做到小巧纖薄,堅(jiān)固耐用,性能可靠,而且待機(jī)時(shí)間長。因此,系統(tǒng)設(shè)計(jì)要面對降低功耗及延長電池壽命的艱巨挑戰(zhàn)。電源管理模塊是系統(tǒng)非常重要的組成部分,它包括電池充電管理、電池電量檢測、CPU狀態(tài)轉(zhuǎn)換、LCD和鍵盤背光控制。本文將從硬件電路和軟件設(shè)計(jì)兩個(gè)角度實(shí)現(xiàn)這幾方面功能。
大量實(shí)踐證明,系統(tǒng)處于空閑的時(shí)間占整個(gè)運(yùn)行時(shí)間的一大部分。電源管理就是為了減少系統(tǒng)在空閑時(shí)間的能量消耗,使嵌入式系統(tǒng)的有效能量供給率最大化,從而延長電池的供電時(shí)間。為了延長電池的使用時(shí)間,在硬件領(lǐng)域,低功耗硬件電路的設(shè)計(jì)方法得到了廣泛應(yīng)用。然而僅僅利用低功耗硬件電路仍然不夠,在系統(tǒng)設(shè)計(jì)中,提出采用“動(dòng)態(tài)電源管理”概念,即把系統(tǒng)中不在使用的組件關(guān)閉或者進(jìn)入低功耗模式(待機(jī)模式)。另外一種更加有效的方法就是動(dòng)態(tài)可變電壓DVS和動(dòng)態(tài)可變頻率DFS,即在運(yùn)行時(shí)動(dòng)態(tài)地調(diào)節(jié)CPU頻率或者電壓。這樣可以在滿足瞬時(shí)性能的前提下,使得有效能量供給率最大化。
1系統(tǒng)設(shè)計(jì)
整個(gè)儀器設(shè)計(jì)采用S3C44B0芯片和uClinux操作系統(tǒng)。S3C44B0芯片是業(yè)界應(yīng)用較多、功耗較低、成本低的中檔產(chǎn)品。它提供五種工作狀態(tài):NORMAL、SLOW、IDLE、STOP和SL_IDLE[1]。系統(tǒng)正常工作在NORMAL狀態(tài),當(dāng)用戶無操作時(shí)段大于某一閾值時(shí),則進(jìn)入IDLE狀態(tài),用戶按假關(guān)機(jī)鍵進(jìn)入STOP狀態(tài),這時(shí)系統(tǒng)功耗很低。為了便于管理,應(yīng)用層對電源管理狀態(tài)進(jìn)行了細(xì)劃,引入電源管理的六個(gè)狀態(tài):數(shù)據(jù)采集狀態(tài)、正常工作狀態(tài)、準(zhǔn)備狀態(tài)、休息狀態(tài)、IDLE狀態(tài)和STOP狀態(tài)。其中,IDLE狀態(tài)和STOP狀態(tài)與芯片提供的內(nèi)容相同,由應(yīng)用程序負(fù)責(zé)狀態(tài)的遷移。整個(gè)儀器功耗最大的組件是背光(EL背光和鍵盤LED)、LCD和傳感器驅(qū)動(dòng),其次才是CPU,電源管理狀態(tài)遷移如圖1所示。
圖1 系統(tǒng)的電源管理狀態(tài)遷移
1.1 電源管理模型
圖2是電源管理的原理框圖,其中包含6個(gè)模塊:Vcore,Vio,Backup,Charge,Vdriver和Vlcd,它們分別為系統(tǒng)各部分供電。
圖2 系統(tǒng)的電源管理框圖
Vcore為系統(tǒng)內(nèi)核供電,供電電壓為1.8 V;Vio為系統(tǒng)的I/O口供電,供電電壓為3.3V;Backup為系統(tǒng)備份電池供電,電池電壓為3 V;Charge為充電電路,電池電壓為3.6V的充電電池;Vdriver為傳感器供電電路,電壓為±5 V;Vlcd為LCD模塊供電,供電電壓為3.3V和200VCA。
電池充電的電路原理為:當(dāng)CPU檢測到有外接電源時(shí),CPU使用ADC檢測電池二端的電壓,并判斷是否需要充電;當(dāng)電池兩端電壓低于設(shè)定值時(shí),打開Charge電路給電池充電,并檢測充電電流,以保證電池安全有效的充電,充電至設(shè)定值時(shí)停止充電;當(dāng)無外接電源時(shí),電池為整個(gè)系統(tǒng)供電,CPU檢測電池電壓,當(dāng)?shù)陀谀骋辉O(shè)定電壓時(shí),決定報(bào)警還是關(guān)機(jī),以保護(hù)電池。
Vcore和Vio分別為系統(tǒng)的內(nèi)核和I/O口供電,同時(shí)Vio也為存儲(chǔ)器供電。Backup電池為系統(tǒng)的備份電池。
Vdriver為傳感器提供±5 V的電壓,并保證電流為25±1 mA。
Vlcd為LCD模塊提供二組電壓,其中3.3 V為LCD顯示提供電壓,200VAC為LCD的背光提供電壓。
1.2 驅(qū)動(dòng)程序設(shè)計(jì)
1.2.1 驅(qū)動(dòng)提供接口
系統(tǒng)硬件電源管理模塊為系統(tǒng)電源管理功能的實(shí)現(xiàn)提供必要的硬件基礎(chǔ),并為驅(qū)動(dòng)程序提供如下編程接口:
◆ 系統(tǒng)供電方式接口,通過此接口驅(qū)動(dòng)和應(yīng)用程序,可知道系統(tǒng)此時(shí)是由電池供電還是由外接電源供電;
◆ 電池電量檢測接口,通過此接口驅(qū)動(dòng)程序可檢測到系統(tǒng)的電量,應(yīng)用程序由此可實(shí)現(xiàn)系統(tǒng)電池電量的顯示及電池電量報(bào)警等功能;
◆ 電池充電狀態(tài),當(dāng)系統(tǒng)使用外接電源供電時(shí),可對系統(tǒng)中的電池充電,通過此接口驅(qū)動(dòng)可獲取電池的充電狀態(tài)(正在充電或電池已充滿);
◆ 電池溫度檢測接口,通過此接口驅(qū)動(dòng)程序可檢測到電池的溫度,電池溫度和電池電量相結(jié)合可用來計(jì)算電池的使用時(shí)間,同時(shí)在電池過熱(電池有問題)時(shí)向用戶報(bào)警,提醒用戶關(guān)機(jī)或更換電池。
電源管理驅(qū)動(dòng)部分主要給上層提供如下接口。
?。?)取得電池電量及系統(tǒng)用電情況
通過端口ADC1讀取電池電壓。上限電壓為4.2 V,下限電壓為3.6 V ,報(bào)警電壓為3.6 V,強(qiáng)行關(guān)機(jī)電壓為3.4V。數(shù)據(jù)電壓關(guān)系:1024-5 V ;0-0 V。
電池充電管理由硬件實(shí)現(xiàn),但在電池充電到4.2 V時(shí),延時(shí)30min關(guān)閉充電功能(應(yīng)用層完成)。
控制端口為GPC1,1為外部電源供電,0為電池供電。在系統(tǒng)接有外接電源時(shí),系統(tǒng)由外部電源供電。
?。?)電池充電控制
控制端口為GPA9,0為充電,1為關(guān)閉充電,當(dāng)電池電源低于3.8 V時(shí),GPA9設(shè)為0,開始充電(應(yīng)用層完成)。
5V電源只用于數(shù)據(jù)采集,非數(shù)據(jù)采集狀態(tài)下關(guān)閉5 V電源(在ADC中實(shí)現(xiàn))。控制端口是GPC2,0為打開,1為關(guān)閉。
?。?)假關(guān)機(jī)
關(guān)機(jī)狀態(tài)下,只關(guān)閉鍵盤燈和液晶屏,但系統(tǒng)仍處于正常運(yùn)行狀態(tài)。關(guān)閉鍵盤燈、液晶屏以及其他外設(shè)的工作由上層軟件實(shí)現(xiàn)。
評(píng)論