智能硬件開發(fā)如何選擇低功耗MCU?
本文將市場上典型的低功耗MCU系列進(jìn)行了比較,分析得出基于ARM. Cortex M0+內(nèi)核的MCU系列最適合穿戴式醫(yī)療設(shè)備的開發(fā)。設(shè)備開發(fā)者當(dāng)密切關(guān)注其發(fā)展動(dòng)向,結(jié)合現(xiàn)有的市場需求、產(chǎn)品體系的構(gòu)建和升級(jí)換代的規(guī)劃等因素進(jìn)行合理分析,抉擇出適合自身產(chǎn)品的MCU型號(hào)。繼而針對(duì)特殊醫(yī)療監(jiān)測任務(wù)的需求,為MCU系統(tǒng)制定最優(yōu)化的低功耗策略,從而開發(fā)出價(jià)格親民、性能優(yōu)越的設(shè)備。
根據(jù)穿戴式醫(yī)療設(shè)備低成本、高性能、高集成度和續(xù)航時(shí)間長的特點(diǎn),對(duì)比了當(dāng)前主流的低功耗微控制器(MCU)系列,分析得出ARM Cortex M0+內(nèi)核的MCU系列適合該領(lǐng)域的產(chǎn)品開發(fā)。在功耗水平、運(yùn)算性能、外設(shè)集成和產(chǎn)品成本等方面,進(jìn)一步將各大半導(dǎo)體公司基于Cortex M0+內(nèi)核的MCU系列展開參數(shù)對(duì)比,為穿戴式醫(yī)療設(shè)備的MCU選型提供指南。
近年來穿戴式醫(yī)療設(shè)備的市場需求在快速增長,將成為拉動(dòng)經(jīng)濟(jì)增長的一個(gè)創(chuàng)新型產(chǎn)業(yè)。根據(jù)艾媒(iiMedia Research)公布的《2012-2013中國移動(dòng)醫(yī)療市場年度報(bào)告》顯示,在2012年我國移動(dòng)醫(yī)療市場規(guī)模達(dá)到18.6億元,其中穿戴式醫(yī)療設(shè)備占4.2億元,較上一年增長20%。預(yù)計(jì)到2017年底,我國穿戴式醫(yī)療設(shè)備的市場規(guī)模將接近50億元,在未來十年內(nèi)呈現(xiàn)急速增長的態(tài)勢。隨著市場需求的增長和產(chǎn)品的普及,穿戴式醫(yī)療設(shè)備正在往低成本、高性能、續(xù)航時(shí)間長和體積小的方向發(fā)展,這就對(duì)設(shè)備的控制核心——微控制器(MCU)提出了更苛刻的要求。可穿戴的趨向使得設(shè)備所選用的MCU必須具有低成本、低功耗、高運(yùn)算能力、高集成度的特質(zhì),否則將會(huì)被市場和用戶淘汰。
1 穿戴式醫(yī)療設(shè)備的簡介
穿戴式醫(yī)療設(shè)備將非介入式生理信號(hào)檢測技術(shù)融合到日常穿戴衣物、器件當(dāng)中,具有簡易便攜、長時(shí)間監(jiān)測的優(yōu)點(diǎn)。這類設(shè)備可隨時(shí)隨地長時(shí)間監(jiān)測人體生理狀況,已經(jīng)廣泛應(yīng)用于慢性疾病監(jiān)測、家庭護(hù)理保健、睡眠質(zhì)量監(jiān)測等方面,有利于實(shí)現(xiàn)慢性、隱性疾病的早發(fā)現(xiàn)、早診斷、早治療。
1.1 穿戴式醫(yī)療設(shè)備的應(yīng)用
在市場和用戶的追捧熱潮下,各種穿戴式醫(yī)療設(shè)備的解決方案和新產(chǎn)品層出不窮,功能和性能也在不斷提升。例如我國的邁瑞公司推出的MC-6800型動(dòng)態(tài)血壓監(jiān)測儀,僅需將充放氣的袖帶綁在用戶手臂上,就能在各種狀況下進(jìn)行24 h無創(chuàng)性動(dòng)態(tài)血壓監(jiān)測。美國Medtronic公司推出的血糖實(shí)時(shí)連續(xù)監(jiān)測系統(tǒng)(CGMS)可以連續(xù)工作3d,僅需將檢測探頭貼在患者腹部,每10s會(huì)對(duì)皮下間質(zhì)液里的葡萄糖濃度進(jìn)行測量,并將獲得的數(shù)據(jù)通過無線方式傳送到接收器上。美國SPO Medical公司推出的PulseOx 6000型“血氧手指套”能長時(shí)間工作500 h,僅需套在手指上即可實(shí)時(shí)監(jiān)測用戶的血氧飽和度和心率,可靠性堪比體溫計(jì)或血壓計(jì)。這些產(chǎn)品都體現(xiàn)了區(qū)別于常規(guī)電子儀器的顯著特征:①非介入地檢測生理信號(hào);②通過無線或有線的方式連接用戶、醫(yī)護(hù)人員和數(shù)據(jù)系統(tǒng);③續(xù)航時(shí)間長;④安全可靠。
1.2 穿戴式醫(yī)療設(shè)備的需求分析
為了滿足穿戴式醫(yī)療設(shè)備在功耗、性能、體積等方面的要求,所選用的MCU需要滿足以下要求:①低成本;②高能效;③高休眠效率;④高集成度。在控制成本方面,可以考慮低功耗的8/16 bit單片機(jī)或基于ARM Cortex-M系列內(nèi)核的32 bit單片機(jī),這些芯片出貨量巨大,批量價(jià)格一般比較低。在能效方面,應(yīng)選用低運(yùn)行功耗、高運(yùn)算能力的MCU系列,低功耗可以提高續(xù)航能力,高運(yùn)算能力有利于在片上運(yùn)行復(fù)雜算法和數(shù)據(jù)處理。在休眠效率方面,應(yīng)選擇擁有靈活多樣的休眠模式、超低休眠功耗、極短喚醒時(shí)間的MCU系列。在集成度方面,可選用那些外設(shè)豐富且性能優(yōu)越的MCU系列,有利于減少體積尺寸、降低硬件成本和提高系統(tǒng)穩(wěn)定性。
2 典型低功耗MCU系列的比較
各大半導(dǎo)體公司如Freescale、ST、NXP、SiliconLabs、Atmel 、TI、Microchip等,紛紛推出適用于穿戴式醫(yī)療設(shè)備的中低端MCU系列。表1和表2將16bit和32 bit典型的低功耗MCU系列展開對(duì)比,8 bitMCU不在比對(duì)列表中。這是因?yàn)? bit MCU已經(jīng)不適合穿戴式醫(yī)療設(shè)備的發(fā)展趨勢,其市場也正被ARM Cortex-M系列內(nèi)核的MCU蠶食。
表1重點(diǎn)比較了16 bit/32 bit內(nèi)核的性能差別,32bit的內(nèi)核在運(yùn)算效率方面全面超越16 bit 的內(nèi)核,意味著當(dāng)穿戴式醫(yī)療設(shè)備需要在片上執(zhí)行數(shù)據(jù)處理和復(fù)雜算法時(shí),Cortex-M系列內(nèi)核的32 bit MCU更具優(yōu)勢。表2則將典型的低功耗MCU展開能效對(duì)比,可以發(fā)現(xiàn)16 bit MCU在低功耗方面的優(yōu)勢已不明顯,以低功耗著稱的MSP430系列在運(yùn)行功耗和休眠功耗方面跟Cortex-M系列32 bit內(nèi)核的STM32L系列相差無幾。而32 bit MCU在休眠狀態(tài)下的喚醒時(shí)間也能做到了10 μs以下,在休眠效率、快速響應(yīng)方面有良好表現(xiàn)。
表1 典型低功耗內(nèi)核架構(gòu)的性能對(duì)比
注:(1)內(nèi)核性能的測試結(jié)果(CoreMark Scores)以EEMBC組織公布的數(shù)據(jù)為準(zhǔn)。
表2 典型低功耗MCU的能效對(duì)比
注: (1) 對(duì)于表1的MCU系列具體型號(hào)的測試報(bào)告,所挑選的型號(hào)片上配置相近,F(xiàn)lash容量均為64 kB;
(2) 常溫條件+25 oC,所有外設(shè)關(guān)閉,程序從Flash運(yùn)行;MCU供電電壓除了PIC24的3.3 V、Nano120的3.6 V之外,其他均為3.0 V;各型號(hào)的測試結(jié)果均為當(dāng)前主頻下的最佳配置;
(3) 休眠功耗的測試標(biāo)準(zhǔn):片內(nèi)主時(shí)鐘和所有外設(shè)關(guān)閉,RTC打開,保留RAM。
綜合表1和表2可見,Cortex-M系列內(nèi)核的32 bitMCU在功耗水平上已經(jīng)做到與傳統(tǒng)8 /16 bit MCU相當(dāng),而在運(yùn)算效率上優(yōu)勢明顯,更適合那些對(duì)任務(wù)和算法有較高要求的穿戴式醫(yī)療設(shè)備。
3 基于Cortex-M0+內(nèi)核的MCU選型分析
3.1 Cortex M系列內(nèi)核的對(duì)比
Cortex-M系列中低功耗成員有M3、M0和M0+,是ARM公司針對(duì)那些對(duì)成本敏感、同時(shí)對(duì)能效有較高要求的應(yīng)用而設(shè)計(jì)的。當(dāng)傳統(tǒng)的8/16 bit MCU在性能、功能上表現(xiàn)越來越乏力時(shí),ARM公司于2009年推出了低成本、低功耗、高能效的Cortex-M0內(nèi)核。Cortex-M0內(nèi)核以優(yōu)異的表現(xiàn)擊敗了傳統(tǒng)的8bit MCU,成功殺入低端的MCU市場。在這契機(jī)下,ARM公司于2012年相應(yīng)適宜地推出M0的升級(jí)版——M0+,在能效和功能上作進(jìn)一步的優(yōu)化和增設(shè),以超低的能耗提供更快的任務(wù)處理能力。
從表1和2的數(shù)據(jù)可知,三者內(nèi)核性能的排序?yàn)镸3》M0+》M0,運(yùn)行功耗的排序?yàn)镸3》M0》M0+,即M0+內(nèi)核的能效高于 M0,運(yùn)算性能僅次于M3。由于M0+在價(jià)格方面比M3有優(yōu)勢,故更適合于執(zhí)行低成本、高能效的任務(wù)。綜合可知,那些對(duì)功耗有苛刻要求、運(yùn)算處理任務(wù)較復(fù)雜、且需要控制成本的設(shè)備選擇M0+內(nèi)核的MCU最為合適。
3.2 基于Cortex M0+內(nèi)核的主流MCU系列
各大MCU生產(chǎn)廠商結(jié)合自身的優(yōu)勢對(duì)Cortex-M0+內(nèi)核加以整合優(yōu)化,在功耗、性能和外設(shè)方面各有所長。表3列舉了市場上M0+內(nèi)核的主流MCU系列,并結(jié)合穿戴式醫(yī)療設(shè)備的需求進(jìn)行分析。
表3 基于Cortex M0+內(nèi)核的主流MCU系列
注:(1) ST公司和NXP公司都建立了涵蓋Cortex-M系列所有內(nèi)核的產(chǎn)品線,Cortex-M系列MCU的中國市場在2012年達(dá)到1.68億美元,其中ST以35%的市場份額居于首位,而NXP位居第二占有32%;
(2) Silicon Labs于2013年收購了專攻低功耗領(lǐng)域的Energy Micro,之后推出的Zero Gecko系列吸取了以往EFM32系列超低功耗的優(yōu)點(diǎn)。
上述Cortex M0+內(nèi)核的MCU 系列可為穿戴式醫(yī)療設(shè)備開發(fā)者提供多種選擇,而具體的MCU型號(hào)要根據(jù)設(shè)備的實(shí)際需求來決定。在同一系列里,MCU的最高主頻、內(nèi)核效率、功耗狀況都是一致的,具體型號(hào)之間的差別在于片上資源。如表4所示,STM32L0系列分為3條主要的產(chǎn)品線,差異就體現(xiàn)在一些特殊的集成外設(shè),如DAC、USB控制器和LCD控制器。恰當(dāng)?shù)剡x用這些高集成度的MCU有助于減少外部芯片的個(gè)數(shù),可降低系統(tǒng)成本和功耗。因此,片上集成資源的種類、數(shù)量、功耗和性能,都是決定MCU選型的重要參考因素。
表4 STM32L0系列的3條產(chǎn)品線
3.3 MCU系統(tǒng)的低功耗策略
Cortex M0+內(nèi)核的MCU 系列兼具低功耗、高性能和靈活的休眠模式,為穿戴式醫(yī)療設(shè)備的開發(fā)提供了優(yōu)良的平臺(tái)和電氣基礎(chǔ)。然而,如何在保持高性能的情況下,將任務(wù)的整體平均功耗降到最低,將是設(shè)備開發(fā)者的重要任務(wù)。MCU系統(tǒng)的低功耗策略決定了設(shè)備的性能和續(xù)航時(shí)間,策略的制定需要從以下四個(gè)方面入手:
(1) 合理地控制MCU的時(shí)鐘系統(tǒng),針對(duì)特定的任務(wù),選擇適合系統(tǒng)運(yùn)行的時(shí)鐘頻率,迅速完成復(fù)雜的任務(wù)爭取更多的休眠時(shí)間;
(2) 選擇恰當(dāng)?shù)男菝吣J胶托菝邥r(shí)間;
(3) 進(jìn)入休眠模式時(shí), 將未用到的外設(shè)以及時(shí)鐘關(guān)閉;
(4) 優(yōu)化任務(wù)的時(shí)間片,將平均功耗降到最低。
圖1 展示了基于表3的Zero Gecko系列設(shè)計(jì)的動(dòng)態(tài)心電記錄儀的低功耗策略,MCU系統(tǒng)任務(wù)的理論耗電流如圖2所示。其中,MCU主要在三個(gè)模式之間切換:運(yùn)行模式 1(EM0_1),運(yùn)行模式2(EM0_2),深度睡眠模式(EM2)。平時(shí)MCU工作在EM2,高頻時(shí)鐘和外設(shè)關(guān)閉,耗電流為IEM2;當(dāng)定時(shí)器發(fā)生中斷時(shí),MCU從EM2中喚醒,將進(jìn)入EM0_1以f1主頻高速運(yùn)行,此時(shí)耗電流為IEM0_1,同時(shí)啟動(dòng)A/D進(jìn)行心電信號(hào)采樣,采樣完畢后將數(shù)據(jù)暫存在 RAM中;如果緩存的數(shù)據(jù)量沒有達(dá)到閾值,MCU將直接進(jìn)入EM2并定時(shí)等待;如果緩存的數(shù)據(jù)量達(dá)到閾值,則MCU切換到更高的f2主頻進(jìn)入EM0_2,耗電流短時(shí)間內(nèi)達(dá)到IEM0_2,對(duì)緩存數(shù)據(jù)進(jìn)行處理并存儲(chǔ)到SD卡上,存儲(chǔ)完畢后進(jìn)入EM2。運(yùn)行模式下使用到兩個(gè)不同的主頻f1和f2,分別是由 A/D采樣任務(wù)和SD卡存儲(chǔ)任務(wù)對(duì)運(yùn)算能力的不同需求來決定,將任務(wù)的平均功耗最優(yōu)化。
圖1 基于Zero Gecko系列的動(dòng)態(tài)心電記錄儀的低功耗策略
圖2 動(dòng)態(tài)心電記錄儀執(zhí)行不同任務(wù)下的理論耗電流曲線
4 穿戴式醫(yī)療設(shè)備的MCU選型案例
血氧飽和度的監(jiān)測是了解人體心血管生理狀況的重要手段,設(shè)計(jì)一款腕帶式血氧飽和度監(jiān)測儀,設(shè)計(jì)目標(biāo):基于反射式光電容積脈搏波的測量方法,實(shí)現(xiàn)無創(chuàng)、連續(xù)地檢測人體動(dòng)脈血的血氧飽和度;對(duì)脈搏波信號(hào)進(jìn)行處理、分析,計(jì)算得到心率和呼吸頻率這兩個(gè)重要的生理參數(shù);當(dāng)用戶的血氧飽和度或心率超出正常預(yù)定范圍時(shí),會(huì)自動(dòng)報(bào)警提醒。
圖3 腕帶式血氧飽和度監(jiān)測儀的功能框圖
根據(jù)設(shè)計(jì)方案和目標(biāo)進(jìn)行系統(tǒng)功能規(guī)劃,腕戴式血氧飽和度監(jiān)測儀的功能框圖如圖3所示。該設(shè)備對(duì)MCU的特殊要求有:
(1) 高能效,即低運(yùn)行功耗、超低休眠功耗和較高的運(yùn)算性能;
(2) 低功耗的ADC,采樣精度不低于10 bit,脈搏波采樣頻率設(shè)為200Hz;
(3) USB控制器,需要通過USB接口燒寫程序或與主機(jī)通訊。
綜合考慮了該設(shè)備對(duì)MCU性能、功耗以及外設(shè)所提出的要求,可以分三個(gè)步驟來進(jìn)行MCU選型:
(1) 結(jié)合前文對(duì)不同內(nèi)核的分析,選擇低功耗、高性能的Cortex-M0+內(nèi)核;
(2) 根據(jù)Cortex M0+內(nèi)核MCU系列的橫向比較,選擇集成了低功耗12 bit ADC的STM32L0系列,滿足長時(shí)間采樣的需求;
(3) 考慮到帶USB控制器的型號(hào), 可以選擇STM32L052C8作為設(shè)備的主控制器,從而達(dá)到在性能、功耗、成本和體積方面的最佳平衡。
在實(shí)際的MCU選型中要具體問題具體分析,根據(jù)現(xiàn)有的MCU系列和設(shè)備的切實(shí)需求,做出最恰當(dāng)?shù)木駬瘛?/p>