監(jiān)控外部輸入時降低 MCU 能耗
現如今幾乎沒有應用程序能夠避免降低能耗的需求。對于便攜式和電池供電設備的設計人員來說,這是一個影響其產品性能和可用性的限制因素。在國內,EnergyStar 等計劃讓消費者更加意識到這個問題,不僅是在使用設備時,而且在設備處于待機模式時。能源越來越被認為是一種珍貴而有限的商品。
本文引用地址:http://butianyuan.cn/article/202303/444799.htm現如今幾乎沒有應用程序能夠避免降低能耗的需求。對于便攜式和電池供電設備的設計人員來說,這是一個影響其產品性能和可用性的限制因素。在國內,EnergyStar 等計劃讓消費者更加意識到這個問題,不僅是在使用設備時,而且在設備處于待機模式時。能源越來越被認為是一種珍貴而有限的商品。
任何系統總能耗的主要貢獻者之一是位于其的微控制器 (MCU) 的性能。因此,設計人員致力于限度地降低 MCU 功耗,重點關注三個關鍵領域……
個是有功能耗——MCU 可以為給定的能量輸入做的有用處理工作量——這顯然很重要。MCU 每 MHz 的電流消耗提供了一個現成的衡量指標,32 位 Cortex M3 處理器的基準數據是 Energy Micro 的 EFM32 Tiny Gecko MCU 達到的 150μA/ MHz。
處理器還需要一系列需要盡可能少電流的睡眠和深度睡眠模式。再次以 Gecko 系列處理器為例,停止模式可達到的數字約為 20nA。
然而,在實踐中,功耗的第三個方面可能是重要的。如果處理器無法在睡眠時監(jiān)視外部事件以了解何時喚醒,則睡眠模式幾乎沒有用處。因此,在實踐中,大多數 MCU 大部分時間都處于中間“等待輸入”模式。
這種狀態(tài)的例子很多。智能手機只需要在有來電或消息時喚醒,或者當用戶通過 HMI(人機界面)傳感器執(zhí)行適當的操作時。智能水表的“正常”狀態(tài)是等待水開始流動。
在所有這些情況下,通常的解決方案是讓 MCU 定期喚醒以“檢查”其感知輸入并執(zhí)行一些計算以查明是否需要采取任何行動。這帶來了許多挑戰(zhàn)。傳感器測量通常需要系統生成特殊的激勵和采樣模式——例如,電容式傳感器需要用正弦波輸入來激勵。
充其量,在功耗和系統的響應能力之間存在權衡:手機“輪詢”其觸摸屏界面的次數太少——也許每隔幾秒鐘——可能會顯得遲鈍,因此難以使用。
醒來的過程本身就證明是代價高昂的:從睡眠模式過渡到活動模式不會產生任何有用的效果。設計人員可能會發(fā)現,讓 MCU 處于更高的清醒狀態(tài)比消耗能量來管理這些轉換更有效。
一種更好、更節(jié)能的方法是選擇具有更自主的外圍設備和傳感器輸入系統的 MCU:這樣就不必為每次測量喚醒 CPU。
Energy MicroEFM32 Gecko 系列 MCU 提供了這樣一個系統,它結合了低能耗傳感器接口 (LESENSE) 和允許 I/O 組件在沒有 CPU 干預的情況下進行交互的外設反射系統 (PRS)。因此,EFM32 系列 MCU 可以在功耗低于 1.2μA 的睡眠模式下實現電容式觸摸喚醒、金屬物體感應或電阻式傳感器監(jiān)控等功能。
圖 1.EFM32 外設反射系統配置為啟動 ADC 單次轉換以響應 TIMER0 溢出,并提供模擬比較器輸出作為 TIMER1 上比較/捕獲通道的輸入。
PRS(圖 1)允許將來自片上“生產者”外圍設備的信號路由到其他“消費者”外圍設備,這些外圍設備然后可以根據這些輸入執(zhí)行操作?!吧a者”信號包括模擬比較器和 GPIO 電平輸出、來自 ADC 和 DAC 的“轉換完成”信號、來自計數器/定時器的上溢/下溢信號以及來自 UART 或 USART 的“TX/RX 完成”狀態(tài)消息。Reflex“消費者”包括 DAC/ADC 觸發(fā)器、定時器輸入和 UART/USART 使能輸入。
PRS 有八個通道,每個通道都有一個邊緣檢測器,可用于從電平信號生成邏輯脈沖。每通道兩個寄存器(PRS_SWPULSE 和 PRS_SWLEVEL)允許將每個輸出驅動到軟件確定的電平或邏輯“1”。
器件的 LESENSE 接口建立在這種自主外設原理之上,允許 MCU 在亞 μA 睡眠模式下監(jiān)控多達 16 個外部無源(電阻、電容或電感)傳感器。它結合了模擬比較器和 DAC,在從 32kHz 時鐘源運行的定序器模塊的控制下。比較器輸出可以計數、比較或作為中斷直接傳遞。為了進行測量,DAC 可用作比較器參考。
定序器控制哪些引腳連接到比較器、比較器處于活動狀態(tài)多長時間以及何時應傳遞輸出以進行計數或比較。使用 DAC 電壓或 GPIO 引腳的激勵也可以在比較器處于活動狀態(tài)之前或期間執(zhí)行。測量后,計數器或比較器的輸出被緩沖和存儲以供以后處理。
掃描完成后,結果可以傳遞到具有可配置“下一個”狀態(tài)和觸發(fā)條件的低功耗解碼器。這使得捕獲大量傳感器讀數和組合成為可能,并且僅通過隨時間匹配模式來喚醒 CPU(圖 2)。例如,當溫度和濕度傳感器都達到其閾值時,或者當壓力傳感器連續(xù)觸發(fā) 10 次時,可以觸發(fā)喚醒。
圖 2:模擬事件的條件喚醒。
傳感器結果也可以通過 PRS 傳遞,以構建更復雜的系統。這使得邏輯上組合多個 GPIO 引腳以觸發(fā)喚醒或使用解碼器解碼串行傳輸的數據成為可能。
例如,水表中旋轉葉片的運動可以用LESENSE測量,并通過PRS與LESENSE連接的正交計數器計算旋轉。例如,旋轉 10 次后,可以喚醒 CPU 以更新顯示和使用統計信息。對于傳統的 MCU,比較器的所有排序和控制都需要 CPU,而通過 LESENSE 和 PRS 處理這些可以讓芯片保持深度睡眠模式。
電容式感應示例
電容式感應非常常用于 HMI 應用,例如控制面板和遙控器。原理是將電容傳感器包含在 RC 振蕩器電路中。當手指觸摸傳感器時,電容會發(fā)生變化,進而改變振蕩器電路的基頻。
這種安排可以通過將 LESENSE 檢測引腳直接連接到外圍設備來實現。來自比較器輸出的振蕩信號被傳遞到外設,每個上升沿用于遞增計數器。設定時間后,LESENSE 將計數器值捕獲到結果緩沖區(qū)并清除計數器。然后將緩沖的結果與閾值水平進行比較:由于手指觸摸會導致較低的振蕩頻率和較小的計數值,因此只有當計數器值低于閾值時,LESENSE 才會喚醒 CPU。
圖 3:電容式傳感器。
以這種方式實現的電容感應功能消耗的電流受多個因素的影響,包括電容覆蓋層的厚度和采樣頻率。
經驗結果表明,對于采樣頻率為 5Hz 的 5mm 亞克力覆蓋層,每個觸摸板的額外消耗約為 500nA。這導致以 5Hz 采樣的四按鈕觸摸應用的總功耗約為 3μA。沒有采樣的靜態(tài)功耗小于 1μA。為了改善用戶體驗,次觸摸事件后采樣速度可以提高到 10Hz,從而產生 5μA 總功耗。
旋轉計數
正如我們已經觀察到的,旋轉計數是另一種應用,其中 LESENSE 和 PRS 的組合可以顯著降低能耗。這有相當不同的應用,通常在控制和反饋系統中。
一個典型的系統(圖 4)是使用帶有兩個線圈的感應傳感實現的,靠近一個旋轉的輪子放置,其中一半被金屬覆蓋。LESENSE 以足夠快的速度對每個線圈進行采樣,以捕獲車輪經過的金屬部分。每次采樣的輸出通過 PRS 系統饋送到正交計數器。如果計數器在同一方向上達到定義的旋轉次數(圖 4 中的三個),它會發(fā)出可用于喚醒 CPU 的中斷。
圖 4:計數旋轉。
總結
讓 MCU 感知外部世界同時讓 CPU 處于睡眠模式的技術是降低能耗的重要工具。Energy Micro LESENSE 接口使 EFM32 微控制器能夠在執(zhí)行此操作的同時監(jiān)控許多不同類型的模擬傳感器。從低頻時鐘源運行,LESENSE 可以在亞 μA 睡眠模式下監(jiān)控多達 16 個傳感器。典型的平均電流消耗約為 1.2μA。
應用包括任何類型的電容式、電感式或電阻式傳感、旋轉計數、GPIO 狀態(tài)解碼或類似應用。LESENSE 還具有完全可配置的解碼器,可以評估傳感器狀態(tài)并在出現特殊的傳感器輸出組合或檢測到隨時間變化的模式時喚醒 CPU。因此,節(jié)能傳感器的實現是無窮無盡的,而可能性僅受設計師想象力的限制。
評論