《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 醫(yī)用動(dòng)態(tài)電源管理模塊設(shè)計(jì)方案
醫(yī)用動(dòng)態(tài)電源管理模塊設(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)用戶(hù)無(wú)操作時(shí)段大于某一閾值時(shí),則進(jìn)入IDLE狀態(tài),,用戶(hù)按假關(guān)機(jī)鍵進(jìn)入STOP狀態(tài),,這時(shí)系統(tǒng)功耗很低。為了便于管理,,應(yīng)用層對(duì)電源管理狀態(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背光和鍵盤(pán)LED),、LCD和傳感器驅(qū)動(dòng),,其次才是CPU
Abstract:
Key words :

引言

與其他便攜式電子產(chǎn)品一樣,血流參數(shù)檢測(cè)儀要做到小巧纖薄,,堅(jiān)固耐用,,性能可靠,而且待機(jī)時(shí)間長(zhǎng),。電源管理就是為了減少系統(tǒng)在空閑時(shí)間的能量消耗,,使嵌入式系統(tǒng)的有效能量供給率最大化,從而延長(zhǎng)電池的供電時(shí)間,。為了延長(zhǎng)電池的使用時(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頻率或者電壓,。這樣可以在滿(mǎn)足瞬時(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)用戶(hù)無(wú)操作時(shí)段大于某一閾值時(shí),,則進(jìn)入IDLE狀態(tài),用戶(hù)按假關(guān)機(jī)鍵進(jìn)入STOP狀態(tài),,這時(shí)系統(tǒng)功耗很低,。為了便于管理,,應(yīng)用層對(duì)電源管理狀態(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背光和鍵盤(pán)LED)、LCD和傳感器驅(qū)動(dòng),,其次才是CPU,,電源管理狀態(tài)遷移如圖1所示。

系統(tǒng)的電源管理狀態(tài)遷移

圖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為L(zhǎng)CD模塊供電,,供電電壓為3.3V和200VCA,。

電池充電的電路原理為:當(dāng)CPU檢測(cè)到有外接電源時(shí),CPU使用ADC檢測(cè)電池二端的電壓,,并判斷是否需要充電;當(dāng)電池兩端電壓低于設(shè)定值時(shí),,打開(kāi)Charge電路給電池充電,并檢測(cè)充電電流,,以保證電池安全有效的充電,,充電至設(shè)定值時(shí)停止充電;當(dāng)無(wú)外接電源時(shí),電池為整個(gè)系統(tǒng)供電,,CPU檢測(cè)電池電壓,,當(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為L(zhǎng)CD模塊提供二組電壓,,其中3.3 V為L(zhǎng)CD顯示提供電壓,,200VAC為L(zhǎng)CD的背光提供電壓。

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)供電方式接口,通過(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)(正在充電或電池已充滿(mǎn));

◆ 電池溫度檢測(cè)接口,,通過(guò)此接口驅(qū)動(dòng)程序可檢測(cè)到電池的溫度,,電池溫度和電池電量相結(jié)合可用來(lái)計(jì)算電池的使用時(shí)間,同時(shí)在電池過(guò)熱(電池有問(wèn)題)時(shí)向用戶(hù)報(bào)警,,提醒用戶(hù)關(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;

◆ 用戶(hù)程序通過(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具體值為:



(3)power_44b0_ioctl()函數(shù)設(shè)計(jì)

函數(shù)原形:static int power_44b0_ioctl (struct inode *inode, struct file *filp,unsigned int cmd, unsigned int arg),。

功能說(shuō)明:設(shè)備ioctl的操作函數(shù)。

參數(shù)說(shuō)明:inode,,文件指針,,執(zhí)行操作類(lèi)型,根據(jù)操作類(lèi)型指定不同參數(shù),。

返回值:0表示成功,,否則返回ENOTTY。

判斷cmd的值,,根據(jù)cmd的不同值進(jìn)行不同的操作,,電源設(shè)備的ioctl主要實(shí)現(xiàn)以下14種操作:



(4)power_key_44b0_interrupt

函數(shù)原形:static void power_key_44b0_interrupt(int irq, void *dev_id, struct pt_regs *regs) 。

功能說(shuō)明:響應(yīng)關(guān)機(jī)鍵,,進(jìn)入stop模式,。

參數(shù)說(shuō)明:中斷號(hào),設(shè)備id,寄存器結(jié)構(gòu),。

下面介紹函數(shù)的算法描述,。

在正常狀態(tài)下:



2 總結(jié)

儀器配置2200mAh的鎳氫電池,經(jīng)過(guò)測(cè)試,,電源管理模塊使整個(gè)系統(tǒng)的功耗降低了60%,。實(shí)驗(yàn)表明,利用動(dòng)態(tài)電源管理,,可對(duì)便攜式醫(yī)療儀器實(shí)現(xiàn)有效電源管理,。

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。