推進(jìn)便攜式醫(yī)療設(shè)計(jì)的嵌入式處理器
便攜式醫(yī)療設(shè)備的特殊性決定了它們應(yīng)該是對(duì)用戶友好的、必須工作在無(wú)菌環(huán)境下,并且空間占用小、耗能低。
同時(shí),便攜式醫(yī)療設(shè)備還需要足夠的計(jì)算能力以便處理醫(yī)療數(shù)據(jù),能夠連接到無(wú)線或有線接口以便記錄和發(fā)送數(shù)據(jù)。從設(shè)計(jì)人員的角度考慮,上述需求需要低功耗的單片機(jī)(MCU)和數(shù)字信號(hào)控制器(Digital Signal Controller,DSC)。
正是有了嵌入式處理器,設(shè)計(jì)人員才有可能設(shè)計(jì)出可在各種醫(yī)療應(yīng)用中使用的緊湊而節(jié)能的設(shè)備,包括植入式設(shè)備、便攜式設(shè)備、家用設(shè)備和安保設(shè)備等。應(yīng)用實(shí)例從可自行在柜臺(tái)購(gòu)買的血壓計(jì),一直到可拍攝病人腸道內(nèi)部的微型無(wú)線照相機(jī)。本文將講述設(shè)計(jì)人員如何在便攜式醫(yī)療應(yīng)用中使用最新的MCU和DSC。
便攜式醫(yī)療電子設(shè)備的設(shè)計(jì)問(wèn)題
在設(shè)計(jì)緊湊的便攜式醫(yī)療電子設(shè)備時(shí),系統(tǒng)設(shè)計(jì)人員會(huì)面對(duì)許多挑戰(zhàn),如用來(lái)調(diào)理醫(yī)療信號(hào)的資源對(duì)醫(yī)療儀器的最終成本起著關(guān)鍵影響。在高端的應(yīng)用中,心電圖分析儀(ECG)是一種復(fù)雜而昂貴的儀器,要在其刺激心臟的兩房?jī)墒視r(shí)測(cè)量心臟的電信號(hào)。首先,貼在心臟附近皮膚上的探針檢測(cè)電信號(hào),然后電信號(hào)經(jīng)過(guò)處理,再用圖形表示出來(lái)。因?yàn)樘结樂(lè)胖迷诓∪似つw上,信號(hào)容易出現(xiàn)衰減。因此會(huì)放置多個(gè)探針在心臟附近的皮膚上克服衰減,以便獲得更好的信號(hào)。然后,通過(guò)使用基于固件的數(shù)字濾波技術(shù),即嵌入式快速傅立葉變換(Fast Fourier Transform,F(xiàn)FT)庫(kù)中提供的頻譜分析軟件,可以對(duì)信號(hào)的衰減進(jìn)行估算。ECG上的探針數(shù)量取決于控制ECG的DSC上有多少可用的ADC通道數(shù)。例如,Microchip最新的各種dsPIC DSC具有6個(gè)~32個(gè)ADC通道并且集成了可處理醫(yī)療信號(hào)的其他有用外設(shè),采用這些DSC能夠使ECG的成本有實(shí)質(zhì)性的降低。
芯片設(shè)計(jì)人員已經(jīng)在器件上集成了幾種節(jié)能功能特性(圖1),使得醫(yī)療設(shè)備設(shè)計(jì)人員能夠控制功耗。就調(diào)節(jié)功耗而言,諸如空閑、休眠和待機(jī)模式等節(jié)能特性為設(shè)計(jì)人員提供了相當(dāng)大的靈活性。當(dāng)在醫(yī)療應(yīng)用中使用這些器件時(shí),系統(tǒng)控制器能夠在大部分時(shí)間處于低功耗狀態(tài),只是定期被定時(shí)器中斷喚醒以運(yùn)行程序代碼。
降低功耗的方法
設(shè)計(jì)人員應(yīng)該意識(shí)到,在便攜式系統(tǒng)中實(shí)現(xiàn)節(jié)能的唯一途徑是讓單片機(jī)控制內(nèi)部和外設(shè)的功耗。在系統(tǒng)運(yùn)行期間,應(yīng)該試著按照具體能耗分別設(shè)計(jì)。在設(shè)計(jì)便攜式醫(yī)療設(shè)備時(shí),確定所需的運(yùn)行狀態(tài),關(guān)閉不需要的電路。如果醫(yī)療設(shè)備上某個(gè)外設(shè)消耗了大部分的功耗,那么減少單片機(jī)的功耗不會(huì)對(duì)系統(tǒng)總功耗有多大的影響。
當(dāng)不需要外設(shè)時(shí),應(yīng)將其關(guān)閉。例如,在電池供電的應(yīng)用中,就不需要欠壓復(fù)位功能(Brown-out Reset,BOR)。另一方面,也可以向Microchip納瓦級(jí)PIC18F系列單片機(jī)那樣使用空閑指令(圖2)關(guān)閉CPU而讓外設(shè)繼續(xù)運(yùn)行。
在節(jié)能上甚至還有更進(jìn)一步的措施。通過(guò)進(jìn)入休眠狀態(tài),功耗可減少近96%。在由一個(gè)傳感器、一個(gè)存儲(chǔ)器和一節(jié)電池組成的便攜式醫(yī)療系統(tǒng)中,存儲(chǔ)器和傳感器可能一直在供電,這是在耗費(fèi)系統(tǒng)能耗。在單片機(jī)的控制下,使用單片機(jī)的I/O接線關(guān)閉這些外設(shè);只是在需要時(shí),才向存儲(chǔ)器和傳感器供電。
引入可控的時(shí)鐘
對(duì)于低功耗應(yīng)用而言,振蕩器啟動(dòng)時(shí)間對(duì)單片機(jī)功耗起著至關(guān)重要的作用。在啟動(dòng)期間,一直到振蕩器穩(wěn)定下來(lái)之前,單片機(jī)即使是空閑的也會(huì)持續(xù)耗能。振蕩器啟動(dòng)時(shí)間受許多因素影響,包括晶振、負(fù)載電容、系統(tǒng)環(huán)境和振蕩器模式等等。在較低的時(shí)鐘速率下,雖然低頻振蕩器運(yùn)行時(shí)消耗的功率更少,但它需要的啟動(dòng)時(shí)間會(huì)更長(zhǎng),這樣就會(huì)對(duì)系統(tǒng)功耗產(chǎn)生顯著影響。
選用帶有振蕩器啟動(dòng)定時(shí)器的單片機(jī),這樣會(huì)有助于確保正常啟動(dòng),確保有足夠的時(shí)間建立振蕩。振蕩器定時(shí)器有助于單片機(jī)精確地執(zhí)行代碼,確保振蕩器平穩(wěn)起振。但振蕩器定時(shí)器也有不足,因?yàn)槊總€(gè)喚醒周期所需的時(shí)間也相應(yīng)延長(zhǎng)。針對(duì)振蕩器啟動(dòng)時(shí)間問(wèn)題的解決方案是使用雙速振蕩器啟動(dòng),這樣就能在啟動(dòng)時(shí)切換到較快的內(nèi)部振蕩器頻率。運(yùn)用先進(jìn)的單片機(jī)能在兩種內(nèi)部時(shí)鐘頻率中進(jìn)行選擇,即正常運(yùn)行時(shí)選擇軟件可配置的8 MHz振蕩器,要保持低功耗時(shí)則選擇31 kHz振蕩器。使用這些單片機(jī)能隨時(shí)切換時(shí)鐘頻率(在外部時(shí)鐘和內(nèi)部振蕩器之間進(jìn)行轉(zhuǎn)換),同時(shí)不會(huì)有代碼執(zhí)行延遲,從而節(jié)省醫(yī)療設(shè)備寶貴的“上電(Up)”時(shí)間。
把I/O線配置為模擬或數(shù)字線
便攜式設(shè)備上的每條信號(hào)線都會(huì)耗能,這就需要?jiǎng)?chuàng)造性地處理單片機(jī)上的雙向I/O引腳,因?yàn)橛行㊣/O引腳能處理模擬輸入。通過(guò)仔細(xì)觀察這些引腳上的信號(hào),設(shè)計(jì)人員可確保功耗最小。由于模擬輸入提供了高阻抗?fàn)顟B(tài),它們消耗的電流非常小。特別是,當(dāng)施加的電壓處在VDD和VSS中間時(shí),模擬輸入比數(shù)字輸入消耗更少的電流。只要可能,就應(yīng)通過(guò)強(qiáng)迫數(shù)字輸入進(jìn)入低功耗狀態(tài),把復(fù)用的數(shù)字/模擬引腳配置成模擬輸入,以節(jié)省功耗。另外可嘗試通過(guò)數(shù)字輸出驅(qū)動(dòng)外部電路,其除了給外部電路供電的電流外,數(shù)字輸出引腳不會(huì)產(chǎn)生額外的電流消耗。
把不用的端口引腳配置為輸出引腳(輸出為高電平或低電平均可),或者把它們配置為輸入引腳再連接外部電阻上拉至VDD或VSS,也能節(jié)省功耗。當(dāng)配置為輸入時(shí),通過(guò)引腳流出的僅僅是引腳輸入泄漏電流;而如果引腳直接連到VDD或VSS,也會(huì)有相同的電流流過(guò)。使用這種方法,能夠靈活地把引腳用作輸入或輸出,而不用作太多的硬件改動(dòng)。
通過(guò)功率預(yù)算節(jié)能
在便攜式應(yīng)用中,設(shè)計(jì)人員能夠通過(guò)使用功率預(yù)算這項(xiàng)技術(shù)來(lái)計(jì)算電流消耗和估計(jì)電池壽命。首先要仔細(xì)了解系統(tǒng)的運(yùn)行情況,設(shè)想設(shè)備的所有功能狀態(tài)。因此,如果把便攜式醫(yī)療應(yīng)用簡(jiǎn)單地看作數(shù)據(jù)獲取操作,系統(tǒng)運(yùn)行的模式顯然有:休眠、獲取數(shù)據(jù)、處理和存儲(chǔ)數(shù)據(jù)。
現(xiàn)在,通過(guò)仔細(xì)研究控制程序,就能估計(jì)出每個(gè)模式的時(shí)間消耗。參考制造商的數(shù)據(jù)手冊(cè),能夠獲得系統(tǒng)中各器件的電流消耗。接著,把每個(gè)狀態(tài)的總電流乘以每個(gè)循環(huán)周期中該狀態(tài)的持續(xù)時(shí)間,計(jì)算出每個(gè)狀態(tài)的電荷消耗量。根據(jù)功率預(yù)算,就能很容易地計(jì)算出滿足應(yīng)用需求的電流大小,使用的公式是:平均電流=總電荷/總時(shí)間。如果設(shè)計(jì)人員注意到在某個(gè)狀態(tài)消耗了過(guò)多功率,工作就可圍繞降低該狀態(tài)的功耗而進(jìn)行。
便攜式醫(yī)療設(shè)計(jì)中的安全機(jī)制
在醫(yī)療應(yīng)用中,安全性的優(yōu)先級(jí)很高,系統(tǒng)設(shè)計(jì)人員必須預(yù)防設(shè)備因?yàn)榈綦娀虺绦蚴Э囟霈F(xiàn)的緊急情況。比如,失去時(shí)鐘源可能會(huì)觸發(fā)錯(cuò)誤地執(zhí)行產(chǎn)品的控制程序。單片機(jī)供應(yīng)廠家提供了幾種有效機(jī)制,確保系統(tǒng)中的單片機(jī)安全運(yùn)行,并可預(yù)測(cè)其運(yùn)行。在某些單片機(jī)中,設(shè)計(jì)人員可以使用故障保護(hù)時(shí)鐘監(jiān)視器功能來(lái)檢測(cè)時(shí)鐘源的丟失。當(dāng)檢測(cè)到時(shí)鐘丟失時(shí),單片機(jī)的內(nèi)部振蕩器將提供系統(tǒng)時(shí)鐘信號(hào)從而幫助系統(tǒng)平緩地關(guān)機(jī),或如果不希望關(guān)閉系統(tǒng)的話,可進(jìn)入“待機(jī)(Stay-Alive)”模式。
小結(jié)
通過(guò)使用最新的單片機(jī),設(shè)計(jì)人員可以實(shí)現(xiàn)功耗管理技術(shù),設(shè)計(jì)出兼具成本效益的便攜式醫(yī)療設(shè)備。在醫(yī)療設(shè)備中功耗越小,就能用更小的電池。此外,通過(guò)使用低成本的控制器,設(shè)計(jì)使用一定次數(shù)后就廢棄的醫(yī)療用具已成為可能。