醫(yī)用動(dòng)態(tài)電源管理模塊設(shè)計(jì)方案
1.2.1 驅(qū)動(dòng)提供接口
系統(tǒng)硬件電源管理模塊為系統(tǒng)電源管理功能的實(shí)現(xiàn)提供必要的硬件基礎(chǔ),并為驅(qū)動(dòng)程序提供如下編程接口:
◆ 系統(tǒng)供電方式接口,通過(guò)此接口驅(qū)動(dòng)和應(yīng)用程序,可知道系統(tǒng)此時(shí)是由電池供電還是由外接電源供電;
◆ 電池電量檢測(cè)接口,通過(guò)此接口驅(qū)動(dòng)程序可檢測(cè)到系統(tǒng)的電量,應(yīng)用程序由此可實(shí)現(xiàn)系統(tǒng)電池電量的顯示及電池電量報(bào)警等功能;
◆ 電池充電狀態(tài),當(dāng)系統(tǒng)使用外接電源供電時(shí),可對(duì)系統(tǒng)中的電池充電,通過(guò)此接口驅(qū)動(dòng)可獲取電池的充電狀態(tài)(正在充電或電池已充滿);
◆ 電池溫度檢測(cè)接口,通過(guò)此接口驅(qū)動(dòng)程序可檢測(cè)到電池的溫度,電池溫度和電池電量相結(jié)合可用來(lái)計(jì)算電池的使用時(shí)間,同時(shí)在電池過(guò)熱(電池有問(wèn)題)時(shí)向用戶報(bào)警,提醒用戶關(guān)機(jī)或更換電池。
電源管理驅(qū)動(dòng)部分主要給上層提供如下接口。
(1)取得電池電量及系統(tǒng)用電情況
通過(guò)端口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)由外部電源供電。
(2)電池充電控制
控制端口為GPA9,0為充電,1為關(guān)閉充電,當(dāng)電池電源低于3.8 V時(shí),GPA9設(shè)為0,開(kāi)始充電(應(yīng)用層完成)。
5V電源只用于數(shù)據(jù)采集,非數(shù)據(jù)采集狀態(tài)下關(guān)閉5 V電源(在ADC中實(shí)現(xiàn))??刂贫丝谑荊PC2,0為打開(kāi),1為關(guān)閉。
(3)假關(guān)機(jī)
關(guān)機(jī)狀態(tài)下,只關(guān)閉鍵盤(pán)燈和液晶屏,但系統(tǒng)仍處于正常運(yùn)行狀態(tài)。關(guān)閉鍵盤(pán)燈、液晶屏以及其他外設(shè)的工作由上層軟件實(shí)現(xiàn)。
1.2.2 程序流程
uClinux啟動(dòng)時(shí)調(diào)用module_init(Power_44b0_init)函數(shù),進(jìn)而power_44b0_init被調(diào)用,進(jìn)行相關(guān)的初始化:
◆ power0_44b0_reg_init()初始化硬件寄存器;
◆ power_44b0_device_register()注冊(cè)power_44b0_fops以及中斷處理函數(shù)power_key_44b0_interrupt(),并且初始化定時(shí)器power_down_timer;
◆ 用戶程序通過(guò)power_44b0_open()函數(shù)打開(kāi)/dev/power設(shè)備,通過(guò)power_44b0_release()函數(shù)釋放/dev/power設(shè)備,通過(guò)power_44b0_ioctl()函數(shù)實(shí)現(xiàn)對(duì)設(shè)備的各種操作;
◆ 關(guān)機(jī)進(jìn)入stop模式,通過(guò)中斷處理函數(shù)power_key_44b0_interrupt()處理關(guān)機(jī)鍵對(duì)應(yīng)的中斷,按下關(guān)機(jī)鍵后用power_down_timer計(jì)時(shí),當(dāng)3s后,power_down_timer對(duì)應(yīng)的動(dòng)作power_down_timer_call()發(fā)生,從而進(jìn)入stop模式。
1.2.3 接口設(shè)計(jì)與接口函數(shù)實(shí)現(xiàn)
(1)數(shù)據(jù)結(jié)構(gòu)說(shuō)明
電源和設(shè)備狀態(tài)由power_status_t的結(jié)果表示。
(2)file_operations的值
電源管理模塊驅(qū)動(dòng)的file_operations具體值為:
評(píng)論