Modul Deep Sleep

1 DECEMBRIE 2011

“Noile tehnici împing managementul energetic integrat dincolo de modul de funcţionare Sleep”, explică Jason Tollefson de la Microchip Technology Inc.

PIC24F16KA XLP utilizează modul Deep Sleep pentru reducerea consumului energetic

Modurile de funcţionare Sleep nu mai pot furniza economii suplimentare de energie noilor generaţii de produse cu durate de viaţă ale bateriilor de zeci de ani, sau să mulţumească cerinţele ‘green’. De aceea producătorii de microcontrolere caută noi tehnici, care conduc managementul energetic integrat dincolo de limitele modului Sleep convenţional.

Recent, de exemplu, producătorii de microcontrolere (MCU) au început să utilizeze “switch-uri” electronice care opresc complet alimentarea unor părţi din cip atunci când acestea nu sunt în uz; circuitele de supervizare a tensiunii au avansat de asemenea, în sensul că sunt capabile de a oferi un control continuu, consumând în acelaşi timp o cantitate minimă de energie de la baterie. Prin analiza acestor tehnologii emergente, se poate înţelege modalitatea de implementare a lor cu un maxim de efect.

Modul Sleep îşi arată vârsta
În mod tradiţional, modul Sleep al MCU a fost cea mai utilă unealtă de management energetic ce a fost la îndemâna proiectanţilor de dispozitive embedded. Dar modul Sleep există de mulţi ani şi a început să-şi arate vârsta: el nu mai poate urmări standardele în continuă mişcare în sensul minimizării consumului energetic, ceea ce este fundamental pentru noile generaţii de produse embedded.
Unul dintre motivele celor spuse mai sus este acela că, peste ani, microcontrolerele au devenit din ce în ce mai complexe, integrând din ce în ce mai multe funcţii şi periferice. Cu fiecare creştere în complexitate, microcontrolerele îşi adaugă noi noduri de procesare, toate contribuind la scurgeri de energie din sistem. Suplimentar, sunt necesare tot mai adesea produse ce impun durate de viaţă a bateriilor de 10 ani sau mai mult, în aplicaţii precum dispozitive de măsurare inteligente pentru utilităţi, detectoare de fum. De asemenea, legislaţia impune un control din ce în ce mai ridicat al consumului energetic, devenind clar că modul Sleep tradiţional nu mai poate furniza suficiente economii energetice.

Mai adânc decât modul Sleep
Pentru a compensa efectele creşterii complexităţii şi micşorarea geometriilor, producătorii de MCU au introdus noi moduri de scădere a consumului energetic. Indiferent dacă numele modurilor diferă: Standby, STOP2, LPM5, sau Deep Sleep, scopul lor este acelaşi. Acesta este modul de a reduce necesarul energetic al microcontrolerului dincolo de eficienţele obţinute prin modul Sleep.
Toate tehnicile Deep Sleep lucrează prin utilizarea unor comutatoare integrate controlate software pentru a opri alimentarea unor zone semnificative ale microcontrolerului. Oprirea alimentării unor tranzistoare din diferite zone ale cipului conduce la stoparea pierderilor pe tranzistoare, extinzând semnificativ durata de viaţă a bateriilor. În modul Deep Sleep, circuitele verzi din figura 1 vor continua să consume energie, în vreme ce celelalte circuite vor avea alimentarea oprită.

Figura 1: Modul Deep Sleep menţine active unele circuite, oprind însă alimentarea altora

Nu toţi producătorii obţin acelaşi nivel de economie energetică din modul Deep Sleep. Tipic, valoarea atinsă de majoritatea MCU este o reducere de 80% a curentului de mod sleep, dar unele microcontrolere ating acum curenţi de mod Deep Sleep de până la 20 nA.
Combinarea dintre curenţii mici ai modului Deep Sleep şi baterii cu viteze de auto-descărcare mici pot adăuga ani la durata de viaţă a bateriilor în unele aplicaţii.

Dezavantaje ale modului Deep Sleep
Desigur că fiecare nou avans aduce după sine şi unele dezavantaje şi, pentru modul Deep Sleep, unul dintre acestea reprezintă un timp de pornire mai lent. Uzual, pentru revenirea unui MCU din modul Sleep standard sunt necesare între 1 şi 10µs iar, în funcţie de producător, un MCU necesită între 300µs şi 3ms pentru a reveni din Deep Sleep.
Cel mai lung timp de pornire este necesar pentru finalizarea secvenţei de alimentare şi pentru activarea stabilizatoarelor de pe cip. Revenirea din modul Deep Sleep este foarte asemănătoare cu o reiniţializare Power-on Reset.
O altă diferenţă semnificativă este aceea că cele mai multe implementări ale modului Deep Sleep opresc alimentarea memoriei RAM, regiştrilor periferici şi I/O, în vreme ce în modul Sleep standard execuţia poate începe exact de unde a fost oprită. Modurile Deep Sleep necesită ca programele contextuale să fie restaurate de pe o sursă de memorie nevolatilă, precum Flash sau EEPROM, sau de pe mici zone ale memoriei RAM de back-up de pe care nu a fost oprită alimentarea în Deep Sleep. De vreme ce este nevoie de curent pentru executarea programului de revenire a MCU la starea anterioară trecerii în modul Deep Sleep, apare un consum energetic la revenirea din acest mod.

Revenirea (wake-up)
Revenirea unui MCU din modul Deep Sleep este diferită de revenirea din Modul Sleep.
Modul Sleep tradiţional are un număr de căi de revenire a MCU, precum întreruperi, temporizări, recepţie comunicaţii, sfârşitul unei conversii analog/digitale şi schimbări ale tensiunii de alimentare.
Unele, dar nu toate, dintre aceste surse de revenire au fost incluse de către producătorii de MCU în modurile lor Deep Sleep.
Sursele de revenire disponibile în modul Deep Sleep pot include întreruperi, pini de reset, reiniţializarea alimentării, alarme de ceas de timp real, temporizatoare de monitorizare (watchdog) şi detecţia căderii alimentării. Ceea ce lipseşte aici este revenirea din recepţia unei comunicaţii şi sfârşitul unei conversii A/D.
De vreme ce aceste porţiuni ale dispozitivului nu sunt alimentate, aceste caracteristici de revenire nu pot fi suportate de modul Deep Sleep. Deoarece diferiţi producători pot alege utilizarea de diferite implementări pentru revenire, este important de cunoscut posibilităţile de revenire oferite de diferite familii de microcontrolere.
Unii producători, de exemplu, ies din modul Deep Sleep numai având la bază un pin de reiniţializare (RESET). Acest lucru este util pentru aplicaţii ce dispun de un buton “Pornit” şi nu consumă curent suplimentar. Apăsând butonul, aplicaţia revine din modul Deep Sleep la starea de funcţionare şi produsul este gata de funcţionare.
Ca exemple de astfel de aplicaţii pot fi menţionate termometre şi dispozitive portabile, dar şi lungirea duratei de viaţă la raft a produselor alimentate la baterii, deoarece ele pot fi livrate în modul Deep Sleep.
Alţi producători utilizează un sistem de implementare mai complex, incluzând o mai mare flexibilitate prin adăugarea unor funcţii de ceas de timp real şi calendar. Acestea permit ca aplicaţiile să fie autonome, adăugând numai 500 nA curentului de mod Deep Sleep. Alarma de ceas readuce dispozitivul în funcţiune, nemaifiind nevoie de aşteptarea apăsării unui buton. Acest lucru este important pentru aplicaţii precum: detectoare de fum, ce necesită eşantioane de aer de 2-3 ori pe minut, sau senzori alimentaţi la baterii, care trebuie activaţi de câteva ori pe zi pentru a măsura şi transmite date.
Prin stabilirea unor caracteristici de revenire din modul Deep Sleep specifice aplicaţiei poate fi crescută semnificativ durata de viaţă a bateriilor.

Sfârşitul duratei de viaţă
Chiar şi cu creşterea duratei de viaţă a bateriilor ca urmare a utilizării modului Deep Sleep, vine fără îndoială un moment când bateria îşi atinge sfârşitul şi riscul de operaţii greşite creşte.
Uzual, circuitele de supervizare, precum circuitele de detecţie a întreruperii BOR (Brownout Reset) şi temporizatoare de monitorizare Watchdog (WDT), sunt utilizate pentru protecţie în astfel de situaţii. Circuitele de detecţie a întreruperii alimentării (Brownout) pot detecta dacă ieşirea bateriei este prea mică pentru o operare sigură şi forţează aplicaţia să intre într-o stare sigură. Temporizatoarele de monitorizare oferă protecţie similară împotriva execuţiei eronate a programului, dacă MCU încearcă să-l execute la frecvenţe sau tensiuni nesigure.
Problema principală cu aceste circuite este consumul lor de curent, care poate fi tipic de 5-50 µA. Pentru un MCU ce se doreşte reper de consum energetic prin utilizarea modului Deep Sleep, energia cerută de aceste soluţii tradiţionale este inacceptabilă.
În ciuda acestor dezavantaje există numeroase aplicaţii ce pot beneficia de pe urma modului Deep Sleep. Dificultatea este desigur de a determina ce aplicaţie trebuie să implementeze acest mod şi care nu. Următoarea ecuaţie simplă poate răspunde acestei întrebări:

Tbe = ((Tinit * Idd) + (Tpor * Ipor)) / (Ipdslp – Ipdds)

Unde:
Tbe = timp de prag de rentabilitate unde încărcarea în modul Sleep este egală cu încărcarea în modul Deep Sleep
Tinit = timp de iniţializare pentru revenirea la operarea la putere maximă
Idd = curent consumat în timpul funcţionării
Tpor = Timp necesar pentru Power-on Reset
Ipor = curent pentru Power-on Reset (inclusiv curentul condensatorului de stabilizare dacă este prezent)
Ipdslp = curent static în modul Sleep
Ipdds = curent static în modul Deep Sleep

(Ecuaţie menţionată în nota de aplicaţie Microchip AN1267)

Ecuaţia de mai sus prezintă încărcarea în modurile Sleep şi Deep Sleep. Timpul de prag de rentabilitate, Tbe, este punctul în care încărcările fiecărui mod sunt egale. Deep Sleep oferă un maxim de avantaj dincolo de pragul Tbe, după cum se poate observa în următoarele exemple.
Să presupunem că MCU cu mod Deep Sleep are următoarele caracteristici:

Tinit = 200 µs
Idd = 400 µA
Tpor = 600 µs
Ipor = 30 mA (inclusiv curentul pentru condensatorul de stabilizare)
Ipdslp = 3,5 µA
Ipdds = 28 nA

De aici rezultă:
Tbe = Tpd = ((Tinit*Idd)+(Tpor*Ipor))/(Ipdslp-Ipdds) = ((200µs*400µA)+(600µs*30mA))/(3,5µA–28nA) = 5,2 secunde

Astfel, cu un timp de prag de 5,2 secunde, o aplicaţie care rămâne în modul Deep Sleep mai mult de 5,2 secunde va fi avantajoasă.

Cele mai recente microcontrolere rezolvă problema în sensul că utilizează circuite BOR şi WDT de curent redus, special proiectate pentru modul Deep Sleep.
Cunoscute ca DSBOR (Deep Sleep BOR) sau Zero-Power BOR, aceste circuite de detecţie a întreruperilor oferă precizie la un consum mic de curent de până la 45nA.
Ele nu numai că protejează produsul la sfârşitul duratei de viaţă a bateriilor, ci şi oferă protecţie la pierderi momentane de alimentare ca urmare a mişcării suportului de baterii, fenomen des întâlnit în cadrul aplicaţiilor alimentate de la baterii. Felul în care este implementat BOR de curent redus diferă în funcţie de producători: în unele cazuri acesta poate fi oprit, în vreme ce în altele este permanent alimentat. Deoarece nu toţi producătorii MCU oferă circuite BOR pentru modul Deep Sleep, este importantă verificarea MCU din punct de vedere a compatibilităţii sale cu fiecare aplicaţie.

Numai câţiva producători au redus şi curentul necesar temporizatoarelor MCU în modul Deep Sleep obţinându-se un curent de până la 400 nA.

Aceste îmbunătăţiri în consumul de curent înseamnă că ambele circuite de supervizare pot rămâne acum alimentate în timpul activării modului Deep Sleep, cu un consum total de curent de 445nA. Acest lucru înseamnă un curent cu 99% mai mic decât generaţia anterioară de MCU. Prin utilizarea ecuaţiilor de mai sus, pragul de rentabilitate (Tbe) cu ambele circuite de supervizare este de numai 5,9 secunde. Consumul de curent pentru aceste noi circuite de supervizare permite operaţii mai sigure pentru o gamă largă de aplicaţii ce intră în mod de aşteptare mai mult de 6 secunde.

Deep Sleep
În vreme ce procesul de micşorare a geometriei în noile MCU furnizează integrare şi funcţionalitate crescute, modurile Sleep tradiţionale nu pot compensa pierderile mari de curent datorate numărului mare de tranzistoare.
Vânzătorii de microcontrolere s-au orientat de aceea către noile moduri Deep Sleep, în care părţi ale circuitului pot să fie complet nealimentate atunci când nu sunt în operare. Acest lucru, în combinaţie cu circuitele de activare mult mai performante, pot conduce la curenţi de mod Deep Sleep mai mici cu 80% decât tehnicile anterioare de management energetic.
În vreme de modul Deep Sleep poate creşte substanţial durata de viaţă a bateriilor pentru aplicaţiile bazate pe MCU, este important să fie luat în considerare pragul de rentabilitate, pentru care energia economisită este mai mare decât energia necesară pentru activarea circuitului din modul sleep cu oprirea alimentării.
Ecuaţiile simple prezentate mai sus permit proiectanţilor embedded să aleagă soluţia şi să creeze o nouă generaţie de produse cu alimentare de la baterii cu durată incredibilă de viaţă a bateriilor.

www.microchip.com

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile necesare sunt marcate *

  • Folosim datele dumneavoastră cu caracter personal NUMAI pentru a răspunde comentariilor/solicitărilor dumneavoastră.
  • Pentru a primi raspunsuri adecvate solicitărilor dumneavoastră, este posibil să transferăm adresa de email și numele dumneavoastră către autorul articolului.
  • Pentru mai multe informații privind politica noastră de confidențialitate și de prelucrare a datelor cu caracter personal, accesați link-ul Politica de prelucrare a datelor (GDPR) si Cookie-uri.
  • Dacă aveți întrebări sau nelămuriri cu privire la modul în care noi prelucrăm datele dumneavoastră cu caracter personal, puteți contacta responsabilul nostru cu protecția datelor la adresa de email: gdpr@esp2000.ro
  • Abonați-vă la newsletter-ul revistei noastre