使用加速度計(jì)的低功率模式和自動(dòng)喚醒/休眠模式
如果系統(tǒng)處理器通常只用于處理來自加速度計(jì)的數(shù)據(jù),那么最好是將智能嵌入傳感器,避免系統(tǒng)處理器連續(xù)運(yùn)行而負(fù)載過重。飛思卡爾半導(dǎo)體推出最新動(dòng)作傳感技術(shù)——MMA8450Q加速度傳感器,MMA8450Q中的智能特性包括:內(nèi)置中斷驅(qū)動(dòng)的功能和數(shù)據(jù)速率的可選擇性所帶來的靈活性,以及分辨率、響應(yīng)時(shí)間和電流之間的折衷平衡。
本文旨在闡釋下列各項(xiàng):
● 如果對低功耗的需求高于高分辨率, 則MMA8450Q能夠降低所有ODR的部件的功耗,從而大幅節(jié)省整體系統(tǒng)耗電量。
● 提供各種情況下正常模式和省電模式的有效位數(shù)量以及耗電量。
● 內(nèi)置功能允許系統(tǒng)MCU或處理器進(jìn)入休眠模式,等待來自加速度計(jì)的中斷。處理器不需要連續(xù)不斷地接入和檢測數(shù)據(jù)。這與連續(xù)輪詢XYZ數(shù)據(jù)相比有很多優(yōu)勢,能夠節(jié)省96%的總能耗,無線產(chǎn)品的電池能夠持續(xù)更長的時(shí)間。
● 對于要求數(shù)據(jù)記錄的應(yīng)用,或等待一個(gè)事件,查看觸發(fā)該事件的準(zhǔn)確數(shù)據(jù)時(shí),F(xiàn)IFO具有極大的節(jié)能潛力。處理器/MCU可以進(jìn)入休眠模式,只有當(dāng)FIFO數(shù)據(jù)滿或發(fā)生中斷時(shí)才喚醒并刷新數(shù)據(jù),而不必每個(gè)采樣時(shí)都接入數(shù)據(jù)。節(jié)電范圍從78%到96%或更高,取決于所選MCU和ODR的情況。
● MMA8450Q可以用于在不同的ODR之間循環(huán),降低設(shè)備的耗電量。可以利用5個(gè)可編程功能實(shí)現(xiàn)上述目標(biāo)。 省電模式與正常模式的對比
不同的可選輸出數(shù)據(jù)速率下,耗電程度不一樣。省電模式在Register 0×39系統(tǒng)控制寄存器2,位 0中設(shè)置。如果清除該位,設(shè)備則進(jìn)入正常模式。如果設(shè)置了該位,則設(shè)備進(jìn)入省電模式。注意在省電模式下,耗電量會降低,但是這種優(yōu)勢的代價(jià)是高噪聲。省電模式下內(nèi)部休眠時(shí)間更長、平均數(shù)據(jù)更少,因此降低了耗電量。位有效數(shù)量的變化大約是0.6至0.7位。對于需要高分辨率且耗電量最低的應(yīng)用,需要進(jìn)行折衷平衡。
表1、不同數(shù)據(jù)速率下使用FIFO節(jié)省的電能
在終端系統(tǒng)應(yīng)用中的節(jié)能功能
加速度計(jì)大多數(shù)情況下應(yīng)用在使用電池供電的便攜式器件中。電池壽命最重要,而降低能耗的能力取決于應(yīng)用中需要執(zhí)行的操作。在大多數(shù)場景中,應(yīng)優(yōu)先關(guān)閉一切,只有在需要時(shí)才盡可能快而高效地喚醒,執(zhí)行需要的操作。這通常取決于用戶顯示器、顯示器需要開啟多久以及喚醒該單元的方式。
有時(shí),如果處理器需要開啟并不斷運(yùn)行,可以“變速”總線時(shí)鐘速率來實(shí)現(xiàn)節(jié)能目的,也就是說,在快慢時(shí)鐘模式間進(jìn)行切換,而不是在運(yùn)行和停止之間跳變。內(nèi)置FIFO是經(jīng)過驗(yàn)證的一個(gè)優(yōu)勢,因?yàn)樗拗铺幚砥餍枰x取數(shù)據(jù)的頻率。FIFO在非電池供電的應(yīng)用中也是一種優(yōu)勢,因?yàn)樗軌蛟俅翁岣哂?jì)算吞吐量,不需要在每次進(jìn)行新采樣時(shí)都中斷處理器。
大多數(shù)MCU/處理器都能夠通過外部中斷離開休眠狀態(tài),這正是為什么MMA8450Q能夠用于“震動(dòng)喚醒”或“傾斜喚醒”等。這也證明了MMA8450Q的先進(jìn)功能的優(yōu)勢所在。多個(gè)MCU/處理器還可以通過內(nèi)部中斷喚醒,通常基于定時(shí)器間隔——也就是說,每100 ms喚醒一次等。這可以用來執(zhí)行某些定期整理功能(如一天中定時(shí)進(jìn)行),可以包括利用軟件掃描加速度計(jì)和處理其數(shù)據(jù)。關(guān)掉MCU的電源與從休眠模式喚醒相比,幾乎沒有任何意義,因?yàn)閱拘芽偸潜壤鋯?dòng)更快。喚醒時(shí)間差別會很大,取決于MCU或處理器。例如,某些飛思卡爾的8位MCU能夠在6 μs內(nèi)從休眠/停止模式喚醒,而其它處理器可能要用大約3 ms。MCU/處理器的快速喚醒時(shí)間能夠高效地在休眠和喚醒狀態(tài)之間進(jìn)行切換。
MMA8450Q在器件中有許多內(nèi)置功能,讓主機(jī)處理器不必連續(xù)采樣XYZ數(shù)據(jù),并運(yùn)行各種算法用于動(dòng)作檢測、方向檢測、自由跌落或快速晃動(dòng)。器件有識別這些內(nèi)置事件的內(nèi)部智能,一旦檢測到事件便可以改變采樣頻率。例如,在遠(yuǎn)程控制器應(yīng)用中,沒人使用時(shí),遙控器大部分時(shí)間都靜止地放在桌上。MMA8450Q可以配置為在休眠模式下使用較低的采樣頻率(50 Hz),然后當(dāng)用戶拿起遙控,加速度計(jì)會切換到喚醒模式下的更快采樣頻率(400Hz),能夠識別更快的移動(dòng)動(dòng)作姿勢。必須啟用和配置保持器件處于喚醒模式的內(nèi)置模塊。例如,方向檢測能夠配置為與動(dòng)作檢測一起喚醒器件。方向或動(dòng)作的所有變化都會使器件處于較高的采樣頻率。器件停止移動(dòng)時(shí),會返回休眠狀態(tài),節(jié)省電能。
使用FIFO數(shù)據(jù)記錄省電
FIFO有助于節(jié)省系統(tǒng)總能耗,將處理器放入休眠模式,直到需要處理來自加速度計(jì)的數(shù)據(jù)時(shí)才喚醒。思路是,配置MMA8450Q監(jiān)控想要的中斷,將處理器放入省電模式,直到需要響應(yīng)加速度計(jì)時(shí)才喚醒。這樣最大程度地增加了處理器的休眠或省電模式下的時(shí)間,最終會實(shí)現(xiàn)系統(tǒng)總能耗的最小化,增加電池壽命。FIFO允許處理器在傳感器內(nèi)部收集采樣時(shí)休眠更長時(shí)間。這還最大程度地減少了I2C總線上的流量。
應(yīng)謹(jǐn)慎選擇數(shù)據(jù)速率的定時(shí)和總線速率。例如,將加速度計(jì)進(jìn)入省電模式,以50 Hz (20 ms) 進(jìn)行采樣,F(xiàn)IFO在數(shù)據(jù)滿溢模式下運(yùn)行,并啟用FIFO中斷。中斷將用于觸發(fā)處理器喚醒,進(jìn)行中斷,并刷新這32個(gè)采樣。新數(shù)據(jù)在刷新過程中不能保存到FIFO里。因此處理器必須喚醒,進(jìn)行中斷,并在下一個(gè)采樣前的20 ms內(nèi)刷新數(shù)據(jù)。
使用FIFO一次抽出所有32個(gè)采樣能夠節(jié)省開銷。這允許應(yīng)用處理器能夠進(jìn)行其它操作或在省電模式下保持更長時(shí)間。在400 Hz下進(jìn)行采樣時(shí),每2.5 ms就會有一個(gè)新采樣,不允許在不丟失采樣的情況下花費(fèi)很多時(shí)間用于喚醒和刷新。在400 Hz下,配置FIFO避免丟失數(shù)據(jù)的最佳方式是設(shè)置30個(gè)采樣的水印。這是觸發(fā)中斷處理器喚醒的條件。然后,當(dāng)確認(rèn)了溢出標(biāo)記時(shí),每16個(gè)采樣(12位數(shù)據(jù))刷新一次,這需要2.475ms。處理器會立即進(jìn)入休眠模式,并繼續(xù)通過該模式循環(huán),在水印時(shí)喚醒,確認(rèn)了溢出標(biāo)記時(shí)刷新最后16個(gè)采樣。刷新8位采樣時(shí),F(xiàn)IFO應(yīng)有足夠的時(shí)間來刷新整個(gè)緩存器。
根據(jù)表1,這些值可以與典型鋰電池支持一部手機(jī)的時(shí)長相關(guān)。這表示與電池使用壽命相關(guān)的節(jié)能。節(jié)能比例僅適用于應(yīng)用處理器。一塊示例手機(jī)電池存儲1200 mA小時(shí)。根據(jù)該信息進(jìn)行的比較。這顯示了與喚醒和休眠狀態(tài)之間采用FIFO和循環(huán)方式相比,處理器連續(xù)輪詢數(shù)據(jù)時(shí)所有采樣頻率的總耗電量(處理器+加速度計(jì))。
當(dāng)處理器連續(xù)運(yùn)行時(shí),加速度計(jì)的耗電量對電池使用壽命的影響很小,因?yàn)樘幚砥骱碾娏看蟠蠖嘤诩铀俣扔?jì),因此在大多數(shù)情況下,加速度計(jì)的電流幾乎可以忽略。典型鋰電池會持續(xù)大約4天,連續(xù)輪詢數(shù)據(jù)。使用加速度計(jì)將處理器放在休眠模式下的功能,對電池使用壽命的影響很大。
正常模式下使用最高采樣頻率時(shí),與在處理器連續(xù)運(yùn)行的情況下輪詢數(shù)據(jù)相比,電池的使用壽命增加了4.2倍。在省電模式下使用最低采樣頻率時(shí),節(jié)省的電能可實(shí)現(xiàn)22.6倍更長的電池使用壽命。
FIFO的另一個(gè)用途是能夠分析截止中斷觸發(fā)事件那一刻發(fā)生的數(shù)據(jù)。設(shè)置了事件的中斷標(biāo)記后,能夠刷新FIFO(配置在循環(huán)模式下),提取事件之前的32個(gè)數(shù)據(jù)采樣。如果希望中斷后,F(xiàn)IFO將數(shù)據(jù)保存在FIFO里,那么只能在從喚醒切換到休眠模式時(shí)才能進(jìn)行。否則,必須在事件后刷新FIFO,以便將數(shù)據(jù)保存在處理器,進(jìn)行深入分析。配置Single Tap(單擊),并為循環(huán)緩沖模式配置FIFO,以400 Hz的頻率運(yùn)行。設(shè)置了敲打中斷標(biāo)記時(shí),在中斷的15 ms內(nèi)讀取FIFO,收集敲打(Tap)的完整簽名,分析事件之前的數(shù)據(jù)以及事件過程中的數(shù)據(jù)。在很長的時(shí)間內(nèi)跟蹤事件時(shí),該技術(shù)特別重要。MCU或處理器能夠保持休眠模式,直到觸發(fā)事件,它能夠大幅節(jié)省電能。
配置MMA8450Q進(jìn)入自動(dòng)喚醒/休眠模式
MMA8450Q能夠配置為根據(jù)所選的不同事件,在不同的采樣頻率之間(不同的耗電量)進(jìn)行切換。通過支持休眠模式并設(shè)置超時(shí)時(shí)間,可實(shí)現(xiàn)該功能。然后必須設(shè)置中斷功能,將器件喚醒。使用自動(dòng)喚醒/休眠功能的 加速度計(jì)相關(guān)文章:加速度計(jì)原理
評論