Funcțiile de reducere a consumului de putere oferite de microcontrolere vă asigură că sistemul vostru nu va fi un consumator de energie

by gabi

Microcontrolerele sunt utilizate pentru o varietate de aplicații. Unele necesită o viteză mare, performanțe ridicate și o funcționare completă continuă, în timp ce altele presupun doar o funcționare parțială în anumite intervale. Studiind aceste cazuri de utilizare pe parcursul mai multor ani, Renesas a proiectat seria de microcontrolere RA2E3, extrem de eficiente din punct de vedere energetic, pentru a oferi inginerilor proiectanți diverse mijloace de reducere a consumului de putere. Acest lucru permite ca produsele electronice bazate pe microcontrolere să fie eficiente din punct de vedere energetic și ecologice, așa cum se așteaptă utilizatorii finali.

RA2E3 oferă patru funcții principale de economisire a energiei, care pot fi utilizate fie separat, fie în combinație:

  1. Trei moduri diferite de operare cu consum redus de putere
  2. Patru moduri diferite de control al puterii
  3. Comutarea frecvenței ceasului la o viteză adecvată
  4. Oprirea modulelor a căror utilizare nu este necesară pentru o anumită durată

Moduri de operare cu consum redus de putere

RA2E3 oferă următoarele trei moduri diferite de consum redus de putere:

  1. Sleep
  2. Software Standby
  3. Snooze

Figura 1: Comparație aproximativă a consumului de energie în fiecare mod de consum redus de putere (se aplică condiții). © Renesas

Microcontrolerul poate fi programat să treacă automat de la un mod la altul atunci când sunt îndeplinite condițiile necesare. Curentul de alimentare maxim în modul ‘Normal’ cu o anumită condiție (ceasuri de mare viteză, toate ceasurile periferice sunt activate etc.) este de 12mA, în timp ce curentul de alimentare tipic în modul ‘Software Standby’ într-o anumită condiție (toate SRAM-urile sunt activate, toate modulele periferice sunt oprite etc.) este de 0,25µA. Curenții de alimentare în modurile ‘Sleep’ și ‘Snooze’ se situează între valorile din modurile ‘Normal’ și ‘Software Standby’ în funcție de condiții precum numărul de module în funcțiune, frecvența ceasului etc. Consumul de putere în fiecare mod poate fi comparat, în linii mari, ca în figura 1. Metoda de tranziție între modurile cu consum redus de putere este descrisă în figura 2.

Figura 2: Metoda de tranziție între modurile de consum redus de putere (pentru detalii, consultați manualul hardware al microcontrolerului). © Renesas

Sleep mode (modul de somn) – în acest mod, procesorul nu mai funcționează, dar conținutul regiștrilor săi interni este păstrat. Celelalte funcții periferice și oscilatoarele nu se opresc în mod implicit, dar utilizatorul poate configura dacă acestea trebuie oprite sau nu.

De exemplu, dacă utilizatorul trebuie să execute conversia A/D pentru o anumită perioadă în regim rapid, dar nu este necesară intervenția CPU în acea perioadă, utilizatorul poate programa microcontrolerul să intre în modul ‘Sleep’ cu un ceas de conversie de mare viteză la începutul conversiei A/D și să revină în modul ‘Normal’ atunci când conversia A/D este finalizată. În acest exemplu, utilizatorul economisește consumul inutil de energie al unității centrale de procesare pentru acea perioadă. Consultați manualul hardware al RA2E3 pentru mai multe detalii despre intrarea și operarea în modul ‘Sleep’, precum și despre dezactivarea acestuia.

Software Standby mode – în acest mod, CPU, majoritatea funcțiilor periferice și oscilatoarele se opresc. Se păstrează, însă, conținutul regiștrilor interni ai CPU și al datelor SRAM, stările funcțiilor periferice pe cip și porturile I/O. Modul ‘Software Standby’ permite o reducere semnificativă a consumului de putere, deoarece majoritatea oscilatoarelor sunt oprite.

De exemplu, dacă un microcontroler trebuie să aștepte o intrare externă, cum ar fi întreruperea IRQ, pentru a iniția o anumită operațiune și nu este necesară nicio altă operațiune în timpul acestei perioade de așteptare, utilizatorul poate programa microcontrolerul să rămână în modul ‘Software Standby’ până la primirea intrării, economisind cea mai mare parte a consumului inutil de putere. Odată ce intrarea este primită, operația țintă poate fi executată în modul ‘Software Standby’ sau după trecerea în modul ‘Snooze’ sau ‘Normal’, după caz. Este posibil să se revină din nou în modul ‘Software Standby’ după finalizarea operațiunii țintă și să se aștepte următoarea intrare. Consultați manualul hardware al RA2E3 pentru mai multe detalii despre intrarea și operarea în modul ‘Software Standby’, precum și despre dezactivarea acestuia.

Snooze mode – în acest mod, CPU încetează să funcționeze, dar conținutul regiștrilor săi interni este păstrat. Operarea majorității funcțiilor periferice și a oscilatoarelor este selectabilă. După cum este descris în figura 2, nu este permisă trecerea directă la modul ‘Snooze’ din modul ‘Normal’ sau modul ‘Sleep’. Tranziția la modul ‘Snooze’ trebuie să se facă prin intermediul modului ‘Software Standby’. Cu toate acestea, se poate face o tranziție directă la modul ‘Normal’ din modul ‘Snooze’.

Să analizăm un exemplu de utilizare a UART în modul ‘Snooze’. Înainte de a începe comunicația cu UART, microcontrolerul poate rămâne în modul ‘Software Standby’ pentru a economisi energie. Când începe să primească datele de la UART, microcontrolerul poate trece în modul ‘Snooze’ și poate continua să primească date fără să trezească unitatea centrală, funcțiile periferice inutile și oscilatoarele. Odată ce recepția datelor este finalizată, microcontrolerul poate reveni din nou în modul ‘Software Standby’ și poate aștepta următoarele date de la UART. Consultați manualul hardware al RA2E3 pentru mai multe detalii despre trecerea în modul ‘Snooze’, operarea în acest mod și anularea acestuia.

Moduri de control al puterii

Figura 3. Comparație aproximativă a consumului de energie în fiecare mod de control al puterii (se aplică condiții). © Renesas

Există patru moduri de control al puterii, acestea fiind definite, în special, pe baza frecvenței maxime de operare și a intervalului de tensiune de operare. Consumul de curent al memoriei (Flash/RAM) este redus prin controlul vitezei de citire a memoriei în funcție de modul de control al puterii. Utilizatorii pot selecta modul de control al puterii după cum corespunde frecvenței de operare și consumului de putere adecvate. Modurile de control al puterii pot fi utilizate în modurile ‘Normal’, ‘Sleep’ și ‘Snooze’. Consumul de putere în fiecare mod este prezentat în figura 3.

High-speed mode – în acest mod, frecvența maximă de operare și intervalul de tensiune în timpul citirii memoriei flash sunt de 48MHz și, respectiv, de la 1,8V la 5,5V. Curentul maxim de alimentare în acest mod cu o anumită condiție (operând în modul ‘Normal’, toate ceasurile periferice dezactivate, codul CoreMark executându-se din flash) este de 4,80mA.

Middle-speed mode – în acest mod, frecvența maximă de operare și intervalul de tensiune în timpul citirii memoriei flash sunt de 24MHz și, respectiv, de la 1,8V la 5,5V. Cu toate acestea, frecvența maximă de operare este de 4MHz atunci când tensiunea de operare este de la 1,6V la 1,8V. Curentul de alimentare, tipic, în acest mod cu o anumită condiție (operând în modul ‘Normal’, toate ceasurile periferice dezactivate, codul CoreMark executându-se din flash) este de 2,60mA.

Low-speed mode – în acest mod, frecvența maximă de operare și intervalul de tensiune în timpul citirii memoriei flash sunt de 2MHz și, respectiv, de la 1,6V la 5,5V. Curentul de alimentare, tipic, în acest mod cu o anumită condiție (operând în modul ‘Normal’, toate ceasurile periferice dezactivate, codul CoreMark executându-se din flash) este de 0,30mA.

Subosc-speed mode – în acest mod, frecvența maximă de operare și intervalul de tensiune în timpul citirii memoriei flash sunt de 37,6832kHz și, respectiv, de la 1,6V la 5,5V. Curentul de alimentare, tipic, în acest mod cu o anumită condiție (operând în modul ‘Normal’, toate ceasurile periferice activate etc.) este de aproximativ 5µA.

Comutarea ceasului

Raportul de divizare a frecvenței poate fi selectat pentru ceasul de sistem (ICLK). Atunci când nu este necesar un ceas de mare viteză, utilizatorul poate comuta la ceasul corespunzător de viteză mai mică și poate economisi consumul de putere. Raportul de divizare a ceasului este 1, 2, 4, 8, 16, 32 și 64.

Figura 4. Comparație aproximativă a consumului de energie atunci când condițiile altor funcții de economisire a puterii sunt aceleași. © Renesas

Cu cât frecvența este mai mică, cu atât consumul de curent este mai mic. Dar în ceea ce privește performanța energetică (mA/MHz), frecvența de 48MHz devine cea mai eficientă (100µA/MHz = 4,8mA/48MHz). În general, pentru aplicațiile care necesită o performanță mai mare a procesării de calcul și a unității centrale, se poate obține un consum mai mic de putere prin setarea unei frecvențe mai mari și prin scurtarea timpului de procesare a unității centrale în modul ‘Normal’. Pe de altă parte, pentru aplicații precum sistemele de control, consumul de curent poate fi redus prin setarea frecvenței la o valoare mai mică în modul ‘Normal’.

De exemplu, curenții de alimentare tipici atunci când ICLK este de 48MHz, 32MHz, 16MHz și 8MHz sunt de 4,80mA, 3,45mA, 2,05mA și, respectiv, 1,40mA în condițiile următoarelor funcții de economisire a puterii. Modul de consum redus de putere: Modul ‘Normal’, Modul de control al puterii: Modul ‘High-speed’, Modul de oprire a modulelor: toate ceasurile periferice sunt dezactivate.

Figura 5. Comparație aproximativă a consumului de putere pentru fiecare combinație. © Renesas

Raportul de divizare a semnalului de ceas 1, 2, 4, 8, 16, 32 și 64 poate fi selectat și pentru ceasurile periferice (PCLKB, PCLKD).

Funcția ‘stop modul’

Consumul de putere poate fi economisit prin oprirea modulelor a căror utilizare nu este necesară sau a ceasurilor acestora cu următoarele setări de registru:

  • Operarea modulelor DTC, I2C, SPI, SCI, CAC, CRC, DOC, ELC, AGT, GPT32n, GPT16n, POEG, ADC120 poate fi oprită prin setarea regiștrilor MSTPCRn (n: A, B, C, D).
  • Registrul de ceas R/W pentru RTC, WDT, IWDT poate fi oprit prin setarea registrului LSMRWDIS.
  • Ceasul de operare pentru MPU, Depanare, BPF poate fi oprit prin setarea registrului LPOPT.
  • 8KB din cei 16KB de SRAM pot fi dezactivați în modul ‘Software Standby’ prin setările registrului PSMCR

Tabelul 1: Exemple de combinații ale funcțiilor de economisire a energiei (se aplică condiții)

Combinarea funcțiilor de economisire a puterii

Se pot obține mai multe economii de energie utilizând combinații ale funcțiilor de reducere a consumului de putere. Tabelul detaliază cinci cazuri care reprezintă doar câteva exemple dintre numeroasele combinații posibile.

Pentru informații suplimentare despre microcontrolerele cu consum de putere foarte redus RA2E3 accesați pagina: www.renesas.com/ra2e3

Autor: Prabhath Horagodage, Senior Staff Product Management, Renesas

Renesas Electronics Europe  |   https://www.renesas.com

S-ar putea să vă placă și