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