- De ce să modificăm frecvența ceasului în microcontrolere?
- Care este efectul selectării mai multor frecvențe asupra performanței?
- Frecvență scăzută sau înaltă, pe care să o selectați?
- Tehnica de comutare a frecvenței de ceas
- Selectarea modurilor de funcționare a gestionării ceasului
- Executarea software-ului din memorie sau memorie non-volatile
- Utilizarea oscilatorului intern
- Concluzie
Dezvoltatorii au întotdeauna provocări de a oferi niveluri ridicate de funcționalitate și performanță, maximizând simultan durata de viață a bateriei. De asemenea, când vine vorba de produse electronice, cea mai importantă caracteristică este consumul de baterie. Ar trebui să fie cât mai puțin posibil pentru a crește timpul de funcționare a dispozitivului. Gestionarea energiei este foarte importantă în aplicațiile portabile și alimentate cu baterii. Diferențele de consum de microampere pot duce la luni sau ani de viață operațională care pot crește sau micșora popularitatea și marca produsului pe piață. Creșterea produselor necesită o optimizare mai eficientă a utilizării bateriei. În zilele noastre, utilizatorii solicită o rezervă mai lungă a bateriei, cu dimensiuni compacte ale produselor, astfel încât producătorii se concentrează pe o dimensiune mai mică a bateriei, cu o durată de viață foarte lungă a bateriei, ceea ce este o sarcină discutabilă. Dar,dezvoltatorii au venit cu tehnologii de economisire a energiei după ce au trecut prin mulți factori și parametri critici care afectează durata de viață a bateriei.
Există mulți parametri care afectează utilizarea bateriei, cum ar fi microcontrolerul utilizat, tensiunea de funcționare, consumul de curent, temperatura ambiantă, starea mediului, perifericele utilizate, ciclurile de încărcare-reîncărcare etc. Cu tendința produselor inteligente care vin pe piață, este foarte important să ne concentrăm mai întâi pe MCU-ul folosit, pentru a optimiza durata de viață a bateriei. MCU devine o parte critică atunci când vine vorba de economisirea energiei în produsele de dimensiuni mici. Deci, este recomandat să începeți mai întâi cu MCU. Acum, MCU vine cu diferite tehnici de economisire a energiei. Pentru a afla mai multe despre minimizarea consumului de energie în microcontrolere (MCU), consultați articolul precedent. Acest articol se concentrează în principal pe unul dintre parametrii importanți pentru reducerea consumului de energie în microcontroler, adică modificarea frecvenței ceasuluicare trebuie avut grijă atunci când se utilizează MCU pentru aplicații cu consum redus.
De ce să modificăm frecvența ceasului în microcontrolere?
Dintre mulți parametri menționați mai sus, alegerea frecvenței ceasului joacă un rol foarte important în economisirea energiei. Studiul arată că o selecție greșită a frecvenței de operare a microcontrolerelor poate duce la pierderi semnificative (%) de energie a bateriei. Pentru a evita această pierdere, dezvoltatorii trebuie să aibă grijă de selecția adecvată a frecvenței pentru a rula microcontrolerul. Acum, nu este necesar ca selecția frecvenței să se poată face inițial, în timp ce configurați microcontrolerul, în timp ce poate fi ales și între programare. Există multe microcontrolere care vin cu selecția de biți pentru a selecta frecvența de operare dorită. De asemenea, microcontrolerul poate rula la frecvențe multiple, astfel încât dezvoltatorii au opțiunea de a selecta frecvența adecvată în funcție de aplicație.
Care este efectul selectării mai multor frecvențe asupra performanței?
Nu există nicio îndoială că selectarea diferitelor frecvențe va afecta performanța microcontrolerului. Ca și în ceea ce privește microcontrolerul, este foarte bine cunoscut faptul că frecvența și performanța sunt proporționale. Înseamnă că, cu o frecvență mai mare, va avea mai puțin timp de execuție a codului și, prin urmare, o viteză mai mare de execuție a programului. Deci, acum, este foarte clar că, dacă se schimbă frecvența, atunci se va schimba și performanța. Dar nu este necesar ca dezvoltatorii să aibă o singură frecvență doar pentru o performanță mai mare a microcontrolerului.
Frecvență scăzută sau înaltă, pe care să o selectați?
Nu este întotdeauna cazul în care microcontrolerul trebuie să ofere o performanță ridicată, există mai multe aplicații care necesită performanțe moderate ale microcontrolerului, în aceste tipuri de aplicații dezvoltatorii pot reduce frecvența de funcționare de la GHz la MHz și chiar la frecvența minimă necesară pentru rulați microcontrolerul. Deși, în unele cazuri, performanța optimă este necesară și, de asemenea, timpul de execuție este esențial, cum ar fi atunci când conduceți ADC-uri flash externe fără buffer FIFO, sau în procesarea video și multe alte aplicații, în aceste zone dezvoltatorii pot utiliza frecvența optimă a microcontrolerului. Chiar și folosind acest tip de mediu, dezvoltatorii pot codifica inteligent pentru a reduce lungimea codului, alegând instrucțiunile potrivite.
De exemplu: Dacă bucla „pentru” ia mai multe instrucțiuni și se pot utiliza mai multe linii de instrucțiuni care utilizează mai puțină memorie pentru a efectua sarcina fără a utiliza bucla pentru , atunci dezvoltatorii pot folosi mai multe linii de instrucțiuni evitând utilizarea buclei „pentru” .
Selectarea frecvenței adecvate pentru microcontroler depinde de cerințele sarcinii. Frecvența mai mare înseamnă un consum mai mare de energie, dar și mai multă putere de calcul. Deci, în esență, alegerea frecvenței este o compromis între consumul de energie și puterea de calcul necesară.
De asemenea, principalul avantaj al lucrului la frecvență joasă este curentul de alimentare scăzut, în afară de RFI (interferență de frecvență radio) mai mică.
Curent de alimentare (I) = Curent de repaus (I q) + (K x Frecvență)
Al doilea termen este predominant. Energia RFI a unui microcontroler este atât de mică încât este foarte ușor de filtrat.
Deci, dacă aplicația are nevoie de o viteză rapidă, nu vă faceți griji cu privire la rularea rapidă. Dar dacă consumul de energie este o problemă, rulați la fel de lent pe cât permite aplicația.
Tehnica de comutare a frecvenței de ceas
Unitatea PLL (Phases Lock Loop) există întotdeauna într-un MCU de înaltă performanță care rulează la viteză mare. Rapeluri PLL frecvența de intrare la o frecvență mai mare de exemplu, de la 8 MHz la 32 MHz. Este opțiunea dezvoltatorului de a alege frecvența de operare adecvată pentru aplicație. Unele aplicații nu trebuie să ruleze la viteză mare, în acest caz dezvoltatorii trebuie să mențină frecvența de ceas a MCU cât mai redusă pentru a rula sarcina. Cu toate acestea, într-o platformă cu frecvență fixă, cum ar fi MCU pe 8 biți cu cost redus care nu conține unități PLL, trebuie să îmbunătățim codul de instrucțiuni pentru a reduce energia de procesare. De asemenea, MCU care conține o unitate PLL nu poate exploata avantajele tehnicii de comutare de frecvență care permite MCU să funcționeze la frecvență ridicată în perioada de procesare a datelor și apoi să revină la funcționarea cu frecvență joasă pentru perioada de transmisie a datelor.
Figura explică utilizarea unității PLL în tehnica de comutare în frecvență.
Selectarea modurilor de funcționare a gestionării ceasului
Unele dintre microcontrolerele de mare viteză acceptă diferite moduri de gestionare a ceasului, cum ar fi modul Stop, Power Management Modes (PMM) și modul Inactiv. Este posibil să comutați între aceste moduri, permițând utilizatorului să optimizeze viteza dispozitivului în timp ce consumă energie.
Sursă de ceas selectabilă
Oscilatorul de cristal este un mare consumator de energie pe orice microcontroler, mai ales în timpul funcționării cu putere redusă. Oscilatorul inelar, utilizat pentru porniri rapide din modul Stop, poate fi utilizat și pentru a furniza o sursă de ceas de aproximativ 3 până la 4 MHz în timpul funcționării normale. Deși un oscilator de cristal este încă necesar la pornire, odată ce cristalul s-a stabilizat, funcționarea dispozitivului poate fi comutată pe oscilatorul inelar, realizând o economie de energie de până la 25 mA.
Controlul vitezei de ceas
Frecvența de funcționare a unui microcontroler este cel mai mare factor unic în determinarea consumului de energie. Familia de microcontrolere de mare viteză suportă diferite moduri de gestionare a vitezei ceasului, care economisesc puterea prin încetinirea sau oprirea ceasului intern. Aceste moduri permit dezvoltatorului de sistem să maximizeze economiile de energie cu un impact minim asupra performanței.
Executarea software-ului din memorie sau memorie non-volatile
Dezvoltatorii trebuie să ia în considerare cu atenție dacă software-ul este executat din memorii non-volatile sau RAM în estimarea consumului curent. Executarea din RAM poate oferi specificații curente active mai mici; cu toate acestea, multe aplicații nu sunt suficient de mici pentru a se executa numai din RAM și necesită ca programele să fie executate din memoria non-volatilă.
Ceasurile de autobuz sunt activate sau dezactivate
Majoritatea aplicațiilor de microcontrolere necesită acces la memorii și periferice în timpul executării software-ului. Acest lucru necesită activarea ceasurilor de autobuz și trebuie luat în considerare în estimările curente active.
Utilizarea oscilatorului intern
Folosirea oscilatoarelor interne și evitarea oscilatoarelor externe pot economisi energie semnificativă. Pe măsură ce oscilatoarele externe atrag mai mult curent, rezultând o mai mare utilizare a energiei. De asemenea, nu este greu să se utilizeze oscilatorul intern, deoarece este recomandabil să se utilizeze oscilatoare externe atunci când aplicațiile necesită mai multă frecvență de ceas.
Concluzie
Realizarea unui produs cu consum redus de energie începe cu o alegere a MCU și este semnificativ dificil atunci când sunt disponibile diverse opțiuni pe piață. Modificarea frecvenței poate avea un impact mare asupra consumului de energie și, de asemenea, poate oferi un rezultat bun al consumului de energie. Avantajul suplimentar al modificării frecvenței este că nu există costuri hardware suplimentare și poate fi implementat cu ușurință în software. Această tehnică poate fi utilizată pentru a îmbunătăți eficiența energetică a unui MCU cu costuri reduse. Mai mult, cantitatea de economisire a energiei depinde de diferența dintre frecvențele de operare, timpul de procesare a datelor și arhitectura MCU. Economisirea de energie de până la 66,9% poate fi realizată atunci când se utilizează tehnica de comutare a frecvenței comparativ cu funcționarea normală.
La sfârșitul zilei, pentru dezvoltatori, satisfacerea nevoilor de funcționalitate sporită a sistemului și obiective de performanță crescând în același timp durata de viață a bateriei produselor, este o provocare semnificativă. Pentru a dezvolta în mod eficient produse care oferă o durată de viață cât mai lungă a bateriei - sau chiar să funcționeze fără baterie - necesită o înțelegere profundă atât a cerințelor de sistem, cât și a specificațiilor actuale ale microcontrolerului. Acest lucru este mult mai complex decât simpla estimare a cantității de curent consumate de MCU atunci când este activ. În funcție de aplicația dezvoltată, modificarea frecvenței, curentul de așteptare, curentul periferic pot avea un impact mai semnificativ asupra duratei de viață a bateriei decât puterea MCU.
Acest articol a fost creat pentru a ajuta dezvoltatorii să înțeleagă modul în care MCU-urile consumă energie din punct de vedere al frecvenței și pot fi optimizate cu modificarea frecvenței.