低功耗已成為 MCU 的必備特性。本文介紹了 Renesas Snooze 功能的使用,并提供了一個示例應(yīng)用程序,在該應(yīng)用程序中,平均電流節(jié)省了 31%。
在過去幾年中,設(shè)計人員對低功耗運(yùn)行的需求急劇增長,尤其是在用于消費(fèi)、工業(yè)、辦公和醫(yī)療應(yīng)用的便攜式電子設(shè)備中,在這些應(yīng)用中,購買者表現(xiàn)出對延長使用壽命、更小尺寸和復(fù)雜功能的不懈渴望。
為了支持這些最終用戶的需求,瑞薩在 16 位 MCU 領(lǐng)域推出了 RL78/G12 和 RL78/G13 MCU 組。
除了出色的一般低功耗特性外,RL78 系列還具有一些特定功能,可通過關(guān)閉器件的主要部分來進(jìn)一步降低工作功耗,同時仍允許關(guān)鍵外圍模塊繼續(xù)運(yùn)行。特別是,為了方便系統(tǒng)設(shè)計人員,RL78 增加了貪睡模式。此功能允許常見的數(shù)據(jù)采集或數(shù)據(jù)傳輸功能在無需“喚醒”CPU 的情況下運(yùn)行,從而顯著降低了許多典型 MCU 功能的功耗。與 CPU 必須保持活動并協(xié)助常見外圍功能的其他低功耗模式相比,這種操作靈活性是一個顯著優(yōu)勢。
例如,在 RL78/G13 貪睡模式下,A/D 轉(zhuǎn)換器可以在不喚醒 CPU 的情況下完成轉(zhuǎn)換。由于在貪睡模式下運(yùn)行的 A/D 轉(zhuǎn)換僅需要 0.5 mA 而不是使用運(yùn)行模式所需的 5 mA,因此這可以節(jié)省大量電力。本文通過一個設(shè)計示例應(yīng)用程序解釋了在 RL78 的整體低功耗功能的背景下如何使用貪睡功能,該應(yīng)用程序定期測量模擬信號并在信號超出工作范圍時發(fā)出警報。
提出了兩種不同的實(shí)現(xiàn):一種不使用貪睡模式操作,另一種使用。RL78/G13 MCU 組的數(shù)據(jù)表編號將用于比較。我們將展示對于這個典型示例,當(dāng)使用貪睡模式而不是沒有貪睡功能的實(shí)現(xiàn)時,可以節(jié)省 31% 的功耗。
RL78 特性
RL78 系列由兩個流行的瑞薩 MCU 系列 78 K 和 R8C 演變而來。RL78 的設(shè)計利用了這些產(chǎn)品系列背后的多年經(jīng)驗(yàn),包括 CPU 內(nèi)核和各種經(jīng)過驗(yàn)證的外圍功能。這樣可以有效地重用與以前的 78K 和 R8C 產(chǎn)品一起使用的軟件資源。
RL78/G12 和 RL78/G13 系列具有 2 KB 至 512 KB 的片上單電源閃存、0.25 KB 至 32 KB 的 RAM 數(shù)據(jù)存儲器和高達(dá) 8 KB 的閃存數(shù)據(jù)存儲器。1.6 V 至 5.5 V 的寬工作范圍使其易于在基于電池的應(yīng)用中使用,在這些應(yīng)用中,隨著電池逐漸放電,電壓可能會隨時間變化。在運(yùn)行模式下,RL78/G13 在 32 MHz 下提供 41 個 DMIP,而僅需要 66 uA/MHz 的工作電流。這樣可以盡快完成重要功能,從而顯著減少關(guān)鍵操作期間的電流消耗。下面的圖 1 顯示了 RL78/G13 MCU 的關(guān)鍵元件。
?
圖 1:RL78/G13 的關(guān)鍵要素。
RL78/G13 提供全功能 DMA 控制器、時鐘生成、上電復(fù)位、低電壓檢測器、硬件支持復(fù)雜的算術(shù)功能(16 位乘 16 位乘法、32 位乘 32 位除法、16 位通過 16 位乘以 32 位累加)和單線調(diào)試接口來加速開發(fā)。安全功能包括提高系統(tǒng)可靠性的特殊自診斷和錯誤檢查功能。
四種基本模式
降低功耗的常用策略包括降低時鐘頻率或在不需要時關(guān)閉某些外圍設(shè)備。這些技術(shù)可以將平均電流調(diào)整到幾毫安或更小。另一種方法利用定時器(如 RTC)來維持系統(tǒng)控制,同時允許 CPU 和外圍設(shè)備在大多數(shù)時間停止。在這里,通??梢垣@得低至 10 或 100 微安的平均電流。當(dāng)系統(tǒng)被允許在需要之前完全處于非活動狀態(tài)時,使用中斷來喚醒芯片,甚至可以實(shí)現(xiàn)更低的電流,通常小于微安。
RL78 為系統(tǒng)設(shè)計人員提供了極大的靈活性,可以動態(tài)調(diào)整 MCU 狀態(tài)以最大限度地降低功耗。它有四種基本模式——操作、暫停、貪睡和停止。這些模式的操作流程圖如下圖 2 所示。每個都有不同的功率特性。
RL78/G13 器件在待機(jī)運(yùn)行時具有出色的低功耗特性;即,在暫停或停止模式下。例如,當(dāng)使用運(yùn)行實(shí)時時鐘 (RTC) 和低壓檢測器 (VLD) 功能的 32 kHz 內(nèi)部振蕩器時,它們在暫停模式下的電流要求較低,僅為 0.57 μA。當(dāng)芯片在周期性操作之間等待時,這種性能可以保持低電流消耗,這是基于電池的設(shè)計中的常見情況。
?
圖 2:四種操作模式的流程圖。
在 Halt 模式下,CPU 時鐘被禁用以節(jié)省功耗,但所有外圍功能都可以運(yùn)行,主時鐘或副時鐘可以保持活動狀態(tài)。活動時鐘允許 CPU 立即重新啟動。外設(shè)(如 DMA 控制器)運(yùn)行不受阻礙——例如在外設(shè)和內(nèi)存之間傳輸數(shù)據(jù)而無需 CPU 干預(yù)。
時鐘以最高 32 MHz 的頻率運(yùn)行以供外設(shè)使用時,暫停模式下的電流消耗為 1.1 mA,而工作模式下的電流消耗為 5.1 mA。
在使功耗盡可能低的 STOP 模式下,高速系統(tǒng)時鐘振蕩器和內(nèi)部高速振蕩器被禁用,從而停止整個系統(tǒng)。32 kHz 子時鐘仍可在停止模式下運(yùn)行,保持實(shí)時時鐘 (RTC) 和 12 位間隔定時器處于活動狀態(tài)。此外,低壓檢測 (LVD) 電路、看門狗定時器和外部中斷都處于活動狀態(tài)。所有活動源都可以將 CPU 喚醒到操作模式。MCU 在啟用 RTC 和 LVD 的停止模式下通常消耗 0.57 μA。
引入貪睡模式
在貪睡模式下,一些外圍功能可以“喚醒”并執(zhí)行簡單的操作,而無需“喚醒”CPU。當(dāng)特定外設(shè)通過退出停止模式并啟用正在執(zhí)行的操作所需的適當(dāng)外設(shè)時鐘來觸發(fā)數(shù)據(jù)接收事件時,可以實(shí)現(xiàn)這一點(diǎn)。大多數(shù)外圍功能都被禁用,但有一些例外;即RTC、間隔定時器、看門狗定時器、上電復(fù)位、低電壓檢測、外部中斷和按鍵中斷都可以工作。然而,它們也可以被選擇性地禁用以節(jié)省更多電量。只有選擇子系統(tǒng)時鐘作為計數(shù)時鐘,時鐘輸出才可操作。定時器陣列單元、乘法器/除法器、DMA 控制器、高速 CRC、CRC 操作和非法存儲器訪問功能均被禁用。
例如,當(dāng) RTC 或間隔定時器中斷發(fā)出轉(zhuǎn)換開始的信號時,A/D 轉(zhuǎn)換器從數(shù)據(jù)轉(zhuǎn)換接收數(shù)據(jù)可以通過喚醒以在貪睡模式下運(yùn)行。通常,在 STOP 模式下 A/D 轉(zhuǎn)換會停止,但通過使用 SNOOZE 模式,可以在不操作 CPU 的情況下執(zhí)行 A/D 轉(zhuǎn)換。A/D 轉(zhuǎn)換在貪睡模式下僅使用 0.5 mA,但在運(yùn)行模式下使用 5 mA。
同樣,當(dāng)檢測到串行時鐘輸入引腳 (SCKp) 邊沿時,同步串行端口可以“喚醒”。當(dāng)檢測到 RxD 輸入的邊沿時,UART 可以“喚醒”。這避免了與從停止到運(yùn)行的正常轉(zhuǎn)換相關(guān)的“喚醒”時間,并且可以節(jié)省大量電力。
當(dāng)貪睡模式轉(zhuǎn)換到運(yùn)行模式時,喚醒時間(時鐘穩(wěn)定所需)為 20 微秒。
在停止模式下,所有外設(shè)都可操作,而在貪睡模式下,外設(shè)的時鐘被禁用,除了 ADC、UART 和 CSI 配置時。
示例顯示貪睡操作的好處
為了更好地了解貪睡模式操作的好處,我們將檢查示例設(shè)計的功耗。所選設(shè)計是一種必須定期測量模擬信號的常見應(yīng)用類型。(在這種情況下,模擬信號表示溫度,但它可以是各種周期性傳感器測量中的任何一種。)我們首先在不使用貪睡模式的情況下計算了預(yù)期的功耗。接下來,我們計算了使用貪睡模式時的預(yù)期功耗。對所產(chǎn)生的功耗估計值進(jìn)行比較后,我們將通過數(shù)值衡量貪睡模式在常見設(shè)計類型中的優(yōu)勢。
該遠(yuǎn)程溫度傳感器將使用瑞薩電子 RL78/G13 MCU 作為主控制器,以實(shí)現(xiàn)更高級別的程序功能。片上 A/D 轉(zhuǎn)換器將用于通過模擬輸入引腳測量溫度。溫度將使用四個位置的四個獨(dú)立傳感器測量。UART 端口將用于使用外部無線收發(fā)器與中央控制系統(tǒng)進(jìn)行通信。串行閃存將存儲事件記錄數(shù)據(jù),MCU 將通過 SPI 端口與內(nèi)存通信。GPIO 端口將用于通過 7 段 LCD 顯示測量值和狀態(tài)。該系統(tǒng)的框圖如下圖 3 所示。
?
圖 3:遠(yuǎn)程溫度傳感器的框圖。
遠(yuǎn)程溫度傳感器示例的主要功能的程序流程如下圖所示。
?
圖 4:遠(yuǎn)程溫度傳感器程序流程。
功耗估算
為了估算每個運(yùn)行周期所需的總電流,我們可以簡單地將每個電流分量乘以運(yùn)行時間,然后將它們中的每一個相加。計算如下表1所示。循環(huán)期間的工作電流在 0.5 秒內(nèi)為 0.57 uA,因此平均電流為 1.14 uA。
?
表 1:平均當(dāng)前估計值 - 沒有貪睡。
使用貪睡模式可將測量溫度功能的工作電流從 5.2 mA 降低到 1.12 mA。其他工作電流不變。循環(huán)期間的工作電流降低至 0.39 μA,平均為 0.791 μA,節(jié)省約 31%。見下表 2。
?
表 2:電源使用配置文件 - 有貪睡。
結(jié)論
瑞薩電子的 RL78/G12 和 RL78/G13 MCU 是推薦用于要求低功耗操作要求的嵌入式系統(tǒng)的解決方案,因?yàn)樗鼈兲峁┝讼冗M(jìn)的電源管理功能。除了提供業(yè)界最低功耗等級之一,RL78 系列還提供省電貪睡模式,在該模式下,A/D 轉(zhuǎn)換和串行通信可以在 CPU 處于待機(jī)狀態(tài)時繼續(xù),而 CPU 僅被喚醒在需要的時候。
本文詳細(xì)介紹了 RL78/G13 系列 MCU 中可用的低功耗模式,并在示例應(yīng)用中展示了通過使用特殊的貪睡功能實(shí)現(xiàn)了 31% 的平均電流節(jié)省。這種高性能和低功耗的結(jié)合使 RL78 非常適合各種功率受限的應(yīng)用。
評論