Microcontrolere omniprezente in majoritatea circuitelor

La ora actuala, microcontrolere sunt componente omniprezente in majoritatea circuitelor ce dau viata aparatelor esentiale in viata noastra.

Nu este o exagerare să spunem că microcontrolerele au declanșat Legea lui Moore; integrarea MOSFET-urilor a condus la primele unități logice aritmetice, care au dus la primul „computer” complet integrat. Modul în care Gordon Moore a prognozat, într-un stadiu incipient, cum va continua integrarea tranzistorilor, a creat legea omonimă. La ora actuală, microcontrolere sunt componente omniprezente în majoritatea circuitelor ce dau viață aparatelor / echipamentelor esențiale în viața noastră, în aplicații în cadrul sistemelor de calcul, a industriei auto, roboticii, echipamentelor medicale și, nu în ultimul rând, a aparaturii electrocasnice.

Microcontrolerul, sau MCU, este un văr primar al microprocesorului, sau MPU. Acesta din urmă primește toată gloria, în timp ce primul face toată treaba. Așa a fost de la originea lor comună, Intel 4004 pe 4 biți. Acest dispozitiv i-a inspirat pe inginerii de la Texas Instruments să proiecteze TMS 1000, creditat ca primul MCU adevărat din lume. S-a diferențiat de acele MPU-uri timpurii nu prin dimensiunea magistralei, ci prin modul în care a integrat aproape tot ce avea nevoie pentru a funcționa într-un singur dispozitiv. Primele MPU-uri aveau nevoie de suport din memoria externă (și încă mai au), dar MCU-ul își conține memoria. Ca atare, primul MCU a fost și primul sistem pe cip (SoC), dar mai multe despre asta mai târziu.

Integrarea procesorului, a memoriei și a intrărilor/ieșirilor (I/O) pe un singur dispozitiv a dat putere electronicii embedded, care stă la baza oricărei piețe verticale de astăzi. De fapt, industria auto a fost prima piață finală care a adoptat MCU la scară, pe măsură ce a început procesul de electrificare, încă de la mijlocul anilor '70.

Lumea nu ar arăta la fel astăzi fără sectorul electronicelor embedded, iar electronica embedded nu ar putea exista fără MCU. A început ca un controler relativ simplu, programabil, folosit pentru a-și utiliza pinii de intrare și ieșire pentru a controla alte părți ale unui sistem. Fără a-și pierde cu adevărat originile, microcontrolerul a evoluat în ultimii 50 de ani pentru a ocupa astăzi un loc central în aproape fiecare produs electronic de pe piață.

Scalabilitatea arhitecturii MCU este de neegalat de către orice altă clasă de componente. În consecință, probabil că nu există nicio sarcină pentru care un MCU nu este aplicabil. Dar pentru unii, MCU rămâne un controler digital simplu, puțin mai mult decât un lipici logic cu unele periferice inteligente, cum ar fi interfețele digitale seriale sau o ieșire PWM. Poate că este timpul să reconsiderăm MCU-ul și să vedem ce poate face cu adevărat.

,,Sunt inginer de electronică analogică, MCU-urile nu sunt pentru mine!"

În trecut, a fost o critică obișnuită asupra capacității MCU de a gestiona bine semnalele analogice. Probabil că se referea la capacitatea de a implementa elemente analogice de înaltă calitate într-un proces CMOS sau la efectele semnalelor digitale de ceas asupra semnalelor analogice sensibile. Astăzi majoritatea circuitelor integrate analogice sunt implementate în CMOS, iar industria semiconductoarelor a reușit să controleze zgomotul la nivelul tranzistorului pentru multe generații de procese. Circuitele analogice folosesc chiar și noduri CMOS agresive acum. În multe privințe, cele mai recente dispozitive digitale seamănă mult cu cele analogice, datorită vitezei lor de funcționare și a cererii unui semnal de calitate.

Integrarea funcțiilor analogice în CMOS nu mai este o barieră, deci ce părere aveți de integrarea lor alături de funcțiile digitale? Majoritatea MCU-urilor prezintă posibilități de operare cu semnalul mixt, integrând adesea convertoare analog/digitale și digital/analogice.

Familia ADuCM de MCU-uri (Nr. stoc RS - 786-3372) de la Analog Devices, de exemplu, are ADC-uri Sigma-Delta pe 24 de biți pe mai multe canale. Bariera potențială aici se mișcă între domenii; analog la digital și digital la analog. Dar, odată ajunse în domeniul digital, inginerii pot face mult mai mult cu datele, cum ar fi aplicarea filtrelor, căutarea de modele și eliminarea anomaliilor. Cheia acestui lucru este suportul software oferit pentru implementarea acestor funcții analogice complexe în firmware. MCU-urile folosesc în prezent din ce în ce mai multe nuclee de procesare pe 32 de biți care includ instrucțiuni DSP (Digital Signal Processing) extrem de capabile, adesea cu hardware dedicat pentru a accelera aceste instrucțiuni.

Familia de nuclee Arm Cortex-M este cea mai larg licențiată și implementată arhitectură a setului de instrucțiuni din cadrul MCU-urilor. Multe dintre nuclee includ acum unități cu virgulă mobilă (FPU) și instrucțiuni DSP, ceea ce le face capabile să gestioneze algoritmi de filtrare digitală extrem de complecși. Mai recent, controlerul de semnal digital, sau DSC, a apărut pe baza combinației funcționalității DSP și MCU într-un singur dispozitiv. Acestea sunt potrivite aplicațiilor care trebuie să monitorizeze și să reacționeze la semnale analogice, cum ar fi controlul motorului.

,,Sunt inginer RF, MCU-urile nu sunt pentru mine!"

Aceasta este o altă concepție greșită obișnuită bazată pe natura specifică a proiectării RF. Adesea văzută ca o „magie neagră”, există o lungă istorie a designerilor de RF care lucrează în domenii stranii, aruncând descântece peste PCB-uri pentru a le face să funcționeze. Avansăm până în zilele noastre și vederea de ansamblu este foarte diferită. Desigur, marea majoritate a domeniului RF este încă misterioasă, iar cunoștințele secrete sunt transmise selectiv doar celor vrednici. Pentru restul dintre noi, scopul principal este de a implementa o formă de protocol standard de comunicații fără fir, cum ar fi Bluetooth, Wi-Fi sau altele similare. Pentru aceste aplicații, mai simplu este mai bine. Aici intervine MCU wireless.

Chiar și pentru inginerii RF, aceste dispozitive pot oferi o opțiune de proiectare mai simplă, datorită flexibilității platformei. CC1310 (Nr. Stoc RS: 168-4935) de la Texas Instruments are un modul de interfațare RF sub-1GHz capabil să funcționeze la o gamă variată de frecvențe, inclusiv 315, 433, 470, 500, 779, 868, 915 și 920 MHz cu lățime de bandă de la 50 kHz până la 5 MHz. Aceasta lucru înseamnă că poate fi folosit pentru a crea dispozitive concepute pentru a funcționa ca parte a unei rețele de senzori fără fir care rulează protocoale precum 6LoWPAN, Wireless M-Bus, KNX Systems, Wi-SUN sau un protocol proprietar. Utilizarea mai multor protocoale este o cerință de bază în domeniul IoT, ceea ce înseamnă adesea crearea de rețele cu dispozitive care utilizează interfețe wireless diferite. Abordarea aici este de a utiliza un dispozitiv denumit în general o poartă de acces, care leagă aceste interfețe diferite. Proiectarea unei aplicații care utilizează mai multe protocoale ar putea fi o provocare chiar și pentru cel mai priceput expert în RF, dar dezvoltarea MCU-urilor fără fir cu mai multe protocoale aduce un plus de liniște.

Un exemplu aici este familia EFM32MG22 de MCU-uri Wi-Fi de la Silicon Labs (Nr. Stoc RS: 200-9664). Aceste dispozitive au fost proiectate să funcționeze la protocoale cu frecvențe de 2,4 GHz, inclusiv Zigbee, Thread și Bluetooth, adesea pe același dispozitiv și uneori în același timp.

Poate că cea mai avantajoasă caracteristică a MCU-urilor Wi-Fi este nivelul de asistență software oferit de producători. Aceasta include de obicei o stivă pre-verificată pentru protocol, furnizată gratuit și optimizată pentru dispozitivul specific utilizat. Acest lucru poate reduce într-adevăr ciclul de proiectare, iar natura modulelor de interfațare RF integrate înseamnă că procesul de certificare este, de obicei, mult mai simplu.

,, Sunt inginer hardware, MCU-urile nu sunt pentru mine!"

Aceasta este probabil o critică a necesității de a configura un MCU prin software. Pentru inginerii mai familiarizați cu utilizarea dispozitivelor digitale și analogice discrete, mutarea unei părți importante a designului în domeniul software poate fi ușor descurajantă. Cu toate acestea, nivelul de suport pentru dezvoltarea de software este acum atât de ridicat încât inginerii hardware - care sunt într-adevăr ținta principală pentru MCU - ar trebui să ia în considerare, înainte de toate, utilizarea a unui MCU.

Unul dintre principalele motive pentru care MCU-urile sunt populare în domeniul embedded este faptul că sunt atât de centrate pe hardware. Nucleul de procesare a devenit mai important în timp, deoarece industria a evoluat de la arhitecturi pe 4 biți la seturi de instrucțiuni pe 32 de biți. În esență, totuși, este încă acolo pentru a sprijini perifericele cablate incluse în dispozitive.

Din acest motiv, modul în care nucleul se conectează cu perifericele a cunoscut o mare dezvoltare în ultimele decenii. Și pentru că una dintre principalele cerințe tehnice care reies din domeniul embedded este legată de operarea cu consum redus de energie, tehnicile utilizate de producători pentru a obține un consum redus sunt acum destul de sofisticate. Efectul acestui lucru este că nucleul este acum capabil să-și petreacă majoritatea timpului într-un mod de somn profund (deep sleep), executând puține instrucțiuni (sau deloc) în majoritatea timpului. În timp ce frontierele dintre nucleele MCU și MPU pot fi neclare, modurile de repaus/somn rămân una dintre principalele caracteristici de diferențiere.

Pentru a economisi energia electrică a bateriei, unele MCU-urile pot furniza un semnal de ceas sau porți de alimentare pentru zone întinse de funcționalitate și pot pune nucleul în sine într-un mod de consum foarte scăzut. Trezirea la apariția unei întreruperi este o tehnică obișnuită, care trezește nucleul dispozitivului doar atunci când primește un stimul extern. Cu toate acestea, chiar și acest lucru are consecințe, astfel încât tendința este acum spre a face perifericele mai autonome, permițându-le să se descurce mai mult pe cont propriu, fără a mai trezi nucleul.

De exemplu, multe dintre MCU-urile PIC și AVR de la Microchip, inclusiv PIC16LF18875 (Nr. Stoc RS: 905-3050), sunt echipate cu „periferice independente de nucleu”. Acesta este un termen general folosit pentru a descrie periferice care pot fi configurate pentru a efectua funcții repetitive sau funcții de întrerupere fără intervenția procesorului. Acest lucru poate include detectarea și condiționarea semnalului, generarea formelor de undă sau monitorizarea interfeței cu utilizatorul, precum și altele.

Abilitatea de a implementa o structură cu consum redus la nivelul întregului sistem prin câteva linii de cod ar trebui să îi facă pe inginerii hardware fericiți. Împreună cu faptul că toate „legăturile” dintre funcții sunt gestionate pentru dvs., printr-o magistrală de comunicații integrată în chip, înseamnă că dezvoltarea sistemului devine mai simplă. Unele MCU-uri avantajează acum inginerul de proiectare hardware oferind și mai multă flexibilitate față de funcționalitatea perifericelor. Familia de MCU-uri PSoC de la Cypress (acum Infineon) oferă un control foarte precis asupra I/O, precum și funcții analogice și digitale programabile.

Pentru a completa aplicația de dezinfectare UV-C, puteți să luați în considerare și domeniul vast de distribuitoare de putere pentru LED-uri de la OSRAM și ILS. Proiectarea unui sistem de lumină UV pentru dezinfectare este un proces complex cu numeroase variabile și de aceea fiecare idee poate fi benefică în lupta cu noul Coronavirus, pentru că doar împreună putem depăși această încercare globală. Pentru informații suplimentare vă rugăm să accesați site-ul de la IUVA aici, pentru opinia experților lor.

,, Sunt informatician, MCU-urile nu sunt pentru mine!"

Acesta este o abordare critică nouă. Informaticienii tind să fie abstracți de la structura hardware a sistemului de calcul pe care îl folosesc pentru a-și rula codul. Acest cod este de obicei foarte intensiv în calcul, deci principala lor preocupare este legată de puterea brută. În acest sens, performanța medie a MPU-urilor de înaltă performanță o depășește chiar și pe cea a celui mai performant MCU.

Cel puțin așa era în mod obișnuit. Tendința dispozitivelor cu nuclee multiple a intrat în domeniul MCU, ceea ce înseamnă că multe MCU-uri au acum nuclee de procesare de înaltă performanță alături de un nucleu de microcontroler mai modest. În prezent, vedem că o mulțime de „informații” migrează din centrul rețelei către zona limitrofă/terminală/ de margine; unde trăiesc sistemele embedded. În consecință, pe piață au apărut microcontrolere cu performanțe mai mari de procesare. În cele mai recente exemple, aceste dispozitive sunt capabile să ruleze motoare de inferență, ceea ce aduce capabilități de inteligență artificială și învățare automată în senzori miniaturali, conectați la distanță.

Ce înseamnă acest lucru în practică este că abilitățile de programare necesare pentru informaticieni sunt acum solicitate în domeniul embedded. Învățarea automată pentru dispozitivele de margine va fi uriașă, suportul pentru procesarea în zona de margine este în creștere și abilitățile necesare sunt la mare căutare. Dacă sunteți un informatician care lucrează la AI și ML, este posibil să vă întâlniți cu MCU-urile în viitorul apropiat.

Când un MCU nu mai este MCU?

Această întrebare ridică un subiect interesant. Dacă MCU-urile preiau mai multe capabilități de procesare, mai sunt MCU-uri? Nu există o definiție clară a ceea ce este sau nu un MCU, dar revenind la acele exemple timpurii, am putea spune că, dacă integrează un nucleu de procesare, stocare permanentă și unele I/O flexibile, atunci este un MCU. Dacă luăm aceasta afirmație drept definiție, atunci SoC-urile devin un submulțime (sau superset?) al MCU-urilor. Există alte mulțimi și submulțimi. Am discutat deja despre conceptul DSC (controler de semnal digital). Acest concept arată că industria semiconductoarelor nu este reținută în ceea ce privește preluarea unor părți cheie ale tehnologiei MCU și combinarea lor cu cele mai bune părți din restul dispozitivelor/modulelor pentru a crea ceva nou.

Să luăm drept exemplu învățarea mașinii (Machine Learning). Punerea motoarelor de inferență pe MCU-uri este un domeniu de explorare nou și are perfect sens. MCU-urile sunt interfața cu lumea reală, iar datele din lumea reală sunt cele cu care trebuie să interacționeze inteligența artificială. Provocarea este că motoarele de inferență sunt dezvoltate în mod normal pe platforme de procesare cu resurse de calcul și memorie practic nelimitate. Cum transformăm acești algoritmi mari pe MCU-uri care sunt constrânse de resurse? Și dacă o facem, mai sunt MCU-uri?.

O parte a răspunsului constă în optimizarea procesului de creare a unui motor de inferență și apoi transformarea acelei versiuni optimizate într-un cadru software conceput pentru a rula pe un nucleu de procesare care poate fi integrat în mod realist într-un MCU. Aici intervin organizații precum tinyML. Fundația tinyML este o inițiativă non-profit axată pe obținerea tehnologiei de Machine Learning pe MCU-uri cu consum ultra redus de energie aflate chiar la marginea rețelei. Un altul este TensorFlow Lite, un alt cadru open-source pentru executarea algoritmilor de învățare (deep learning) pe dispozitive mici. În ceea ce privește partea hardware, NXP dezvoltă MCU-uri cu structură încrucișată. La fel precum dispozitivele DSC, MCU-ul cu structură încrucișată (crossover) aduce elemente potrivite unul anumit domeniu. În acest caz, domeniul este Machine Learning.

Viitorul MCU-urilor

Este probabil să vedem o integrare continuă de funcții în arhitecturile MCU. Există deja aproape 8000 de MCU-uri disponibile în oferta RS și fiecare dintre ele are propriile sale caracteristici unice. Acest lucru nu înseamnă că nu este loc pentru mai mult.

Este ușor de prevăzut că MCU-urile vor deveni, în cele din urmă, dispozitivul dominant în sistemele embedded. Aproape orice produs are cel puțin unul, dacă nu mai multe, MCU-uri. La prețuri de vânzare de până la 1 GBP (sau mai puțin) pentru atâta funcționalitate, este greu să ne argumentăm împotriva utilizării lor pe scară largă.

Tendințele către hibridizare, precum DSC și MCU pe structuri mixte, indică faptul că acest număr va crește în continuare. Acest lucru ne duce cu gândul că, la un moment dat, va exista un MCU potrivit pentru aproape orice aplicație imaginabilă. În acest moment, nevoia de SoC, ASIC și chiar FPGA ar putea fi discutabilă. În mod obișnuit, aceste dispozitive sunt utilizate atunci când nu există un produs standard disponibil, dar cu o astfel de diversitate și entuziasm pentru dezvoltarea de mai multe dispozitive, acest lucru ar putea deveni trecut. Ceea ce este clar este că dominația MCU urmează să continue încă mulți ani.

Microcontrolerele, denumite și MCU, sunt dispozitive semiconductoare embedded, în esență un computer în cadrul unui circuit integrat (IC). Microcontrolerele sunt utilizate în cea mai mare parte în aplicații „încorporate” cu funcție unică, spre deosebire de microprocesoare care sunt proiectate pentru aplicații în calculatoare personale, tablete și smartphone-uri. Microcontrolerele sunt prezente la ora actuală în majoritatea dispozitivelor electronice datorită plajei largi de aplicabilitate și a flexibilității utilizării lor. Vă oferim microcontrolere de la cei mai cunoscuți producători, precum Analog Devices, Atmel, Bridgetek, Cypress Semiconductor, Infineon, LAPIS, Maxim Integrated, Microchip, NXP, ON Semiconductor, Parallax Inc, Renesas Electronics, Silicon Labs, STMicroelectronics, Texas Instruments, XMOS, Zilog. Pentru a accesa întreaga gamă de microcontrolere, dar și de semiconductoare în general, vă invităm pe site-ul ro.rsdelivers.com.

Autor: Grămescu Bogdan