Economisirea consumului de putere cu microcontrolerele AVR128DB

by donpedro

În prezent, circuitele cu arhitectură pe 32-biți domină piața microcontrolerelor utilizate în sistemele încorporate (embedded), însă cipurile cu nuclee pe 8- și 16-biți sunt și ele utilizate în mod frecvent. Microcontrolerele de acest tip sunt construite cu ajutorul unor nuclee binecunoscute, care au fost testate și rafinate pe scară largă datorită prezenței lor îndelungate pe piață. Uneltele pentru aceste microcontrolere au fost şi ele perfecţionate de-a lungul anilor şi proiectantul dispune, la ora actuală, de un set de compilatoare şi biblioteci de funcții excelente, care facilitează în mod considerabil procesul de creare a software-ului. În sistemele moderne, sunt implementate și funcționalități suplimentare, care extind gama de aplicații în care pot fi utilizate microcontrolerele.

Un factor important, care favorizează dezvoltarea continuă a microcontrolerelor „mai simple” pe 8- și 16-biți este piața aplicațiilor Internet of Things (Internet of Things, IoT). Având în vedere numărul mare de dispozitive și aplicații care operează pe acest segment, circuitele trebuie să aibă un consum de putere redus. Acest lucru se referă, în special, la: senzorii inteligenţi cu comunicaţie fără fir, dispozitivele electronice purtabile (wearables), sistemele informatice care înlocuiesc etichetele tradiționale cu preţuri din magazine, beacon-uri etc. Foarte frecvent, aceste dispozitive sunt alimentate de la baterii, iar utilizatorii au nevoie de un timp cât mai îndelungat de funcționare fără să fie necesară înlocuirea bateriilor. În aceste aplicații, microcontrolerele pe 8- și 16-biți sunt imbatabile, acestea putând intra cu ușurință (și trezite rapid) într-un mod cu consum redus de energie, în care perifericele și/sau nucleul acestora se află într-un mod de economisire a puterii și sunt activate/trezite doar cât timp este necesar pentru a efectua anumite operaţii.

În microcontrolerele actuale, sunt folosite module periferice care pot funcționa independent de unitatea centrală de procesare (CPU) și care pot îndeplini anumite sarcini (efectuate, în mod tradițional, de CPU prin software) în mod independent și cu operare în hardware. Acest lucru favorizează un consum redus de energie și degrevează puterea de calcul a unui microcontroler relativ mic, al cărui nucleu poate fi dedicat îndeplinirii sarcinilor importante ale aplicației. Utilizarea acestor module scurtează timpul de dezvoltare a noilor aplicaţii. În plus, aceste module periferice, de diferite tipuri, implementate în microcontrolere, pot fi conectate în interior în blocuri mai mari care permit realizarea unor funcţii mai complexe. Pentru a ajuta proiectantul să configureze modulele periferice care funcţionează în mod independent de nucleu (CIP − Core Independent Peripherals), producătorul pune la dispoziţie unelte cu interfață grafică ușor de utilizat.

Microcontrolerele care dispun de caracteristicile menționate mai sus nu puteau lipsi din oferta firmei Microchip.

 AVR128DB 

Familia de microcontrolere AVR128DB combină eficienţa nucleului AVR® cu un consum redus de putere, cu un set de periferice independente de nucleu (CIP) și cu un număr mare de periferice analogice încorporate. Capacitatea de a funcționa la o tensiune de alimentare de 5V crește imunitatea la interferenţe.

În cele ce urmează se va discuta, în principal, despre perifericele CIP disponibile în circuitele din seria AVR128DB, deși funcționalitatea circuitelor în sine este mult mai mare. Microcontrolerele AVR128DB includ, printre altele, convertoare A/D și D/A pe 10-biți, RTC (ceas în timp real), generatoare PWM (inclusiv generatoare TCB pe 12-biți, potrivite pentru funcționarea în sisteme de alimentare), interfețe hardware USART, SPI și TWI), surse de tensiune de referință utile pentru efectuarea de măsurători precise, comparatoare, posibilitatea de a genera întreruperi externe pe toți pinii I/O. Circuitele AVR128DB dispun, de asemenea, de amplificatoare operaționale integrate (până la 3 unităţi). În combinaţie cu convertoarele analog-digitale, acestea permit o procesare extinsă și precisă a semnalelor de intrare. Microcontrolerele au, de asemenea, un port de intrare-ieșire adaptat pentru a funcţiona cu diferite niveluri logice (de la 1,8V la 5,5V), ceea ce face inutilă utilizarea unor convertoare externe − acesta fiind un nou pas pe calea miniaturizării și a economisirii consumului de energie în circuitele în care vor fi utilizate cipurile produse de Microchip. Vă invităm să consultaţi întreaga ofertă a TME.

 Event System 

Event System este un instrument puternic care degrevează de sarcini nucleul microcontrolerului. Acest lucru permite stabilirea unor relații simple de dependenţă între evenimente. Instrucțiunile condiționale vor fi executate fără a implica nucleul (chiar fără a-l trezi). Un exemplu ar fi operarea butoanelor independent de codul programului. Depășirea diferenței de potențial stabilite pe comparator poate avea ca rezultat, de exemplu, declanșarea perifericului pe un anumit pin, începerea numărătorii etc. Această funcționalitate reduce cantitatea de cod necesară pentru funcţionarea dispozitivului și crește viteza de reacție a întregului microcontroler.

 Configurable Logic Cell 

Blocurile logice configurabile CLC reprezintă o facilitate similară, de asemenea activă în modul de consum redus de putere. Acestea permit efectuarea de operații logice asupra semnalelor provenite din surse externe și interne (contor, registru) și transferul rezultatului operației către unul dintre periferice sau pinii de ieșire. Astfel, se evită utilizarea de instrucțiuni condiționale în codul programului. Modulul CLC îndeplinește funcțiile porților logice (AND, OR, XOR, NOT și combinațiile acestora), ale circuitelor basculante bistabile în varianta asincronă (de tip latch) sau sincronă, fără procedura de trezire a nucleului, care consumă energie.

 Zero Cross Detector 

Microcontroler din familia AVR128DB în capsulă TQFP48

Modulul ZCD este destinat declanșării de întreruperi în momentul în care semnalul de curent alternativ depășește pragul cu potențial zero (în raport cu GND-ul microcontrolerului). Circuitul integrat în microcontroler poate eșantiona tensiunea direct din linia electrică − singurele componente pasive necesare vor fi, în acest caz, o rezistență de limitare a curentului legată în serie și (opțional) o rezistență pull-up. Un circuit analogic echivalent ar necesita folosirea mult mai multor componente. Funcționalitatea ZCD permite un control eficient al triacelor (reglarea intensității luminoase, reglarea încălzirii), monitorizarea calității energiei electrice (măsurarea perioadei) sau limitarea interferențelor EMI în circuitele care controlează alimentarea în curent alternativ a unui echipament (pornire atunci când sinusoida este aproape de zero, eliminarea salturilor bruște de tensiune și a interferențelor electromagnetice generate de acestea). În plus, perifericul poate fi configurat pentru a semnala un anumit tip de depășire (curbă ascendentă, curbă descendentă sau ambele). Semnalul ZCD nu trebuie controlat din software și poate fi transmis la unul dintre pinii de intrare/ieșire ai microcontrolerului.

 Watchdog avansat 

Chiar și cele mai bine proiectate circuite digitale, care execută coduri fără erori și revizuite în mod repetat se pot „bloca”. Această problemă poate apărea din mai multe motive, uneori fără legătură cu funcțiile îndeplinite de cod. Motivul ar putea fi depășirea temperaturii de funcționare permise sau apariţia unor interferențe pe linia de alimentare. Protecția de bază împotriva producerii unor astfel de situații este oferită de temporizatoarele de tip Watchdog (WDT), care funcționează independent de programul executat. În cazul în care executarea instrucțiunii durează mai mult decât era prevăzut, WDT resetează microcontrolerul. Pentru familia AVR128DB, este posibilă programarea unei „ferestre de timp” (Window Mode Watchdog Timer, WWDT) în care urmează să fie executat programul. În cazul unei astfel de verificări, funcționarea echipamentului va fi întreruptă și reluată atât în cazul unui interval prea lung, cât și al unui interval prea scurt între răspunsurile de la nucleu. În acest din urmă caz, este posibil ca o parte a instrucțiunii să nu fi fost executată, ceea ce poate avea consecințe negative − mai ales dacă operațiunea omisă era direct legată de protecția circuitului sau a operatorului dispozitivului (de exemplu, semnal nedetectat de la un limitator de cursă).

 Cyclic Redundancy Check (CRC/SCAN) 

Generarea și verificarea sumelor de control este o modalitate frecvent utilizată de asigurare a unei comunicări eficiente între circuite în sistemele cu microprocesoare. Din nefericire, implementarea software a unei astfel de verificări consumă o mare parte din puterea de calcul a circuitelor implicate și, în plus, poate întârzia funcționarea acestora. Mai ales în cazul unităților pe 8-biți care funcționează la o frecvență limitată (pentru a economisi energie). Cele mai noi microcontrolere de la Microchip (atât PIC, cât și AVR) sunt echipate cu periferice care generează automat o sumă de control (chiar și sub forma unui polinom de 32-biți) și o plasează într-un registru accesibil programului. Funcționalitatea denumită SCAN permite circuitului CRC accesul direct la memoria microcontrolerului, ceea ce eficientizează și mai mult lucrul cu sumele de control.

Exemple de utilizare a modulelor CIP în aplicații specifice și avantajele utilizării acestora în crearea de circuite care îndeplinesc funcții complexe sunt prezentate în videoclipurile create de producător și care pot fi urmărite accesând link-urile următoare: https://youtu.be/TcqpmupVCXQ și https://youtu.be/W8TzM1S4UQ4.

Text elaborat de Transfer Multisort Elektronik Sp. z o.o. Textul original îl găsiți aici.

Transfer Multisort Elektronik   |   https://www.tme.eu

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