Controlere embedded

by donpedro

TENDINŢE

Acest articol semnalează tendinţele în ceea ce priveşte dezvoltarea controlerelor embedded. Se vor sublinia câteva din avantajele privind capabilităţile tehnologice şi cum pot fi folosite aceste avantaje de către inginerii proiectanţi.

Figura 1 Controlere Embedded – vânzări

În primul rând, să privim graficul prezentat în figura 1. Această diagramă ne spune – conform estimărilor făcute de institutul Gartner Dataquest – că vor exista 7 miliarde de asemenea dispozitive ce vor fi vândute în 2004. Această previziune confirmă faptul că sistemele embedded cu microcontrolere sunt acum larg folosite în toate tipurile de aplicaţii şi că multe dintre aceste dispozitive se află în categoria circuitelor de 4/8 biţi şi 16 biţi. Din acest motiv, articolul de faţă se va concentra pe tendinţele de dezvoltare pentru acest segment de piaţă.

Creşterea capabilităţilor de procesare

Una din tendinţele clare în evoluţia microcontrolerelor o reprezintă creşterea performanţelor de procesare.

Un inginer care dezvoltă un sistem bazat pe microcontroler va ţine cont tot timpul de “generaţia următoare” de sisteme. Un sistem de “generaţie următoare” – chiar dacă este vorba de o cafetieră sau de un automobil – va avea probabil multe în comun cu sistemul anterior, dar va avea câteva îmbunătăţiri. În dezvoltarea unui sistem din “noua generaţie” va exista întotdeauna posibilitatea de alegere a tipurilor de microcontrolere: folosirea unei categorii avansate de microcontrolere (de exemplu migrarea de la un microcontroler de 8 biţi către unul de 32 de biţi) sau utilizarea unei versiuni îmbunătăţite a unui microcontroler existent. În multe cazuri, ultima opţiune este cea mai atractivă deoarece există posibilitatea de refolosire a software-ului existent şi a uneltelor de dezvoltare şi, aproape sigur, un timp de învăţare foarte scurt.

Figura 2 Evoluţia Microprocesoarelor 6800 / Microcontrolerelor

Datorită acestor cerinţe comune de continuă îmbunătăţire a performanţei şi funcţionalităţii produselor existente, furnizorii de microcontrolere produc la rândul lor familii de produse. Un exemplu este evoluţia microprocesorului Motorola 6800 – această unitate centrală de bază dezvoltată în 6801, 6805 şi mai apoi 6809 este integrată câtorva familii de microcontrolere precum M68HC05, M68HC11, M68HC12 şi M68HCS12. Fiecare din aceste familii de produse a fost construită pe aceeaşi unitate centrală folosind acelaşi set de instrucţiuni de bază. Această evoluţie este ilustrată în figura 2. De notat este faptul că diferenţa dintre un microcontroler şi un microprocesor este aceea că microcontrolerul are intregrate “on-chip” memoria şi alte periferice. Tipic, un microprocesor include doar Unitatea Centrală de Procesare.

Unelte de dezvoltare din ce în ce mai avansate
O dată ce microcontrolerele devin tot mai complexe, mai rapide şi înalt integrate nu mai reprezintă nici o surpriză faptul că dezvoltarea software-ului necesită foarte mult timp. Astfel, pentru a ne asigura că dezvoltarea de software este încă un element gestionabil, sculele de dezvoltare pentru microcontrolere şi-au îmbunătăţit performanţele considerabil în ultima decadă. Uneltele de dezvoltare includ placa hardware de circuit imprimat ce permite examinarea fizică a semnalelor electrice şi software-ul ce permite limbajelor de nivel înalt să fie folosite şi chiar integrate circuitelor existente în pastila de siliciu a microcontrolerului pentru a se putea obţine accesul la memorie şi la regiştri interni.
Cea mai importantă schimbare a însemnat integrarea “on-chip” a circuitelor de depanare. Microcontrolerele convenţionale utilizează tipic un program monitor ce permite secţiunilor de cod să fie testate şi depanate. Programul monitor este conţinut uzual într-o memorie ROM şi este accesibil în modul de operare “bootstrap”. Tipic, programul monitor va permite unei porţiuni din codul dorit să fie descărcat serial într-un RAM unde este executat de microcontroler (MCU).

O tehnică nouă cunoscută ca “depanare serială – serial debug” va permite acum unui PC să controleze chip-ul direct în locul rulării codului de depanare în afara spaţiului de memorie RAM a microcontrolerului. Depanarea serială este o configuraţie hardware şi software care permite unei gazde să comunice cu un chip embedded. Există un număr de implementări diferite ale metodologiei de depanare serială, dar toate folosesc un număr mic de pini să comunice cu unitatea centrală a computerului gazdă. Există în fiecare microcontroler un microcod de program monitor ce interfaţează cu programul de depanare care rulează în gazdă (uzual un PC).

Gazda va afişa atât resursele “on-chip” ale microcontrolerului cât şi starea sa şi va permite execuţia operaţiilor de depanare la fel de simplu precum scrierea şi citirea regiştrilor şi locaţiilor de memorie. Deşi au la bază acelaşi principiu, metodologiile de depanare serială diferă atât de la producător la producător cât şi în cadrul diverselor familii de microcontrolere.

Figura 3 Processor Expert

Compilatoarele de limbaj de nivel înalt sunt acum foarte populare. Ultimele soluţii software destinate uneltelor de dezvoltare se îndreaptă către generarea codului de iniţializare sau a set-up-ului cu ajutorul unui aşa numit “auto-coder”. Un bun exemplu al acestuia este “Processor Expert” inclus în software-ul de dezvoltare Metrowerks “CodeWarrior” Development Studio. Acest tip de unealtă software va genera automat un cod C utilizat pentru configurarea periferiilor. Figura 3 arată un ecran ce conţine o secvenţă din acest software. Există o diagramă bloc a chip-ului; utilizatorul va face click pe modulul pentru care se doreşte generarea unui cod. Utilizând o interfaţă grafică cu utilizatorul – GUI – inginerul proiectant va selecta apoi diverşi parametri ce ar putea fi atribuiţi perifericului. De exemplu, în cazul unui modul convertor analog/digital, inginerul proiectant va putea atribui vitezele de eşantionare, valorile regiştrilor etc. Această unealtă elimină timpul cheltuit pentru detaliile de nivel mic câştigând timpi preţioşi în găsirea de soluţii optime ale sistemului.

Arhitecturi Hibride

În ultimii ani, mulţi fabricanţi de microcontrolere au dezvoltat arhitecturi hibride ce oferă beneficii utilizatorilor tradiţionali de microcontrolere.
Controlerul Hibrid combină atributele de control-orientat ale microcontrolerului cu capabilităţile de calcul rapid ale procesoarelor de semnal digital – DSP-urilor – pentru a crea o arhitectură hibridă capabilă să rezolve multe probleme de inginerie ce puteau fi rezolvate în trecut folosind ambele procesoare într-o aplicaţie. Aplicaţiile tipice ale controlerelor hibride sunt acelea care necesită mari capabilităţi de procesare a semnalului precum şi tehnicile tradiţionale de control. Câteva bune exemple sunt sistemele de securitate, aparatele de măsură, sursele de putere UPI, circuitele de eliminare a zgomotului, echipamentele audio şi instrumentaţie.
DSP-ul este un tip de microprocesor foarte specializat. Arhitectura a fost dezvoltată să execute un număr mic de instrucţiuni specifice şi tipuri de operaţii executate la cele mai mari viteze posibile. Cerinţele pentru vitezele de execuţie mari ale instrucţiunilor au fost impuse de nevoile de operare în timp real a semnalelor analogice într-un mediu digital unde matematicile procesării semnalului digital sunt mai simplu de utilizat.
Microcontrolerele au fost dezvoltate să ofere flexibilitate în programare la performanţe foarte mari. Toate operaţiile ce pot fi realizate cu un DSP pot fi executate şi cu un microcontroler. Diferenţa este că microcontrolerul va fi mai lent în cazul operaţiilor specifice de procesare de semnal, dar va fi capabil în multe alte tipuri de operaţii de date.

În concluzie, microcontrolerele sunt optimizate pentru a lucra într-un domeniu larg de operaţii logice, aritmetice şi de diagnosticare în aproape orice combinaţie de date de intrare provenite de la surse variate în timp ce DSP-urile sunt foarte eficiente în operaţiuni repetitive şi de calcul numeric intensiv. Controlerele hibride vor livra performanţa maximă pentru ambele tipuri de operaţii.

Proiectare pentru EMC
Producătorii de microcontrolere îşi concentrează forţele pentru îmbunătăţirea performanţelor microcontrolerelor în ceea ce priveşte Compatibilitatea
Electromagnetică (EMC).

Unităţile de control electronic (ECU) şi toate componentele electronice care le compun sunt testate pentru performanţele EMC. Compatibilitatea electromagnetică devine o problemă majoră pentru foarte mulţi producători de echipamente originale: creşterea tot mai mare a vitezei de operare a componentelor electronice (frecvenţele înalte cresc emisiile electromagnetice) şi numărul de unităţi de control electronic ce ar putea afecta fiecare operaţie este din ce în ce mai mare. Efectul produs de operarea unei ECU (sau de o altă unitate sau sursă externă) de perturbare prin emisii de radio frecvenţă poate duce la compromiterea bunei funcţionări sau a siguranţei.
Compatibilitatea electromagnetică poate fi optimizată printr-o proiectare atentă a circuitelor integrate şi a plăcii de circuit imprimat. Un sistem este considerat compatibil electromagnetic dacă poate satisface trei criterii:

1) Nu produce interferenţe cu alte sisteme;
2) Nu este perturbat de emisiile provenite de la alte sisteme;
3) Nu generează interferenţe cu el însuşi.

La nivelul de proiectare al circuitelor integrate, există multe consideraţii care pot îmbunătăţii performanţele EMC. Utilizând mai puţine ceasuri şi oprind ceasurile când sistemul este în repaus, reducerea puterii de ieşire a buffer-drive-ului, utilizând surse de putere multiple, pini de masă şi reducând impedanţa internă a traseelor acestor pini, eliminarea circuitelor integrate de încărcare şi poziţionarea semnalelor de înaltă frecvenţă în vecinătatea bus-ului de masă reprezintă toţi paşii de care trebuie ţinut cont pentru îmbunătăţirea performanţelor EMC.

EMC a devenit o problemă atât de importantă încât proiectarea în conformitate cu EMC reprezintă principala constrângere de proiectare privind dezvoltarea atât a circuitelor integrate cât şi a sistemelor de control electronic.

Memoria non-volatilă Flash EEPROM
Tipurile standard de memorii ale microcontrolerelor ce compun majoritatea sistemelor de astăzi sunt: memoria ROM (Read Only Memory), EPROM (Electrically Programmable ROM) şi memoria Flash EPROM (Electrically Erasable Programmable ROM) destinate programului de stocare, memoria RAM (Random Access Memory) pentru memoria stivă şi de lucru şi “byte erasable EEPROM” pentru stocarea datelor de calibrare şi securitate. Datorită faptului că memoria Flash EEPROM reprezintă acum o soluţie efectivă de cost, aceasta va înlocui gradual memoria ROM devenind astfel cea mai bună soluţie de memorie. Mulţi producători de echipamente originale cer furnizorilor să livreze memoria Flash EEPROM ca memorie standard.

Proiectanţii îşi doresc adesea să revizuiască software-ul pe linia de montaj. În afara metodei de reprogramare a memoriei la distanţă, tipic, această problemă se rezolvă prin îndepărtarea / înlocuirea unităţii de control electronic. Acest proces este scump şi necesită timp din partea producătorilor de echipamente originale, iar pe de altă parte reprezintă o mare inconvenienţă în a realiza un sistem “custom”. Memoria Flash EEPROM oferă tehnologia care permite acest tip de revizie pe linia de montaj.

Acest sistem poate fi utilizat pentru actualizarea sau revizia software-ului. Acum devine mult mai simplu pentru furnizorii de unităţi de control electronic (ECU) să construiască platforme generice care pot avea caracteristici implementate software uşor diferite. De exemplu, unele automobile ajustează automat aria de vizibilitate a oglinzilor. Această caracteristică este implementată în software, şi poate fi îmbunătăţită fizic printr-un up-grade după lansarea pe piaţă.

Acum când tendinţa memoriilor Flash EEPROM este cunoscută, se aşteaptă ca următoarea mişcare să fie implementarea memoriei RAM magnetorezistive – MRAM – Magnetoresistive Random Access Memory. MRAM va înlocui toate tipurile de memorie utilizate curent în sistemele electronice de control printr-un singur bloc de memorie ce va cuprinde performanţa şi flexibilitatea sistemelor existente. MRAM utilizează straturi magnetice de stocare a datelor în locul obişnuitelor forme de încărcare cu sarcini electrice. Caracteristicile principale ale memoriilor MRAM oferă viteză mare de citire şi scriere, non-volatilitate şi mari capabilităţi de citire virtuală nelimitată / ciclu de scriere.

Operare la mică tensiune şi consum redus de putere
Mică putere” este factorul cheie în multe aplicaţii embedded cu microcontrolere. Multe dintre produsele care utilizează microcontrolere sunt alimentate la baterii astfel că cerinţa numărul unu a acestor produse este consumul mic de putere. Se estimează că până în anul 2007, până la o treime din noile microcontrolere vor lucra la 2V şi vor consuma mult mai puţină putere faţă de produsele actuale.

Există o multitudine de produse care alcătuiesc categoria de dispozitive alimentate de la baterii. Câteva exemple sunt instrumentele portabile, aparatele de măsură, lacătele şi cheile electronice, jucăriile, termostatele, telecomenzile, telefoanele fără fir, aparatele de bărbierit şi alte instrumente personale de întreţinere, sistemele de securitate, detectoarele de fum, perifericele fără fir şi echipamentele audio portabile. Lista nu este completă, dar ilustrează diversitatea aplicaţiilor care necesită produse de mică putere.
Pentru a se adresa cât mai eficient acestei noi pieţe, fabricanţii de microcontrolere dezvoltă continuu produse “low power”. Modurile de management multiplu al puterii includ un consum de putere de sub 50nA şi zero pentru componenta auto-wakeup din STOP, tensiunile de alimentare trebuie să se micşoreze în intervalul 5V la 3V la 1.8V, totul pentru a se putea utiliza baterii din ce în ce mai mici.

rbannatyne@austin.rr.com
de Ross Bannatyne, Motorola SPS

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