摘要:在設(shè)計任何電子設(shè)備時,低功耗都是追求的目標(biāo)之一。就便攜式醫(yī)療設(shè)備而言,實現(xiàn)功耗目標(biāo)是成功開發(fā)產(chǎn)品的關(guān)健因素。通過在單個器件中以更高集成度集成多種功能的高級半導(dǎo)體,設(shè)計人員可以極大地縮小醫(yī)療設(shè)備的尺寸,同時通過降低醫(yī)療應(yīng)用(包括植入式設(shè)備、便攜式設(shè)備、家用設(shè)備和安全設(shè)備)中的功耗來延長它們的壽命。本文將說明設(shè)計人員如何利用單片機(MCU)的高級功耗管理功能來降低醫(yī)療應(yīng)用中的功耗。
降低功耗所涉及的設(shè)計問題系統(tǒng)設(shè)計人員面臨著緊湊式和便攜式醫(yī)療電子設(shè)備提出的許多挑戰(zhàn)。為低功耗器件設(shè)計電源可能會非常棘手,因為設(shè)計人員需要考慮系統(tǒng)的電壓/電流需求。在許多低功耗應(yīng)用中,電池是主要電源,在化學(xué)性質(zhì)、性能、容量、尺寸/重量和成本等方面對設(shè)計人員提出了許多挑戰(zhàn)。例如,高容量電池的內(nèi)阻較高,這使它們不適合于大電流應(yīng)用。而與尺寸類似的高內(nèi)阻電池相比,適合于大電流應(yīng)用的電池通常容量較低、重量較大。此外,只能放電的原電池的容量要遠高于可充電電池。由于存在這些限制,設(shè)計人員需要針對特定系統(tǒng)來制定策略,以在成本和性能方面達到最佳效果。
靜態(tài)功耗是一項重要的品質(zhì)指標(biāo),可以指示MCU在低功耗應(yīng)用中的適用情況。對于一些采用高級處理技術(shù)的MCU,在休眠模式下耗用的電流可低于50nA。為了能夠適應(yīng)各種低功耗設(shè)計,有一點非常重要,即MCU能在很寬的電壓范圍內(nèi)工作。例如,在使用堿性電池時,它需要能夠工作于l.SV,因為每節(jié)電池的端電壓為0.9v,且在應(yīng)用中通常使用兩節(jié)電池。選擇可在寬電壓范圍內(nèi)工作的MCU可以延長便攜式設(shè)備的使用壽命。但是,MCU的工作電壓范圍并不是唯一的決定因素。整個系統(tǒng)的工作電壓范圍都必須考慮,包括MCU的外設(shè)。如果系統(tǒng)中的某個單一外設(shè)需要消耗大部分的功率,降低MCU的功耗對系統(tǒng)總功耗幾乎沒有什么影響。
作為一個設(shè)計規(guī)則,如果系統(tǒng)使用了MCU的內(nèi)部外設(shè)(如模數(shù)轉(zhuǎn)換器或EEPROM),則必須注意它的工作范圍。如果某些外設(shè)無法在MCU的整個工作電壓范圍內(nèi)工作,則系統(tǒng)的工作電壓范圍將由外設(shè)決定。同一設(shè)計規(guī)則也適用于所有外設(shè)。在下面幾節(jié)中,將介紹當(dāng)前市場上推出的一些MCU系列產(chǎn)品如何提供用于功耗管理的特殊功能。
降低功耗的方法
控制外設(shè)的功耗
便攜式嵌入式系統(tǒng)功耗管理的核心原則是讓MCU能夠控制內(nèi)部和外部設(shè)備的功耗。設(shè)計便攜式醫(yī)療設(shè)備時,先確定必需的物理模式或狀態(tài),然后對設(shè)計進行分割,以關(guān)閉不需要的電路。例如,在電池應(yīng)用中不需要欠壓復(fù)位(BOR)功能,因此可以通過禁止該功能來節(jié)省功耗。針對這一目標(biāo),從許多不同供應(yīng)商中選擇合適的MCU可以幫助減少外部元件和降低成本。如前面所述,可在寬電壓范圍內(nèi)工作的MCU可以使系統(tǒng)設(shè)計多樣化。
以一個基于MCU的醫(yī)療數(shù)據(jù)記錄儀為例,它包含了傳感器、EEPROM和電池,如圖1所示。該醫(yī)療設(shè)備是低功耗嵌人式設(shè)計的典型示例,它可以獲取傳感器讀數(shù)、換算傳感器數(shù)據(jù)、將數(shù)據(jù)存儲到EEPROM,并等待下一個傳感器讀數(shù)。在傳統(tǒng)的系統(tǒng)中,可能隨時都在為EEPROM、傳感器及其偏置電路供電,但這樣電源使用效率不高。那么,怎樣節(jié)省類似系統(tǒng)的功耗呢?答案在于在不需要這些外設(shè)時通過程序控制來關(guān)閉它們。在給出的示例中,設(shè)計人員可以使用MCU的1/0引腳和幾個字節(jié)的代碼根據(jù)需要來為EEPROM和傳感器供電。因為1/0引腳可提供最高20mA的電流,不需要提供額外的元件來開關(guān)電源。
圖1基于MCU的醫(yī)療數(shù)據(jù)記錄儀應(yīng)用實例
功耗管理模式
在嵌入式應(yīng)用中,節(jié)省功耗的一種常見方式是,在系統(tǒng)對MCU的資源需求很低時,定期將MCU置為休眠模式。然后,要執(zhí)行有用工作時,通過中斷或在看門狗定時器計時期滿之后喚醒系統(tǒng)的MCU。讓MCU處于休眠模式的時間越長,應(yīng)用的平均功耗就越低。只需要確保看門狗的延時周期適于應(yīng)用。通常,工作方式如下:如應(yīng)用需要MCU每隔一段固定的時間處理一次采樣數(shù)據(jù),看門狗定時器應(yīng)在所需的時間周期內(nèi)將MCU喚醒一次。使用該功能時,需選擇支持相應(yīng)看門狗周期的MCU。
時鐘速度選擇
對于低功耗應(yīng)用,設(shè)計人員需特別注意振蕩器起振時間,起振在MCU空閑(不執(zhí)行任何代碼)時發(fā)生。在起振期間,振蕩器穩(wěn)定的過程中,MCU不執(zhí)行任何操作,但圖2無線接收器雙速啟動階段它會一直消耗功率。在MCu的數(shù)據(jù)手冊中通常不會提及振蕩器起振時間,因為該時間因晶振、負載電容、系統(tǒng)環(huán)境、振蕩器模式等因素而不同。在使用較低時鐘速度的設(shè)計中,振蕩器起振時間對功耗的影響非常大。在系統(tǒng)時鐘需要在休眠和喚醒之間切換的應(yīng)用中,振蕩器起振時間會帶來顯著差異。低頻振蕩器在運行時的功耗較低,但也需要較多的起振時間,這會影響系統(tǒng)的功耗。
大多數(shù)常見的MCU都實現(xiàn)了某種類型的振蕩器起振定時器,用以確保正確起振和提供足夠時間來建立振蕩。該定時器用于防止MCU在振蕩器穩(wěn)定之前執(zhí)行代碼這種意外情況的發(fā)生,但它也延長了每個喚醒周期需要的時間。對問題的解決方案是使用雙速振蕩器啟動。
在這種方案中,MCU將使用快速啟動的輔助振蕩器(如RC振蕩器)立即開始執(zhí)行代碼。當(dāng)主振蕩器就緒時,將電路切換為使用主振蕩器,而不是使用輔助振蕩器。這對于器件存在頻繁喚醒/休眠事件的應(yīng)用非常關(guān)鍵。一些MCU甚至允許設(shè)計人員使用內(nèi)部振蕩器運行代碼,同時等待振蕩器起振定時器計數(shù)完畢。通過使用功能寄存器配置位,可以使能這種雙速啟動功能。這種情況下,MCU先使用內(nèi)部振蕩器作為時鐘源,直到振蕩器定時器計時期滿。
多時鐘啟動與運行
在必要時,還可以在啟動期間切換到內(nèi)部振蕩器,以加速啟動。最好的方法是,時鐘頻率可以即時更改,可以在外部時鐘和內(nèi)部種方式,引腳可在以后用作輸人或振蕩器之間切換,而不會造成代碼執(zhí)行被延時。在實際工作中,這相當(dāng)于雙速啟動功能。這種情況下,外部時鐘源在起振期間穩(wěn)定時,MCu可以使用任意一個內(nèi)部振蕩點,。當(dāng)外部時鐘源穩(wěn)定之后,MCU可以進行時鐘切換,從而縮電流。將此引腳配置為模擬輸入短節(jié)能型醫(yī)療設(shè)備中寶貴的啟動時間。
圖2無線接收器雙速啟動階段
圖2所示為在一個便攜式應(yīng)用中,對于負責(zé)查詢許多發(fā)送器的無,線接收器,可實現(xiàn)雙速啟動功能的幾個階段。在正常工作期間,接收器每隔37ms查詢一次消息。假設(shè)系統(tǒng)的電流目標(biāo)為雙向I/o引腳在大多數(shù)MCU中很常見,其中有一部分1/0引腳可接受模擬輸入。對于施加到這些引腳的信號,設(shè)計人員需要非常小心,以實現(xiàn)最小的功耗。以未用端口引腳為例。如某個端口引腳未用,可將它保留為不連接,但配置為輸出引腳,驅(qū)動為任意一種狀態(tài)(高電平或低電平);或者,也可將它配置為輸入,使用外部電阻上拉到VDD或Vss。配置為輸入時,只有輸人漏電流會通過引腳。如果引腳直接連接到VDD或Vss,電流將相同。通過這種方式,引腳可在以后用作輸人或輸出,而無需大量的硬件改動。當(dāng)輸入電壓接近VDD或Vss時,數(shù)字輸人引腳的功耗最低。明顯地,如果輸人電壓位于VDD或vss之間的中點,數(shù)字輸人器中的晶體管會被偏置于線性區(qū)域一消耗更多的電流。將此引腳配置為模擬輸人時,數(shù)字緩沖器會被關(guān)閉,從而使引腳電流和控制器總電流下降。需要注意的是,模擬輸入具有高阻抗,所以消耗的電流極低這一點非常重要。特別是當(dāng)施加的電壓位于VDD。和Vss之間的中點時,消耗的電流將低于數(shù)字輸入。在可能的情況下,將數(shù)字/模擬共用的引腳配置為模擬輸人可以將數(shù)字輸入強制為低功耗狀態(tài),從而節(jié)省功耗。即使在通過數(shù)字輸出驅(qū)動外部電路時,除了為外部電路供應(yīng)的電流,數(shù)字輸出引腳不會消耗任何其他電流,也可以最大程度降低電流消耗。在醫(yī)療電子設(shè)計中,安全性是需要優(yōu)先考慮的事項。MCU供應(yīng)商提供了一些機制,用于確保系統(tǒng)中的MCU正常工作,且代碼能夠按預(yù)期執(zhí)行。在一些MCU中(如Microchip采用納瓦技術(shù)的pICMCU),可以采用故障保護時鐘監(jiān)視器功能來檢測是否失去晶振/諧振器或其他外部時鐘源。這是一種極適于醫(yī)療應(yīng)用的重要功能,在晶振發(fā)生故障時,故障保護時鐘監(jiān)視器將切換到內(nèi)部振蕩器,并允許安全關(guān)閉應(yīng)用或允許它以精簡功能模式繼續(xù)運行。
計算總平均功耗
以下將通過采用稱為功率預(yù)算的技術(shù),說明設(shè)計人員如何估算應(yīng)用中的電流消耗和電池壽命。同樣,以圖l為例列析數(shù)據(jù)記錄儀應(yīng)用的各種模式:休眠、傳感器預(yù)熱、檢測、數(shù)據(jù)換算和存儲。通過對處理循環(huán)進行分析,可以確定每個周期中在各個模式下花費的時間。然后,從制造商提供的相應(yīng)器件數(shù)據(jù)手冊中獲取每個器件的電流消耗數(shù)值。將每種模式下需要的總電流乘以該模式的持續(xù)時間,就可以得到每個循環(huán)周期中,在該模式下消耗的電荷量。根據(jù)表1可以得到,數(shù)據(jù)記錄儀應(yīng)用的每個循環(huán)周期需要Z000ms,需要的總電荷量為18.8e一6A.s。根據(jù)表1的數(shù)據(jù),可以推算出平均電流為0.009n1A,如下:
平均電流(mA)=總電荷量(A·s)/總時間(s)=18.8e一6/2000e一3=0.009mA
峰值電流=2.048mA
根據(jù)表1的功率預(yù)算,可以方便地計算滿足應(yīng)用需求所需的電池大小,如表2所示。如果某種模式下的功耗太大,可以相對容易地采取修正措施來降低該階段的功耗。
表1數(shù)據(jù)記錄儀應(yīng)用的功率預(yù)算計算
結(jié)語
本文介紹了通過使用最新的MCU,設(shè)計人員如何實現(xiàn)功耗管理技術(shù),以及降低醫(yī)療電子設(shè)備設(shè)計中的功耗。通過最大程度降低醫(yī)療設(shè)備中的功耗,可減少熱量,并支持使用較小的電池,反過來又可以提高設(shè)備的工作壽命,縮小設(shè)備的物理尺寸,增進患者對治療的配合。
(審核編輯: 智匯張瑜)
分享