Sunteți pe pagina 1din 9

Capitolul 1 INTRODUCERE

1.1 CE ESTE UN MICROCONTROLER? La modul general un controler (controller este un termen de origine anglo-saxon, cu un domeniu de cuprindere foarte larg) este o structur electronic destinat controlului (destul de evident!) unui proces sau, mai general, unei interaciuni caracteristice cu mediul exterior, fr s fie necesar intervenia operatorului uman. Primele controlere au fost realizate n tehnologii pur analogice, folosind componente electronice discrete i/sau componente electromecanice (de exemplu relee). Cele care fac apel la tehnica numeric modern au fost realizate iniial pe baza logicii cablate (cu circuite integrate numerice standard) i a unei electronici analogice uneori complexe, motiv pentru care strluceau prin dimensiuni mari, consum energetic pe msur i, nu de puine ori, o fiabilitate care lsa de dorit. Apariia i utilizarea microprocesoarelor de uz general a dus la o reducere consistent a costurilor, dimensiunilor, consumului i o mbuntire a fiabilitii. Exist i la ora actual o serie de astfel de controlere de calitate, realizate n jurul unor microprocesoare de uz general cum ar fi Z80 (Zilog), 8086/8088 (Intel), 6809 (Motorola), etc. Pe msur ce procesul de miniaturizare a continuat, a fost posibil ca majoritatea componentelor necesare realizrii unei astfel de structuri s fie ncorporate (integrate) la nivelul unui singur microcircuit (cip). Astfel c un microcontroler ar putea fi descris ca fiind i o soluie a problemei controlului cu ajutorul (aproape) unui singur circuit. O definiie, cu un sens foarte larg de cuprindere, ar fi aceea c un microcontroler este un microcircuit care ncorporeaz o unitate central (UCP) i o memorie mpreun cu resurse care-i permit interaciunea cu mediul exterior. Resursele integrate la nivelul microcircuitului ar trebui s includ, cel puin, urmtoarele componente: a) o unitate central (UCP) cu un oscilator intern pentru ceasul de sistem; b) o memorie local tip ROM/PROM/EPROM/FLASH i eventual una de tip RAM; c) un sistem de ntreruperi; d) I/O - intrri/ieiri numerice (de tip port paralel); e) un port serial de tip asincron i/sau sincron, programabil; f) un sistem de timere-temporizatoare/numrtoare programabile; este posibil ca la acestea s fie adugate, la un pre de cost avantajos, caracteristici specifice sarcinii de control care trebuie ndeplinite; g) un sistem de conversie analog numeric (una sau mai multe intrri analogice); h) un sistem de conversie numeric analogic i/sau ieiri PWM (cu modulare n durat); i) un comparator analogic; j) o memorie de date nevolatil de tip EEPROM; k) faciliti suplimentare pentru sistemul de temporizare/numrare (captare i comparare); l) timer de tip watchdog (un ceas de gard); m) faciliti pentru optimizarea consumului propriu. Un microcontroler tipic mai are, la nivelul unitii centrale, faciliti de prelucrare a informaiei la nivel de bit, de acces direct i uor la intrri/ieiri i un mecanism de prelucrare a ntreruperilor rapid i eficient. Utilizarea unui microcontroler constituie o soluie prin care se poate reduce dramatic numrul componentelor electronice precum i costul proiectrii i al dezvoltrii unui produs. OBSERVAIE: Utilizarea unui microcontroler, orict de evoluat, nu elimin unele componente ale interfeei cu mediul exterior (atunci cnd ele sunt chiar necesare): subsisteme de prelucrare analogic (amplificare, redresare, filtrare, protecie-limitare), elemente pentru realizarea izolrii galvanice (optocuploare, transformatoare), elemente de comutaie de putere

(tranzistoare de putere, relee electromecanice sau statice). 1.2 DOMENII DE UTILIZARE A MICROCONTROLERELOR Toate aplicaiile n care se utilizeaz microcontrolere fac parte din categoria aa ziselor sisteme ncapsulate-integrate embedded systems), la care existena unui sistem de calcul ncorporat este (aproape) transparent pentru utilizator. Automatizarea procesului de fabricaie-producie este un alt mare beneficiar (CNC = Computerised Numerical Controls comenzi numerice pentru mainile unelte, automate programabile PLC, linii flexibile de fabricaie, etc.). Indiferent de natura procesului automatizat sarcinile specifice pot fi eventual distribuite la un mare numr de mi crocontrolere integrate ntr-un sistem unic prin intermediul uneia sau mai multor magistrale. Printre multele domenii unde utilizarea lor este practic un standard industrial se pot meniona: n industria de automobile (controlul aprinderii/motorului, climatizare, diagnoz, sisteme de alarm, etc.), n aa zisa electronic de consum (sisteme audio, televizoare, camere video i videocasetofoane, telefonie mobil, GPS-uri, jocuri electronice, etc.), n aparatura electrocasnic (maini de splat, frigidere, cuptoare cu microunde, aspiratoare), n controlul mediului i climatizare (sere, locuine, hale industriale), n industria aerospaial, n mijloacele moderne de msurare - instrumentaie (aparate de msur, senzori i traductoare inteligente), la realizarea de periferice pentru calculatoare, n medicin. Exemple de sisteme robotice i mecatronice care folosesc microcontrolere: Johnnie (figura 1.1) un robot umanoid destul de simplu, construit la Universitatea Tehnic din Munchen n 1998, utilizeaz 5 microcontrolere, conectate prin intermediul unei magistrale CAN la un calculator PC. Alpha un alt robot umanoid (fotbalist ca destinaie) dezvoltat la Universitatea din Freiburg utilizeaz, ntr-o variant a sa, 11 microcontrolere conectate similar. Un numr foarte mare de microcontrolere sunt folosite i de aa zisele jucrii inteligente, din care capetele de serie cele mai cunoscute sunt cei doi roboi, unul canin i altul umanoid: AIBO (Sony, figura 1.2) i ASIMO (Honda, figura 1.5). ASIMO folosete 26 de microcontrolere numai pentru controlul individual al celor 26 de elemente de acionare inteligente (motoare). Tot n categoria roboilor umanoizi intr i QRIO (Sony, figura 1.4) sau HOAP-1 (Fujitsu, figura 1.3). Roboii respectivi sunt produi n serie, unii dintre ei chiar la un pre accesibil. Ca un exemplu din industria de automobile (automotive industry), unde numai la nivelul anului 1999, un BMW seria 7 utiliza 65 de microcontrolere, iar un Mercedes din clasa S utiliza 63 de microcontrolere. Practic este foarte greu de gsit un domeniu de aplicaii n care s nu se utilizeze microcontrolerele.

Figura 1.2 AIBO Figura 1.1 Johnnie Figura 1.3 Hoap-1 Figura 1.4 QRIO Figura 1.5 ASIMO

1.3 CLASIFICRI I VARIANTE CONSTRUCTIVE ALE MICROCONTROLERELOR Exist la ora actual un numr extrem de mare de tipuri constructive de microcontrolere. Un criteriu de clasificare care se poate aplica ntotdeauna este lungimea (dimensiunea) cuvntului de date. Funcie de puterea de calcul dorit i de alte caracteristici se pot alege variante avnd dimensiunea cuvntului de date de 4, 8, 16, 32 i 64 de bii. Nu este obligatoriu ca dimensiunea cuvntului de date s fie egal cu dimensiunea unui cuvnt main (cuvnt program). Exist i multe variante zise dedicate, neprogramabile de utilizator la nivel de cod main, strict specializate pe o anumit aplicaie, prin intermediul codului preprogramat i al resurselor hardware, utilizate pentru comunicaii, controlul tastaturilor, controlul aparaturii audio/video, prelucrarea numeric a semnalului, etc. 1.4 TEHNOLOGIILE DE FABRICAIE UTILIZATE N CAZUL MICROCONTROLERELOR Practic, toate microcontrolerele se realizeaz n tehnologie CMOS (tehnologii similare celor utilizate la seriile standard CMOS de circuite numerice). Se pot realiza astfel structuri cu o mare densitate de integrare, cu un consum redus (care va depinde de frecvena de lucru), permind eventual alimentarea de la baterie. Logica intern este static (total sau n cea mai mare parte) permind astfel, n anumite condiii, micorarea frecvenei de ceas sau chiar oprirea ceasului n ideea optimizrii consumului. Tehnologia este caracterizat i de o imunitate mai mare la perturbaii, esenial ntr-un mare numr de aplicaii specifice. Se realizeaz variante pentru un domeniu extins al temperaturii de funcionare (de la 400C pn la +850C). Exist foarte multe variante de ncapsulare (capsule de plastic i mai rar de ceramic), multe din ele destinate montrii pe suprafa (SMD): SOIC, PLCC, PQFP, TQFP (x100pini), etc., dar i variante clasice cu pini tip DIP/DIL (tipic de la 8 la 68 pini). 1.5 CARACTERISTICI ARHITECTURALE ALE UNITII CENTRALE Arhitectura unitii centrale de calcul (UCP) este unul din elementele cele mai importante care trebuie avut n vedere n analiza oricrui sistem de calcul. Principalele concepte luate n considerare i ntlnite aici sunt urmtoarele: a) Arhitecturi de tip von Neumann Cele mai multe microcontrolere sunt realizate pe baza acestei arhitecturi de sistem. Microcontrolerele bazate pe aceast arhitectur au o unitate central (UCP) caracterizat de existena unui singur spaiu de memorie utilizat pentru memorarea att a codului instruciunilor ct i a datelor ce fac obiectul prelucrrii. Exist deci o singur magistral intern (bus) care este folosit pentru preluarea instruciunilor i a datelor; iar efectuarea celor dou operaii separate, n mod secvenial, are ca efect, cel puin principial, ncetinirea operaiilor. Este arhitectura standard (cea mai des ntlnit) i pentru microprocesoarele de uz general. b) Arhitecturi de tip Harvard La aceast arhitectur exist spaii de memorie separate pentru program i date. n consecin ar trebui s existe i magistrale separate (de adrese i date) pentru codul instruciunilor i respectiv pentru date. Principial exist astfel posibilitatea execuiei cvasiparalele (suprapunerii) a celor dou operaii menionate anterior. Codul unei instruci uni poate fi preluat din memorie n timp ce se execut operaiile cu datele aferente instruciunii anterioare. Este posibil (cel puin teoretic) o execuie mai rapid, pe seama unei complexiti sporite a microcircuitului, mai ales atunci cnd exist i un pipeline (= tehnica de implementare n care se permite suprapunerea execuiei mai multor instruciuni ). Este arhitectura standard pentru procesoarele numerice de semnal (DSP). Datorit costului mare al implementrii unei astfel de arhitecturi, n cazul microcontrolerelor se ntlnete mai ales o

arhitectur Harvard modificat, cu spaii de memorie separate pentru program i date, dar cu magistrale comune pentru adrese i date. c) CISC Aproape toate microcontrolerele au la baza realizrii UCP conceptul CISC (Complex Instruction Set Computer = calculator cu set complet de instruciuni). Aceasta nseamn c au un set uzual de peste 80 instruciuni, multe din ele foarte puternice i specializate. De obicei multe din aceste instruciuni sunt foarte diferite ntre ele: unele opereaz numai cu anumite spaii de adrese sau registre, altele permit numai anumite moduri de adresare, etc. Pentru programatorul n limbaj de asamblare exist unele avantaje prin utilizarea unei singure instruciuni complexe n locul mai multor instruciuni simple (analog macroinstruciunilor clasice dintr-un limbaj de asamblare). d) RISC RISC (Reduced Instruction Set Computer = calculator cu set redus de instruciuni) este un concept de realizare a UCP care a nceput s fie utilizat cu succes de ceva timp i la realizarea microcontrolerelor. Prin implementarea unui set redus de instruciuni care se pot executa foarte rapid i eficient, se obine o reducere a complexitii microcircuitului, suprafaa disponibilizat putnd fi utilizat n alte scopuri. Printre caracteristicile asociate de obicei unei UCP de tip RISC se pot meniona: - arhitectur Harvard modificat sau von Neumann; - vitez sporit de execuie prin implementarea unui pipeline pentru instruciuni; - set de instruciuni ortogonal (simetric): orice instruciune opereaz cu orice spaiu de adrese (de memorie) sau orice registru, iar instruciunile nu prezint combinaii speciale, excepii, restricii sau efecte colaterale. 1.6 ASPECTE LEGATE DE IMPLEMENTAREA MEMORIEI MICROCONTROLERELOR n afar de memoria local de tip RAM (Random Access Memory), de dimensiuni relativ reduse (de la x10 octei la x1k), implementat ca atare sau existent sub forma unui set de registre i destinat memorrii datelor (variabilelor), mai exist o serie de aspecte specifice, marea majoritate a acestora fiind legat de implementarea fizic a memoriei de program (i eventual a unei pri a memoriei de date) cu ajutorul unor memorii nevolatile. Clasic, memoria de program era implementat ntr-o variant de tip ROM: EPROM (Erasable Programmable Read Only Memory = ROM programabil i anulabil, adic care i pstreaz datele i cnd i se ntrerupe alimentarea cu curent electric) pentru dezvoltare i producie pe scar mic/medie sau mask-ROM pentru producia de mas. Principalele concepte noi aprute de-a lungul timpului n legtur cu implementarea memoriei de program sau date sunt enumerate n continuare. a) OTP (One Time Programmable) - majoritatea productorilor ofer variante de microcontrolere la care memoria local de program este de tip OTP, practic o memorie PROM identic intern cu varianta EPROM, dar fr fereastra de cuar pentru tergere (deci i mai ieftin); aceste variante pot fi utilizate ca o alternativ pentru o producie limitat, pn n momentul testrii i validrii finale a codului, moment n care pot fi comandate variantele (mask) ROM propriu-zise, cele mai economice pentru o producie de mas. b) FLASH EPROM (= memorie nevolatil n care datele persist i fr alimentare cu energie electric i care la nevoie poate fi tears i reprogramat/rencrcat cu date) - este o soluie mai bun dect EPROM-ul propriu-zis atunci cnd este necesar un volum mare de memorie program (nevolatil); mai rapid i cu un numr garantat suficient de mare (x10000) de cicluri de programare (de tergere/scriere), este caracterizat i prin modaliti mai flexibile de programare; este utilizat numai ca memorie de program. c) EEPROM (Electrically Erasable Programmable Read Only Memory)- multe microcontrolere au i o memorie de acest tip, de dimensiune limitat (de la x10 octei la xK

octei), destinat memorrii unui numr limitat de parametrii (memorie de date) care eventual trebuie modificai din timp n timp; este o memorie relativ lent (la scriere), dar cu un numr de cicluri de tergere/scriere mai mare ca FLASH-ul (x100000). d) NOVRAM (RAM nevolatil) - realizat prin alimentarea local (baterie, acumulator) a unui masiv RAM CMOS atunci cnd este necesar un volum mare de memorie de program i date nevolatil; mult mai rapid dect toate celelalte tipuri i fr limitri ca numr de cicluri. e) Conceptul de programare "In System" (ISP = In System Programming) - folosirea unor memorii nevolatile de tip FLASH face posibil i programarea unui astfel de microcontroler fr a-l scoate din sistemul n care este ncorporat (programare on -line, In System Programming); programarea se face de regul prin intermediul unei interfee seriale dedicate de tip ISP (poate avea nume diferite) sau a unei interfee standard. Exist microcontrolere la care aceast programare se poate face prin intermediul unui port serial asincron sau al interfeei CAN (Controller Area Network). Este posibil astfel modificarea cu uurin a codului program sau a unor constante de lucru (local sau de la distan - remote update). Observaie: Un lucru foarte important este c la anumite familii interfaa prin intermediul creia se face programarea poate fi utilizat i la testarea i depanarea aplicaiei (soft), permind realizarea simpl, cu un pre de cost minim, a unor mijloace de testare i depanare (emulatoare). f) Bootloader multe din microcontrolerele recente la care memoria de program este de tip FLASH au i facilitatea (au de fapt instruciuni dedicate acestui scop) de a putea i scrie n aceast memorie de program fr a utiliza un circuit de programare extern. Astfel n microcontroler poate exista permanent (rezident) un cod de mici dimensiuni (denumit i bootloader) care pur i simplu va ncrca prin intermediul portului serial (este doar un exemplu) codul utilizator sau constantele pe care acesta vrea eventual s le actualizeze. Bootloader-ul este i cel care lanseaz n execuie programul utilizator dup ncrcarea acestuia. g) Conceptul de protejare a codului program - protejarea codului program dintr-o memorie local nevolatil mpotriva accesului neautorizat (la citire deoarece pirateria soft exist i aici) este oferit ca o opiune la variantele FLASH, EPROM sau OTP. Codul poate fi protejat att la citire ct i la scriere (practic circuitul trebuie ters, nainte de a se mai pute a scrie ceva n el). Este eliminat astfel posibilitatea de a se realiza, n acest caz, de patch -uri (alterri cu un anumit scop) ale codului original. La variantele mask-ROM propriu-zise protecia este de cele mai multe ori implicit. h) Memoria extern de program sau date Marea majoritate a familiilor de microcontrolere permit si utilizarea de memorie extern de program (tipic ROM) sau date (tipic RAM). Aceasta presupune existena i utilizarea unor magistrale externe de adrese si date. Conexiunile externe necesare pentru acestea sunt disponibile ca funcii alternative ale pinilor. Din pcate, n aceast situaie numrul de conexiuni exterioare disponibile pentru interfaa cu exteriorul se reduce dramatic, reducnd mult din versatilitatea microcontrolerului. Mai mult la variantele constructive cu un numr mic de pini (conexiuni externe) nu este posibil utilizarea de memorie extern, dect, eventual, ntr-o variant cu interfa serial (memorie RAM, FLASH sau EEPROM cu interfa I2C, SPI, etc.) i numai ca memorie de date. 1.7 FAMILII DE MICROCONTROLERE REPREZENTATIVE n prezentarea care urmeaz accentul este pus pe familiile cele mai cunoscute de 8 bii i 16 bii. a) 8048 (Intel MCS-48 - www.intel.com ) reprezint bunicul microcontrolerelor pe 8 bii, mai este nc folosit! Unele din caracteristicile sale arhitecturale se regsesc la urmtoarea generaie (MCS-51, 8051). b) 8051 (Intel MCS-51 i muli alii: Atmel, Philips www.semiconductor.philips.com,

Infineon, Atmel, Dallas-Maxim - www.maxim-ic.com, Cygnal www.cygnal.com , etc.). Este a doua generaie de microcontrolere de 8 bii a firmei Intel care, dei aprut acum 20 de ani, nc ocup un segment semnificativ de pia. Cu o arhitectur destul de ciudat, este suficient de puternic i uor de programat (odat nvat!). Arhitectura sa are spaii de memorie separate pentru program i date. Poate adresa 64KBytes memorie de program, din care primii 4(8..32)KBytes locali (ROM). Poate adresa 64KBytes memorie de date extern, adresabil doar indirect. Are 128 (256) octei de RAM local, plus un numr de registre speciale pentru lucrul cu periferia local. Are faciliti de prelucrare la nivel de bit (un procesor boolean, adresare pe bit). Intel a dezvoltat si un super 8051 numit generic 80151. Actualmente exist zeci de variante produse de diveri fabricani (Philips, Infineon, Atmel, Dallas, Temic, etc.) precum i cantiti impresionante de soft comercial sau din categoria freeware/shareware. Au aprut i dezvoltri ale acestei familii n sensul trecerii la o arhitectur similar (n mare), dar organizat pe 16 bii, cu performane mbuntite ca vitez de prelucrare: familia XA51 eXtended Arhitecture de la Philips i familia 80C251 de la Intel. Din pcate aceste noi variante nu s-au bucurat nici pe departe de succesul btrnului 8051. c) 80C196 (Intel MCS-96) este un microcontroler pe 16 bii fcnd parte din generaia treia de microcontrolere a firmei Intel. Destinat iniial unor aplicaii din industria de automobile, are o arhitectur von Neumann, cu un spaiu de adresare de 64KBytes, o unitate de intrri/ieiri numerice de mare vitez (destinat iniial controlului injeciei la un motor cu ardere intern), ieiri PWM, convertor analog numeric, timer watchdog. Exist multe variante, ultimele cronologic aprute, fiind mult superioare variantei iniiale. Exist i o dezvoltare recent sub forma familiei MCS-296 (80C296). d) 80C186, 80C188 (Intel, AMD, .a.) sunt derivate din clasicele 8086/88 prin includerea pe acelai microcircuit a 2 canale DMA, 2 numrtoare/timere, un sistem de ntreruperi i un controler pentru DRAM. Marele avantaj al acestor cvasi(aproape) microcontrolere (ele nu au memorie integrat!) este legat de utilizarea ca mediu de dezvoltare a unor platforme de calcul tip IBM-PC, compatibile 80x86, cu tot softul aferent. e) 68HC05 (Freescale - www.freescale.com, exemplu Motorola) este un microcontroler de 8 bii derivat din microprocesorul M6800 i care prezint multe asemnri cu un alt microprocesor rspndit, la timpul su, 6502. Are un spaiu de memorie unic (64Kbytes) n care sunt plasate i registrele perifericelor (I/O, timere) cu un indicator de stiv (SP) hard pe 5bii (stiv de maxim 32 octei!). Exist variante cu memorie EEPROM, CAN, port serial, etc. Este unul din cele mai rspndite microcontrolere (comparabil cu 8051). Varianta evoluat a acestei familii este seria 68HC08 bazat pe o nou unitate central de 8 bii numit CPU08, cu cea mai recent dezvoltare sub forma seriei 68HCS08 destinat n mod special unor aplicaii din industria automobilului. f) 68HC11, 68HC12, 68HC16 (Freescale) 68HC11 a fost unul din cele mai puternice microcontrolere pe 8 bii, foarte rspndit n ciuda faptului c Motorola a fost un timp singurul productor. Are un set de instruciuni asemntor cu alte produse ale firmei (6801, 6805, 6809). Are un spaiu de adrese unic de 64K. Nenumrate variante ca resurse: EEPROM, OTP, CAN, PWM, etc. Prezint ca particularitate existena unui program de ncrcare rezident (bootstrap loader n ROM intern) cu care, la reset, un segment din memoria RAM extern poate fi ncrcat cu cod program prin intermediul portului serial. Variantele evoluate sunt de fapt microcontrolere de 16 bii: - un super 68HC11, numit 68HC12 bazat pe o nou unitate central numit CPU12, care reprezint extensia la 16 bii a arhitecturii HC11; - un 68HC16, mai puin rspndit, bazat pe o unitate central numit CPU16. g) 683xxx (Freescale) sunt microcontrolere pe 32 de bii construite n jurul unei UCP analogice microprocesorului M68020 (CPU32), denumite i procesoare integrate. Are o putere de calcul comparabil sau mai mare ca a lui Intel 80386.

h) PIC (Microchip- www.microchip.com ) Primul microcontroler din aceast familie (PIC1650) a aprut acum mai bine de 20 de ani pe vremea cnd firma era proprietatea General Instruments. Este o familie de microcontrolere care, n ultimii ani, a cunoscut o dezvoltare exploziv. Sunt disponibile actualmente sub forma a 6 serii: PIC10, PIC12, PIC14, PIC16, PIC17 i PIC18. n seriile respective exist variante cu memorie de program de tip OTP(C) sau FLASH(F). Au fost primele microcontrolere de 8 bii cu arhitectur RISC: PIC16C5x avea un set de doar 33 instruciuni (Intel 8048 avea 90). Arhitectura este de tip Harvard i, ca o particularitate, dimensiunea cuvntului pentru program este de 12, 14 sau 16 bii, cuvntul de date fiind tot de 8 bii. Exist foarte multe variante pentru cele ase serii, unele din ele fiind caracterizate printr-un numr mic de conexiuni exterioare (pini) i n consecin dimensiuni mici, consum foarte mic, ideea de baz fiind costul redus. Cronologic, ultimul produs al firmei Microchip este seria dsPIC30F, de fapt un procesor numeric de semnal, de 16 bii, cu o periferie specific optimizat pentru controlul acionrilor electrice (motoare electrice). Firma Ubicom (exemplu Scenix, www.ubicom.com) produce nite clone ale familiei PIC, mult mai rapide dect originalele. Modulele Basic Stamp ale firmei Parallax (www.parallax.com) sunt bazate si pe astfel de microcontrolere (sunt foarte utilizate, i nu numai de hobbitii din robotic!). i) AVR (Atmel - www.atmel.com) Un concurent puternic al seriei PIC este familia numit AVR, a firmei ATMEL, familie aprut n ultimii ani, care ofer variante de microcontrolere oarecum asemntoare ca resurse cu familia PIC, la performane similare sau mai bune. Sunt bazate pe o arhitectur diferit, dar unitatea central este tot de tip RISC, cu cuvntul de date de 8 bii. La fel ca la PIC dimensiunea cuvntului de program este mai mare, fiind de 16 bii. Exist cel puin 3 subfamilii mari, n ordinea complexitii resurselor, acestea fiind: AT Tiny, AT90 i ATMega. j) COP4(00) i COP8(00) (NS-National Semiconductors - www.national.com) COP4 este un microcontroler pe 4 bii, categorie de microcontrolere care, n general, departe de a fi nvechite, ocup un segment relativ important al pieii. Printre caracteristici: pn la 2K ROM local, 32x4 pn la 160x4 RAM local, Microwire, numrtoare/timere, tensiune de alimentare 2,3 6V, numr mic de pini. COP8 reprezint o serie de microcontrolere pe 8 bii, versatil, cu pre sczut, disponibil n multe variante. Arhitectura este similar lui 8051, dar setul de instruciuni este similar lui Z80. k) Z8 (Zilog - www.zilog.com ) Un derivat al microprocesorului Z80, reprezint un compozit al mai multor arhitecturi diferite. Nu este compatibil cu setul de instruciuni i nici cu perifericele standard Z80. Are trei spaii de adrese: program, date i un masiv de registre. Resurse locale tipice: UART, timere, DMA, sistem de ntreruperi cu pn la 37 de surse. Exist o variant cu un interpreter Tiny Basic n ROM-ul local (analog 8052AH Basic de la Intel) precum i o variant cu resurse mbuntite numit Super-8. l) Z180 (Zilog), Rabbit (Rabbit Semiconductors - www.rabbitsemiconductor.com) Z180-ul firmei Zilog are o UCP similar cu Z80 dar mbuntit, cu resurse locale cum ar fi: management de memorie (memorie paginat de maxim 1MB), USART (numit SIO), 2 canale DMA, timere, sistem de ntreruperi, eventual PIO. Are instruciuni suplimentare fa de setul standard Z80, printre care i nmulirea. Diversele sale variante nu includ memorie local. Rabbit 2000 sau 3000 este un microcontroler bazat pe un nucleu de Z180, deosebit de versatil ca resurse periferice disponibile i foarte uor de integrat n aplicaii. Sunt disponibile module realizate pe baza acestui microcontroler, module care adaug i memorie de tip ROM FLASH i RAM. Utilizarea unui mediu de programare foarte productiv numit Dynamic C precum i a facilitailor de programare i depanare In-System au fcut ca acest microcontroler

sa cunoasc o rspndire destul de larg. m) TMS370 (TI=Texas Instruments - www.ti.com) este microcontrolerul standard pe 8 bii al firmei TI realizat n multe variante (de ordinul zecilor), prezint unele asemnri cu 8051 (memoria de date local, stiva, modurile de adresare), avnd o varietate extrem de mare a resurselor locale. n) 80386EX (Intel) Un 80386 destinat aplicaiilor de tip controler. Resurse locale: I/O seriale, timere/numrtoare, DMA, optimizarea consumului, controler de ntreruperi, controler pentru RAM dinamic. Nu au memorie local. Marele avantaj al unui astfel de microcontroler este c se poate utiliza ca platform de dezvoltare un sistem de tip IBM PC mpreun cu tot mediul de programare aferent. o) SC 3/4/5xx, Elan (AMD - www.amd.com) O serie de microcontrolere deosebit de performante realizate n jurul unei uniti centrale de tip 386/486. Permit practic, doar prin adugarea de memorie extern, obinerea unui sistem de calcul compatibil PC, destinat unor aplicaii de control ncapsulate-integrate (embedded PC). p) 80C16x (Infineon, exemplu Siemens www.infineon.com) este unul din microcontrolerele de 16 bii foarte utilizat n Europa. Arhitectur deosebit de performant a UCP, de tip RISC, are diverse variante, cu resurse complexe: 80C165, 80C166, 80C167, etc. q) MSP430 (Texas Instruments) Firma TI ofer i o familie de microcontrolere de 16 bii cu arhitectur RISC, cu posibilitatea controlului compromisului vitez de calcul/consum propriu, destinat aplicaiilor portabile (i nu numai), denumit MSP 430. Cu un spaiu de adresare de 64KBytes, are diverse variante de realizare a memoriei interne de program (OTP, FLASH), resurse diverse (printre care i o interfa pentru un sistem de afiare LCD). r) Alte familii de microcontrolere Fujitsu Microelectronics (www.fme.fujitsu.com) - ofer familii deosebit de puternice de microcontrolere pe 8 bii (FMC-8), 16 bii (FMC-16) sau 32 de bii (FR). n fiecare familie exist zeci de variante. Multe dintre ele sunt orientate pe aplicaiile din industria de automobile sau din electronica de consum (audio, video, electrocasnice). Renesas (exemplu Hitachi, www.renesas.com) - ofer de asemenea o gam larg de microcontrolere organizate n familii de 4, 8, 16 i 32 de bii. Exist un numr foarte mare de variante constructive n fiecare familie. ARM (Advanced RISC Machine, www.arm.com) - este de fapt o unitate central de 32 de bii (sau de 16/32 bii) care face parte din categoria structurilor IP (Intelectual Property). Consoriul ARM a oferit licene ale acestei microarhitecturi (nucleu ARM) pentru numeroi productori de circuite (Atmel, Philips, TI, OKI www.okisemi.com, etc.). Pe baza acestor licene se realizeaz i microcontrolere de mare performan. Cele mai cunoscute i rspndite variante de nuclee sunt ARM7 i ARM9, cu implementrile lor simplificate numite ARM7T, ARM9T (T - Thumb). MPC500 (Freescale) - este o familie de microcontrolere bazat pe o unitate central de 32 de bii compatibil cu arhitectura (i cu setul de instruciuni) Power PC. Include i o unitate de prelucrare n virgul mobil. OBSERVAIE: Codurile prezentate sunt generice; identificarea complet a unui microcontroler fcndu-se i cu utilizarea unor prefixe/sufixe alfanumerice prin intermediul crora se precizeaz resursele disponibile i eventual alte caracteristici ale variantei constructive (frecvena maxim de ceas, tipul de capsul, gama de temperatur, etc.).