Gestionarea energiei în microcontrolere utilizează optim opțiunile de consum redus de la MCU-uri;
12 martie 2014, 8:29 | | Bogat Miron
Astăzi, sistemele încorporate trebuie să funcționeze cât mai mult posibil cu o singură încărcare a bateriei. Aici este important să faceți o utilizare optimă a modurilor interne de consum redus de energie ale microcontrolerelor. O comparație a opțiunilor de consum redus ale MCU-urilor de la Microchip, STMicroelectronics și Texas Instruments.
Pentru dispozitivele electronice portabile, cât durează cu o singură încărcare este aproape la fel de importantă ca funcțiile reale pe care le oferă dispozitivul. Deoarece atunci când bateria este descărcată, nu contează ce performanță excelentă ar putea oferi dispozitivul. Microcontrolerele moderne (MCU-uri) cu platforme special concepute pentru funcționare cu consum redus de energie oferă soluții bune aici. De asemenea, oferă multe moduri de economisire a energiei, cum ar fi modul de repaus, hibernare, etc. și funcții, cum ar fi pinii dedicați, care comută automat sistemul la funcționarea bateriei de rezervă atunci când alimentarea este oprită. Și, în cele din urmă, pe lângă măsurile de economisire a energiei, există arta dezvoltării de software cu instrumente precum „IAR Embedded Workbench«
care poate arăta consumul de energie pentru executarea fiecărei linii de cod. Prin verificarea comportamentului sistemului în timp real, dezvoltatorii pot utiliza aceste informații pentru a regla fin sistemul pentru o eficiență operațională maximă, de exemplu schimbarea frecvenței ceasului sau plasarea sistemului într-un mod cu energie redusă.
Dacă există încă îndoieli cu privire la importanța eficienței energetice în sistemele integrate de astăzi, este suficient să aruncăm o privire asupra ultimelor standarde DRAM publicate de JEDEC: organizația a publicat nu numai o nouă versiune a standardului său pentru electronice portabile cu LPDDR3, cel mai recent DRAM general. -DDR4 standard include o varietate de caracteristici pentru un consum redus de energie, cum ar fi o arhitectură pseudo-deschisă. Indiferent dacă un microcontroler se află într-un smartphone sau într-un automobil - un lucru este clar: poate îndeplini cerințele clienților numai dacă oferă o funcționare eficientă din punct de vedere energetic.
Pentru a optimiza consumul de energie, dezvoltatorii trebuie să se concentreze pe două obiective principale: cel mai scurt timp posibil în modul activ și consumul minim de energie în modul inactiv. Nu cu mult timp în urmă microcontrolerele aveau doar un singur mod de așteptare, dar astăzi modulele oferă o serie de opțiuni pentru evitarea modului activ și permiterea acestuia doar atunci când este absolut necesar.
»PIC-urile« economisesc energie electrică

Fig. 1: În modul Doze, CPU-ul »PIC24F-J128GA310« (aici pe modulul plug-in pentru placa de dezvoltare »Explorer 16«) poate rula mai lent decât perifericele
Familia de microcontrolere »PIC24FJ128GA310« de la Microchip (Imaginea 1) de exemplu o gamă întreagă de opțiuni de gestionare a energiei:
permite modulului să treacă la o baterie de rezervă pentru cel mai mic consum de energie posibil cu RTCC (Calendar în timp real/Ceas, ceas în timp real cu calendar),
„Deep Sleep Mode” pentru o funcționare aproape complet neputincioasă, cu capacitatea de a fi trezit de un declanșator extern și consum extrem de redus de energie (la 3,3 V tipic WDT: 270 nA, RTCC: 400 nA la 32 kHz, somn profund -Curent: 40 nA),
Moduri de repaus și inactivitate care
Periferice și/sau nuclee
Opriți selectiv pentru reducerea semnificativă a puterii și trezirea rapidă,
Modul Doze, care permite procesorului să ruleze la o frecvență de ceas mai mică decât perifericele,
modurile de ceas alternative permit modificări din mers la o rată de ceas mai mică pentru reducerea selectivă a puterii.
Modurile de repaus și inactiv permit proiectanților să oprească perifericele și/sau miezul controlerului pentru a reduce consumul de energie, menținând în același timp capacitatea de a se trezi rapid. În modul „repaus de retenție”, circuitele cheie sunt furnizate de un regulator separat de joasă tensiune. Modul VBAT comută sistemul la bateria de rezervă dacă VDD este eliminat, minimizând astfel consumul de energie cu RTCC. Somnul profund fără RTCC oferă o oprire aproape completă și, în același timp, primește controlul software, astfel încât modulul să poată fi repornit prin declanșatoare externe. Potrivit companiei, controlerul funcționează la doar 40 nA în acest mod (de obicei la 3,3 V), comparativ cu 400 nA la 32 kHz pentru modul RTCC.
Modificarea frecvenței ceasului poate economisi multă energie. În modul de repaus, de exemplu, utilizatorul poate reduce performanța rulând CPU la o rată de ceas mai mică decât perifericele. În plus, microcontrolerul oferă opțiunea de a reduce frecvența ceasului în timpul funcționării și, astfel, permite ajustarea fină a reducerii puterii.
Controlere Frugal »STM8«
Imaginea 2: Familia de microcontrolere »STM8L« oferă patru moduri de consum redus, astfel încât utilizatorul să poată găsi un echilibru optim între eficiență, performanță și timpul de pornire
Microcontrolerul »STM8L152C6T6« de la STMicroelectronics oferă patru moduri de consum redus (imaginea 2) disponibil astfel încât utilizatorul să poată găsi un echilibru optim între eficiență, performanță și timpul de pornire (poza 3).
Imaginea 3: Modurile de consum redus ale familiei de microcontrolere »STM8L« în comparație
În modul de așteptare, ceasul CPU este oprit în timp ce perifericele continuă să funcționeze. Cipul poate părăsi această stare de așteptare printr-o întrerupere internă sau externă, un eveniment de declanșare sau o resetare. În modul de funcționare cu putere redusă, CPU îndeplinește anumite funcții împreună cu unitățile periferice selectate. De exemplu, Flash și EEPROM de date pot fi întrerupte în timp ce sistemul execută cod din RAM la o frecvență joasă. Utilizatorul poate controla sistemul în și în afara modului de funcționare cu consum redus de energie prin intermediul software-ului. De asemenea, sistemul poate ieși din mod printr-o resetare, dar nu prin întreruperi.
În multe sisteme încorporate, microcontrolerele risipesc energie electrică, deoarece așteaptă o mare parte din timpul de rulare pentru un eveniment. Aici STM8L152C6T6 oferă un mod de așteptare cu consum redus de energie (Low Power Wait), în care ceasul CPU este oprit. O resetare sau un eveniment intern sau extern, declanșat de exemplu de un temporizator sau de evenimente I/O, readuce sistemul în modul de funcționare cu consum redus de energie.
Modul de oprire activă (Active Halt) face un pas mai departe și oprește atât generatorul de ceas pentru CPU, cât și cel pentru toate dispozitivele periferice - cu excepția RTC. Întreruperile externe, întreruperile RTC sau o resetare sunt capabile să trezească din nou sistemul din modul de oprire activă. Modul Halt (Halt) oprește în cele din urmă ceasurile pentru toate dispozitivele periferice și CPU. Blocul rămâne pornit pentru a păstra datele în RAM. O întrerupere sau resetare externă trezește controlerul din nou. Unitățile periferice selectate pot fi, de asemenea, trezite din modul de așteptare. În plus, modulul poate fi configurat în așa fel încât să funcționeze fără referința internă în modul de așteptare, ceea ce economisește energie suplimentară prin oprirea tensiunii de referință interne.
»MSP430« cu FRAM
Figura 4: Unele derivate ale arhitecturii de consum redus »MSP430« au memorie FRAM cu economie de energie deosebită
Microcontrolerul pe 16 biți „MSP430FR5739” de la Texas Instruments oferă șapte moduri de consum redus (Poza 4) pentru sisteme încorporate în aplicații portabile. La nivelul superior, modul de consum redus 0 (LPM0) dezactivează CPU și ceasul master în timp ce toate datele sunt păstrate. Ceasurile unităților periferice rămân active și utilizatorul poate alege starea ceasului submaster. La capătul superior al economiei de energie, Low Power Mode 4.5 (LPM4.5) menține starea tampoanelor I/O, dar nu și a datelor, și dezactivează și controlerul intern. Ca parte a designului său de economisire a energiei, microcontrolerul integrează, de asemenea, RAM feroelectrică (FRAM) pentru o memorie nevolatilă cu consum redus de energie.
Depanarea puteriiNu contează câte moduri de economisire a energiei are un microcontroler dacă nu sunt utilizate în mod rațional și corect. Aici intră în joc instrumentele de depanare a puterii precum „I-Jet” de la sistemele software IAR. Acest instrument înregistrează continuu consumul de energie al sistemului în timpul funcționării, iar software-ul IAR Embedded Workbench corelează aceste date de consum de energie cu procesele din sistem.
Imaginea 5: În fereastra cronologiei, instrumentul »I-Jet« corelează consumul de energie cu apelurile de funcții și alte părți ale programului
Într-o lume perfectă, un dezvoltator ar putea asocia o supratensiune directă cu o linie de cod. Realitatea este însă că capacitățile sistemului distribuie consumul în timp, astfel încât o astfel de abordare discretă este imposibilă. Prin urmare, cea mai bună alegere este să legați consumul de energie de apelurile funcționale (Pic 5). Apoi utilizatorul poate face clic pe un vârf de putere și îl poate urmări înapoi la cod.
Cu ajutorul acestei informații profunde asupra sistemului, dezvoltatorul poate identifica unitățile periferice care consumă energie inutil. Pentru a remedia acest lucru, el poate fi capabil să regleze frecvențele ceasului sau să pună sistemul într-un mod de economisire a energiei în timp ce este inactiv și să se trezească din nou când primește un răspuns. În acest fel, dezvoltatorii pot profita de opțiunile de gestionare a energiei pentru o funcționare optimă a hardware-ului.
Despre autor:
Rich Miron face parte din echipa de conținut tehnic a Digi-Key