- Tècniques d’estalvi d’energia per a microcontroladors
- 1. Modes de son
- 2. Modificació dinàmica de la freqüència del processador
- 3. Estructura del microprogramari del manipulador d'interrupcions
- 4. Firmware optimitzat per l'energia
- Conclusió
De la mateixa manera que el gas (gasolina / dièsel) és important per moure’s les bicicletes, els camions i els cotxes (sí, excloent Teslas!), També ho és l’energia elèctrica per a la majoria de les aplicacions electròniques i, més encara, per a les aplicacions basades en sistemes incrustats que solen ser bateries (d’energia limitada), des dels telèfons mòbils habituals fins als dispositius domèstics intel·ligents, entre d’altres.
La naturalesa limitada de l’alimentació de la bateria implica la necessitat de garantir que la velocitat de consum d’energia d’aquests dispositius sigui raonable per afavorir la seva adopció i ús. Especialment amb dispositius basats en IoT on es podria esperar que un dispositiu durés entre 8 i 10 anys amb una sola càrrega sense substituir la bateria.
Aquestes tendències han suposat la implementació de consideracions de baixa potència en el disseny de sistemes incrustats i, al llarg dels anys, diversos dissenyadors, enginyers i fabricants han desenvolupat diverses maneres intel·ligents de gestionar eficaçment l’energia consumida pels productes, per garantir que durin més càrrega única. Moltes d’aquestes tècniques se centren en el microcontrolador, que és el cor de la majoria dels dispositius. En l'article d'avui explorarem algunes d'aquestes tècniques i com es poden utilitzar per minimitzar el consum d'energia en microcontroladors. Tot i que un microprocessador consumeix menys energia, però es pot utilitzar en qualsevol lloc del microcontrolador, seguiu l'enllaç per saber com és diferent el microprocessador del microprocessador.
Tècniques d’estalvi d’energia per a microcontroladors
1. Modes de son
Els modes de repòs (generalment anomenats modes de baixa potència) són possiblement la tècnica més popular per reduir el consum d'energia en microcontroladors. Generalment impliquen la desactivació de certs circuits o rellotges que condueixen certs perifèrics dels microcontroladors.
Depenent de l'arquitectura i el fabricant, els microcontroladors solen tenir diferents tipus de modes de repòs, amb cada mode que té la possibilitat de desactivar més circuits interns o perifèrics en comparació amb l'altre. Els modes de son solen anar des del mode de son profund o apagat, fins als modes inactiu i dormit.
A continuació s’expliquen alguns dels modes disponibles. Cal tenir en compte que les característiques i el nom d'aquests modes poden variar d'un fabricant a un altre.

jo. Mode d’espera / repòs
Aquest sol ser el mode més senzill d’implementar pels dissenyadors. Aquest mode permet que el microcontrolador torni a funcionar completament a un ritme molt ràpid. Per tant, no és el millor mode, si el cicle de potència del dispositiu requereix que abandoni el mode de repòs molt sovint, ja que es consumeix una gran quantitat d’energia quan el microcontrolador surt del mode de repòs. El retorn al mode actiu des del mode d'espera sol basar-se en interrupcions. Aquest mode s’implementa al microcontrolador desactivant l’arbre del rellotge que impulsa els circuits de la CPU mentre es manté en funcionament el rellotge d’alta freqüència primari MCU. Amb això, la CPU pot reprendre les operacions immediatament quan s'activa el disparador de despertador. El control de rellotge s'ha utilitzat àmpliament per tallar els senyals en modes de poca potència per als microcontroladors, i aquest mode permet de tancar els senyals de rellotge de la CPU.
ii. Mode d'espera
El mode en espera és un altre mode de baix consum, fàcil d’implementar pels dissenyadors. És molt similar al mode d’aturada / inactiva, ja que també implica l’ús de rellotges a través de la CPU, però una diferència important és que permet canviar el contingut del ram, cosa que no sol passar amb el mode d’aturada / inactivitat. En mode d'espera, els perifèrics d'alta velocitat com el DMA (accés directe a la memòria), els ports sèrie, els perifèrics ADC i AES es mantenen en execució per garantir que estiguin disponibles immediatament després que la CPU estigui desperta. Per a certs MCU, la memòria RAM també es manté activa i el DMA pot accedir-hi, permetent emmagatzemar i rebre dades sense la intervenció de la CPU. La potència consumida en aquest mode pot ser tan baixa com 50uA / MHZ per als microcontroladors de baixa potència.
iii. Mode de son profund
El mode de repòs profund, generalment, implica la desactivació de rellotges d'alta freqüència i altres circuits del microcontrolador, deixant només els circuits de rellotge que s'utilitzen per conduir elements crítics com el temporitzador del gos de vigilància, la detecció de marró i el circuit de reinici de potència. Altres MCU poden afegir-hi altres elements per millorar l'eficiència general. El consum d'energia en aquest mode pot ser tan baix com 1uA en funció de la MCU en particular.
iv. Mode Stop / OFF
Alguns microcontroladors tenen diferents variacions d’aquest mode addicional. En aquest mode, els oscil·ladors alt i baix solen estar desactivats, deixant només alguns registres de configuració i altres elements crítics activats.
Les característiques de tots els modes de son esmentats anteriorment difereixen de MCU a MCU, però la regla general és: com més profund sigui el son, més serà el nombre de perifèrics discapacitats durant el son i menor serà la quantitat d'energia consumida, tot i que això també significa normalment; major serà la quantitat d'energia consumida per fer una còpia de seguretat del sistema. Per tant, correspon al dissenyador considerar aquesta variació i triar la MCU adequada per a la tasca sense fer compromisos que afectin les especificacions del sistema.
2. Modificació dinàmica de la freqüència del processador
Aquesta és una altra tècnica molt popular per reduir eficientment la quantitat d'energia consumida per un microcontrolador. És, amb diferència, la tècnica més antiga i una mica més complicada que els modes de son. Implica que el microprogramari condueix dinàmicament el rellotge del processador, alternant entre alta i baixa freqüència ja que la relació entre la freqüència del processador i la quantitat de potència consumida és lineal (com es mostra a continuació).
La implementació d’aquesta tècnica sol seguir aquest patró; quan el sistema està inactiu, el microprogramari estableix la freqüència del rellotge a una velocitat baixa, cosa que permet al dispositiu estalviar una mica d’energia i, quan el sistema necessita fer càlculs intensos, es torna a augmentar la velocitat del rellotge.
Hi ha escenaris contraproduents per modificar la freqüència del processador, que sol ser el resultat d’un firmware mal desenvolupat. Aquests escenaris sorgeixen quan la freqüència del rellotge es manté a un nivell baix mentre el sistema realitza càlculs intensos. Una freqüència baixa en aquest escenari significa que el sistema trigarà més temps del necessari a realitzar la tasca establerta i, per tant, consumirà acumulativament la mateixa quantitat d'energia que els dissenyadors intentaven estalviar. Per tant, s’ha de tenir molta cura a l’hora d’implementar aquesta tècnica en aplicacions de temps crític.

3. Estructura del microprogramari del manipulador d'interrupcions
Aquesta és una de les tècniques més extremes de gestió d'energia en microcontroladors. És possible gràcies a pocs microcontroladors, com ara els nuclis ARM cortex-M que tenen un bit de suspensió a la sortida al registre SCR. Aquest bit proporciona al microcontrolador la possibilitat de dormir després d’executar una rutina d’interrupcions. Tot i que hi ha un límit en el nombre d'aplicacions que funcionaran sense problemes d'aquesta manera, aquesta podria ser una tècnica molt útil per a sensors de camp i altres aplicacions basades en la recopilació de dades a llarg termini.
Al meu entendre, la majoria de les altres tècniques són variacions de les ja esmentades anteriorment. Per exemple, la tècnica de rellotge perifèric selectiu és essencialment una variació dels modes de son en què el dissenyador selecciona els perifèrics per activar-los o desactivar-los. Aquesta tècnica requereix un coneixement profund del microcontrolador objectiu i pot no ser molt fàcil d’iniciar.
4. Firmware optimitzat per l'energia
Una de les millors maneres de reduir la quantitat d'energia consumida per un microcontrolador és escriure un microprogramari eficient i ben optimitzat. Això afecta directament la quantitat de treball realitzat per la CPU per temps i, per extensió, contribueix a la quantitat de potència consumida pel microcontrolador. S’ha d’esforçar mentre s’escriu el firmware per garantir una mida i cicles de codi reduïts, ja que cada instrucció innecessària executada és una part de l’energia emmagatzemada a la bateria que es malgasta. A continuació es presenten alguns consells comuns basats en C per al desenvolupament de microprogramari optimitzat;
- Utilitzeu la classe "Static Const" tant com sigui possible per evitar la còpia en temps d'execució de matrius, estructures, etc., que consumeixin energia.
- Utilitzeu els indicadors. Probablement són la part més difícil d’entendre del llenguatge C per a principiants, però són les millors per accedir de manera eficient a estructures i sindicats.
- Eviteu el mòdul.
- Variables locals sobre variables globals sempre que sigui possible. Les variables locals es contenen a la CPU mentre que les variables globals s’emmagatzemen a la memòria RAM, la CPU accedeix a les variables locals més ràpidament.
- Els tipus de dades sense signar són el vostre millor amic sempre que sigui possible.
- Adopteu el "compte enrere" per a bucles sempre que sigui possible.
- En lloc de camps de bits per a enters sense signar, utilitzeu màscares de bits.
Els enfocaments per reduir la quantitat d'energia consumida per un microcontrolador no es limiten als enfocaments basats en programari esmentats anteriorment, ja que existeixen enfocaments basats en el maquinari, com la tècnica de control de la tensió del nucli, però per mantenir la longitud d'aquest lloc en un interval raonable, estalviarem per un altre dia.
Conclusió
La implementació de productes de baixa potència parteix de l’elecció del microcontrolador i pot resultar bastant confús quan intenteu repassar les diverses opcions disponibles al mercat. Mentre s’escaneja, el full de dades pot funcionar bé per obtenir el rendiment general de les MCU, però per a aplicacions de gran consum, pot ser un enfocament molt costós. Per entendre les veritables característiques de potència d’un microcontrolador, els desenvolupadors han de tenir en compte les especificacions elèctriques i les funcions de baixa potència disponibles per al microcontrolador. Els dissenyadors no només haurien d’estar preocupats pel consum actual de cadascun dels modes d’energia anunciats al full de dades de l’MCU, sinó que haurien de mirar el temps de despertador, les fonts de despertador i els perifèrics. que estan disponibles per al seu ús durant els modes de baixa potència.
És important comprovar les característiques del microcontrolador que planeja utilitzar per determinar les opcions que teniu per a la implementació de poca energia. Els microcontroladors han estat un dels majors beneficiaris de l’avenç tecnològic i ara hi ha diversos microcontroladors d’ultra baixa potència que us garanteixen recursos per ajudar-vos a mantenir-vos dins del vostre pressupost d’energia. Alguns d'ells també proporcionen diverses eines de programari d'anàlisi de potència que podeu aprofitar per obtenir un disseny eficaç. Un dels favorits personals és la línia de microcontroladors MSP430 de Texas Instrument.
