Sie sind auf Seite 1von 14

MICROCONTROLERUL UTILIZARI SI PERSPECTIVE

Ing. Stan Ovidiu Facultatea de Automatic, Calculatoare i Electronic Catedra de Mecatronic

Scurt istoric
Primele controlere au fost realizate n tehnologii pur analogice si/sau electromecanice. Cele care fac apel la tehnica numeric au fost realizate iniial pe baza logicii cablate (circuite numerice SSI i MSI) i a unei electronici analogice uneori complexe i strluceau prin dimensiuni mari, consum energetic pe msur i nu de puine ori o fiabilitate care lsa de dorit. In anul 1969, o echip de ingineri japonezi propun companiei INTEL, construirea dupa proiectele proprii a unuei structuri de circuit integrat a crei funcionare s fie determinat de un program memorat n el, lucru ce ar fi condus la o configuraie mult mai simpl, dar aceasta ar fi presupus mult mai mult memorie dect ar fi presupus proiectul propus de inginerii niponi. Dup un timp, cu toate c inginerii de la INTEL au cutat s gseasc o soluie mai simpl, ideea s-a meninut, ba mai mult s-a pus n aplicare i astfel a luat natere primul microcontroler, INTEL reuind s scoat un produs din prima sa concepie, obinnd totodat i drepturile de a vinde acest produs. Astfel n timpul acelui an, apare pe pia un microprocesor numit 4004, fiind primul microprocesor de 4 bii cu vitez 6000 operaii pe secund. La scurt timp dup aceea, compania american CTC propune companiilor INTEL i Texas Instruments s conceap un microprocesor pe 8 bii pentru folosin cu terminale. Cu toate c CTC a renunat la aceast idee pn la sfrit, INTEL i Texas Instruments au continuat s lucreze la microprocesor i n aprilie 1972 a aprut pe pia primul microprocesor de 8 bii sub numele de 8008 capabil s adreseze 64Kb de memorie i avea 45 de instruciuni i viteza de 300.000 de operaii pe secund. Acel microprocesor a fost predecesorul tuturor microprocesoarelor de astzi. INTEL a continuat dezvoltrile pn n aprilie 1974 i au lansat pe pia microprocesorul de 8 bii sub numele de 8080 ce putea adresa 64Kb de memorie i avea 75 de instruciuni, iar preul ncepuse de la 360$. Apare deja concurena astfel c, o alt companie american Motorola, lanseaz pe pia un microprocesor de 8 bii 6800, i pe lng microprocesorul propriu-zis, Motorola a fost prima companie care a fcut i alte periferice cum ar fi 6820 i 6850. La acel timp multe companii cum ar fi MOS Technology au recunoscut marea importan a microprocesoarelor i au nceput propriile lor dezvoltri, continund s lucreze intensiv la dezvoltarea acestora, aa c la expoziia WESCON din Statele Unite din 1975 a avut loc un eveniment critic n istoria microprocesoarelor, MOS Technology anunnd c produce microprocesoarele 6501 i 6502 (6502 este un microcontroler pe 8 bii cu 56 de instruciuni i o capabilitate de adresare direct de 64Kb de memorie) la preul de 25$ bucata, pe care cumprtorii le puteau cumpra imediat. Preul sczut a avut un impact senzaional i astfel ca un rspuns la concuren, att INTEL ct i Motorola au sczut preurile lor n prima zi a expoziiei pn la 69.95$ pe microprocesor. Datorit costului sczut, 6502 devine foarte popular, i este instalat n computere ca :KIM-1, Apple I, Apple II, Atari, Comodore, Acorn, Oric, Galeb, Orao, Ultra i multe altele. n 1976 Zilog anun apariia lui Z80, un microprocesor mai puternic dect cele aprute pn acum, care putea adresa direct 64Kb de memorie, avea 176 instruciuni, o singur surs, i vitez de lucru mult mai mare. Z80 a reprezentat o relevaie n acest domeniu, toat lumea facnd conversia de la 8080 la Z80 i din acest moment Z80 devine cel mai de

succes microcontroler de 8 bii a acelui timp, fiind inima a multor computere ca : Spectrum, Partner, TRS703, Z-3 i Galaxi. n 1976, INTEL iese pe pia cu o versiune mbuntit de microprocesor pe 8 bii numit 8085, dar tot Z80 era mai bun, astfel nct INTEL pierde monopolul pieii. n ciuda apariiei pe pia a mai multor tipuri de microprocesoare (6809,2650,SC/MP Mostek, NEC, SHARP i SGS etc.), un fapt era deja hotrt: nu mai erau de fcut mbuntiri importante ca s-i determine pe productori s se reorienteze spre ceva mai nou, aa c 6502 i Z80 mpreun cu 6800 au rmas ca cei mai reprezentativi ai microprocesoarelor de 8 bii a acelui timp.

1. Introducere
1.1 Ce este un microcontroler ?

La modul general un controler (controller termen de origine anglo-saxon, cu un domeniu de cuprindere foarte larg) este o structur electronic destinat controlului unui proces sau unei caracteristici a mediului exterior, fr s fie necesar intervenia operatorului uman. Un microcontroler este un "calculator pe un chip". Cuvntul "micro" sugereaz mrimea redus a dispozitivului iar "controler" ne spune c dispozitivul poate fi folosit pentru a controla obicte, procese sau evenimente. Microcontrolerele pot fi gsite in componenta oricarui tip de aparat. Orice aparat care masoar, stocheaz, comand, calculeaz sau afiseaz informaii este o potential gazd pentru un microcontroler. De exemplu orice automobil fabricat astzi este echipat cu cel puin un microcontroler care comand motorul mainii i adesea chiar cu mai multe pentru comanda sistemelor adiionale din automobil. In calculatoarele de birou (PC) se pot gsi microcontrolere in tastatur, modemuri, imprimante i alte periferice. In echipamentele de testare fac posibil adugarea unor faciliti ca de exemplu memorarea rezultatelor msurrii, afiarea mesajelor i formelor de und. Produsele de larg consum care includ microcontrolere sunt camerele video, video-recorderele, compact-disk (CD) playere i altele. Circumstanele n care ne gsim astzi n domeniul microcontrolerelor i-au avut nceputurile n dezvoltarea tehnologiei circuitelor integrate. Aceast dezvoltare a fcut posibil nmagazinarea a sute de mii de tranzistoare ntr-un singur cip. Aceasta a fost un prerechizit pentru producia de microprocesoare, i primele computere au fost fcute prin adugarea perifericelor ca memorie, linii intrare-ieire, timeri i altele. Urmtoarea cretere a volumului capsulei a dus la crearea circuitelor integrate. Aceste circuite integrate conin att procesorul ct i perifericele. Aa s-a ntmplat cum primul cip coninnd un microcomputer, sau ce va deveni cunoscut mai trziu ca microcontroler a luat fiin. Un microcontroler este similar unui microprocesor. Ambele conin o unitate central de prelucrare sau UCP (central processing unit). UCP execut instruciuni care ndeplinesc operaiile de baz logice, matematice i de transport a informaiei. Pentru a construi un calculator complet, microprocesorul necesit memorie pentru pstrarea datelor i programelor, interfee de intrare-iesire (I/O) pentru conectarea dispozitivelor externe cum ar fi tastatura sau monitorul. Spre diferen de microprocesor, microcontrolerul este un calculator pe un chip deorece el conine i memorie i interfee de intrare-iesire pe lng CPU. Deoarece memoria i interfeele care ncap pe un chip sunt limitate, microcontrolerele tind s fie utilizate n sisteme mai mici care necesit doar un microcontroler i cteva elemente adiionale. Resursele integrate la nivelul microcircuitului trebuie s includ cel puin urmtoarele componente: o unitate central (CPU), o memorie local tip RAM i eventual una de tip ROM/ PROM / EPROM, I/O intrri/ ieiri numerice (paralele i seriale), timere (temporizatoare), numrtoare, un sistem de ntreruperi. Este posibil ca la acestea s fie adugate, la un pre de cost avantajos, caracteristici

specifice sarcinii de control care trebuie ndeplinite. Un microcontroler tipic mai are faciliti de prelucrare la nivel de bit, de acces direct i uor la intrri/ieiri i un mecanism de prelucrare a ntreruperilor rapid i eficient. OBS. 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, elemente pentru realizarea izolrii galvanice, elemente de comutaie de putere (electromecanice sau statice). 1.2 Variante constructive Exist la ora actual un numr foarte 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, sau 32 de bii. Nu este obligatoriu ca dimensiunea cuvntului de date s fi egal cu dimensiunea unui cuvnt main. Exist i multe variante zise dedicate (specializate prin intermediul codului preprogramat i al resurselor hard) pentru comunicaie, controlul tastaturilor, controlul aparaturii audiovideo, prelucrarea numeric a semnalului, etc 1.3 Tehnologii de fabricaie Practic cea mai mare parte a microcontrolerelor se realizeaz la ora actual n tehnologie CMOS (tehnologii similare seriilor standard CMOS de circuite numerice HC, AC, ALV). Se pot realiza astfel structuri cu un consum redus (care 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 i variante pentru domeniu extins al temperaturii de funcionare (de exemplu 40 +85 C) Exist diverse variante de ncapsulare (plastic i mai rar ceramic), multe destinate montrii pe suprafa (SMT) : DIP (de la 8 la 68 pini), SOIC, PLCC, PQFP, TQFP (> 100 pini), etc

2. Unitatea de memorie UM
2.1 Mod de funcionare Unitatea de memorie este acea parte a microcontrolerului care are funcia de a nmagazina informaia sub form de date i de a o face accesibil (operaie denumit Citire) atunci cnd se dorete acest lucru. Pentru a explica i a nelege mai uor funcionarera acestui bloc, putem s-l comparm i s-l descriem ca fiind un dulap cu mai multe sertare. Introducnd conceptul de locaie de memorie i atribuind sertarelor aceast denumire, fiecare locaie de memorie avnd cte o valoare numerotat de la 0 15 n aa fel nct s nu fie confundate, oricare din coninuturile locaiilor de memorie (sertarelor) vor fi atunci uor accesibile. Pentru a realiza aceast accesibilitate introducem al doilea concept nou numit adresare care poate fi definit ca fiind operaia de selectare sau desemnare a unei locaii de memorie.

OBS. Trebuie menionat faptul c adresarea nu se face la ntmplare, ea se efectueaz n conformitate cu un cod de adres care este unic, aceasta nseamn c fiecrei locaii de memorie i este alocat codul corespunztor de selecie. Este suficient s se tie desemnarea sertarului (codul de adres corespunztor unei locaii de memorie) i astfel coninuturile locaiei se vor face cunoscute n mod sigur.

Pentru un anumit cod de adres aplicat la intrarea Adrese (vezi figura) obinem la ieirea Date, coninutul sub form de date a unei anumite locaii de memorie adresate. Se poate spune deci c memoria este alctuit din toate locaiile de memorie i adresarea nu este altceva dect alegerea uneia din ele. Aceasta nseamn trebuie selectat locaia de memorie la un capt, i la cellalt capt trebuie s ateptm coninutul sub form de date ale acelei locaii, adic s-a efectuat operaia de Citire a locaiei respective. n afar de citirea dintr-o locaie de memorie, memoria trebuie de asemenea s permit Scrierea n ea (remprosptarea). Aceasta se face cu ajutorul unei linii adiionale numit linie de control. Vom desemna aceast linie ca W/R (scrie /citete). Linia de control este folosit n urmtorul fel : dac W/R=1, se face citirea, i dac W/R=0 atunci atunci se face scrierea n locaia de memorie. 2.2 Variante de realizare a memoriei locale n afar de memoria local de tip RAM, de dimensiuni relativ reduse (x10 octei la x1Koctei), implementat ca atare sau 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.

a. EEPROM - multe microcontrolere au i o memorie de acest tip, de dimensiune limitat, destinat memorrii unui numr limitat de parametrii (memorie de date) care eventual trebuie modificai din timp n timp i este o memorie relativ lent cu un numr limitat (uzual mic) de cicluri de scriere/citire. b. FLASH EPROM - este o soluie mai bun dect EEPROMul atunci cnd este necesar un volum mare de memorie program (nevolatil) mai rapid i cu un numr garantat mai mare de cicluri scriere/cirire; este utilizat numai ca memorie de program. a. NOVRAM - Realizat prin alimentarea local (baterie, acumulator) a unui masiv RAM CMOS atunci cnd este necesar un volum mare de memorie de program i de date nevolatil; mult mai rapid dect toate celelalte tipuri i fr limitri ca numr de cicluri. Programarea IN SISTEM (ISP) - Folosirea unor memorii nevolatile de tip FLASH face posibil programarea unui astfel de microcontroler fr a-l scoate din sistemul n care este ncorporat (on-line, In System Programming); programarea se face prin intermediul unei interfee seriale i este posibil astfel modificarea codului program sau a unor constante de lucru (local sau de la distan).

d.

e. OTP (ON 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 tergere (deci i mai ieftine); 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 variante (mask) ROM propriu-zise, cele mai economice pentru o producie de mas. f. PROTEJAREA CODULUI - Protejarea codului program dintr-o memorie local nevolatil mpotriva - accesului neautorizat (copierea codului, a aplicaiei, REVERSE - ENGINEERING) este oferit ca o opiune, ea mai trebuind s fie i folosit la variantele EPROM sau OTP. La variantele cu ROM propriu-zis ea este de multe ori implicit.

3. Unitatea central de procesare CPU


3.1 Rol i funcionalitate Este blocul din componena unui microcontroler capabil s acioneze asupra coninutului (datelor) uneia sau mai multor locaii coninute n unitatea de memorie UM, specializat pe operaii (de adunare, nmulire, mprire, extragere i reintroducere) de date, care poate s depoziteze datele atta timp ct asupra acestora se efectueaz operaii. In urma efecturii acestor operaii se va depune napoi n unitatea de memorie, (n locatiile de memorie) rezultatul operaiilor efectuate (un nou coninut de date). Deci putem spune c acest bloc lucreaz direct cu unitatea de memorie, poate accesa (prin operaia de Adresare) i prelua datele (prin operaia de Citire), din fiecare

locaie de memorie din cadrul UM, le depune n regitrii si (care sunt de fapt tot locaii de memorie altele dect cele din UM). Aici are loc prelucrarea asupra datelor corespunztor operaiei specificate (impuse) de program (Mutarea coninutului dintr-un registru n altul), finaliznd prin a depune rezultatul napoi n locaiile de memorie din cadrul UM (prin operaia de Scriere). Partea pe care tocmai am adugat-o este numit "unitatea de procesare central" (CPU). Locaiile ei de memorie sunt numite regitri.

Deci concluzionnd, regitrii sunt locaii de memorie a cror rol este de a ajuta prin prelucrarea i executarea a variate operaii matematice sau a altor operaii cu date oriunde se vor fi gsit datele in cadrul UM. 3.2 Caracteristici arhitecturale Arhitectura unitii centrale de calcul (CPU) este unul din elementele cele mai importante care trebuie avut in vedere n analiza oricrui sistem de calcul. Principalele concepte luate n considerare sunt urmtoarele: a. Arhitecturile de tip von Neumann Microcontrolerele bazate pe aceast arhitectur sunt caracterizate 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 prelucrarea (fetch) instruciunilor i datelor; efectuarea celor dou operaii separate, n mod secvenial avnd ca efect ncetinirea operaiilor. Este arhitectura standard pentru microprocesoarele de uz general. b. Arhitecturile de tip Harvard La aceast arhitectur exist spaii de memorie separate pentru program i date n consecin exist i magistrale separate pentru instruciuni i date. Exist astfel posibilitatea execuiei cvasiparalele (suprapunerii) a celor dou operaii menionate. Codul unei instrunciuni 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 PIPE LINE (acest termen va fi prezentat ntr-un articol viitor). Este arhitectura standard pentru procesoarele numerice de semnal (DSP).

c. CISC Aproape toate microcontrolerele au la baza realizrii CPU conceptul CISC (Complex Instruction Set Computer). Aceasta nseamn un set 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 regitrii, altele permit numai anumite moduri de adresare, etc.. Pentru programatorul n limbaj de asamblare exist unele avantaje prin utilizarea unei singure instrunciuni complexe n locul mai multor instruciuni simple (analog macro-instruciunilor clasice). d. RISC RISC (Reduced Instruction Set Computer) este un concept de realizare a CPU care a nceput s fie utilizat cu succes i la realizarea microcontrolerelor. Prin implementarea unui set redus de instruciuni care se pot efectua foarte rapid, se obine o reducere a complexitii microcircuitului, suprafaa disponibilizat poate astfel s fie utilizat n alte scopuri. Printre caracteristicile asociate de obicei unui CPU RISC se pot meniona: -arhitectur Harvard -vitez sporit de execuie prin implementarea unui PIPELine pentru instruciuni -set de instructiuni ortogonal (simetric): fiecare instruciune opereaz cu orice spaiu de adrese (memorie) sau registru, instructiunile nu prezint combinaii speciale, excepii, restricii sau efecte colaterale. Obs. Dac revenim la situia curent, rezult deci c avem dou entiti independente (memoria i CPU) ce sunt interconectate, i astfel orice schimb de informaii este ascuns, ca i funcionalitatea sa. Dac, de exemplu, dorim s adunm coninuturile a dou locaii de memorie i ntoarcem rezultatul napoi n memorie, vom avea nevoie de o conexiune ntre memoria UM i CPU. Mai simplu formulat, trebuie s avem o anumit "cale" prin care datele circul de la un bloc la altul.

4. Bus-ul Magistrala de date i adrese


4.1 Rol i funcionalitate Aceast cale este numit "bus"-magistral. Din punct de vedere fizic, el reprezint un grup de 8, 16, sau mai multe fire (panglic de fire speciale care permit transmisia de date la anumite viteze impuse). Exist dou tipuri de bus-uri : bus de adres sau magistral de adrese (pe care circul semnale sub form de cod de adrese care adreseaz UM) bus de date sau magistral de date (pe care circul datele preluate din UM i urmeaz a fi depuse n regitrii CPU spre a fi prelucrate i nu numai att.) 4.2 Magistrala de adrese Este alctuit din attea linii ct este cantitatea de memorie i servete la transmiterea adreselor de la CPU la memorie, practic indic de unde trebuie preluate datele, unde trebuie trimise i adresa instruciunilor care trebuie executate.

4.3 Magistrala de date Transport informaia supus prelucrrii i este att de lat ct sunt cuvintele de date 8, 16, sau 32 bii (n cazul nostru 8 bii) sau ct este linia de conectare servind totodat la conectarea tuturor blocurilor din interiorul microcontrolerului. Din momentul de fa putem avea o viziune clar asupra modului de interconectare i funcionare al celor dou entiti privite ca blocuri componente din cadrul microcontrolerului deci putem introduce noiunea de funcionalitate ca parametru fictiv al microsistemului care a luat natere prin prezentarea acestora.

5. Unitatea intrare-ieire
5.1 Rol i funcionalitate n ceea ce privete funcionalitatea, situaia s-a mbuntit, dar o nou problem a aprut de asemenea: avem o unitate ce este capabil s lucreze singur, care nu are nici un contact cu lumea de afar, sau cu noi ! Pentru a nltura aceast deficien, s adugm un bloc ce conine cteva locaii de memorie a cror singur capt este conectat la busul de date, iar cellat are conexiune cu liniile de ieire la microcontroler ce pot fi vzute cu ochiul liber ca pini la componenta electronic. Aceste locaii care tocmai le-am adugat sunt numite "pori". Sunt diferite tipuri de pori: intrare, ieire sau pori pe dou-ci. Cnd se lucreaz cu pori, mai nti de toate este necesar s se aleag cu ce port urmeaz s se lucreze, i apoi s se trimit, sau s se ia date de la port. n timpul accesrii, portul se comport ca o locaie de memorie, unde ceva este pur i simplu scris n el sau citit din el, i este posibil de a remarca uor aceasta la pinii microcontrolerului.

Toate microcontrolerele au de un numr oarecare de intrri/ieiri numerice ( x1...x10). Conexiunile exterioare sunt bidirecionale sau unidirecionale, unele sunt multifuncionale (se ofer funcii alternative pe acelai pin), altele pot avea o capacitate sporit de a absorbi curent (de ex. pentru comanda direct a unui LED).

5.2 Tipuri reprezentative de porturi n afar de acestea pentru interfaa cu mediul exterior se ofer o serie de alte faciliti cum ar fi : a. UART (UNIVERSAL ASYNCHRONOUS RECEIVER TRANSMITTER) Este un port serial bidirecional destinat implementrii unui protocol clasic de comunicaie asincron; USART ( UNIVERSAL SYNCHRONOUS RECEIVER TRANSMITTER ) Este un port similar cu cele cunoscute, dar care permite implementarea i a unui protocol sincron cu obinerea unor viteze mai mari de comunucaie. b. PORTURI SERIALE SINCRONE DEDICATE Sunt destinate transferului serial de date de mare vitez cu unele periferice specializate (sisteme de afiare, convertoare analog numerice,etc) sau permit conectarea ntr-o reea de comunicaie simpl. Implic i implementarea unor protocoale mai mult sau mai puin complexe de transfer al informaiei. Exist cteva implementri rspndite (prezentate n ordinea cresctoare a complexitii): - SPI (Serial Peripheral Interface) Este un port serial sincron i SCI (serial comunications interface) un circuit de tip UART imbuntit, definite si utilizate de fima Motorola - Microwire / Plus Este o interfa serial bidirecional sincron utilizat de firma National Semiconductor. - I2C (Inter Integrated Circuits bus) Este o interfa serial bidirecional (pe doua fire) , dezvoltat de firma Philips, destinat aplicaiilor de 8 biti . Exist i multe circuite periferice care sunt prevzute cu o astfel de interfa. - CAN (Controller Area Network) Sunt standarde de comunicaie serial utilizate in industria de automobile, permind interconectarea ntr-o reea a diverselor componente inteligente (senzori, elemente de execuie, etc.) folosite ntr-un automobil modern.

6. Comunicaia serial
S-ar prea la prima vedere c este rezolvat posibilitatea comunicrii cu lumea de afar dar, n ciuda acestui fapt, acest mod de comunicare are neajunsurile sale. Unul din acestea este numrul de linii ce trebuie s fie folosite pentru a transfera datele. S punem urmtoarea problem: Ce s-ar ntmpla dac acestea ar trebui transferate la distan de civa kilometri? Numrul de linii i numrul de kilometri nu promite costuri eficiente pentru proiect. Nu ne rmne dect s reducem numrul de linii n aa fel nct s nu afectm funcionalitatea. S presupunem c lucrm doar cu 3 linii, i c o linie este folosit pentru trimiterea de date, alta pentru recepie i a treia este folosit ca o linie de referin att pentru partea de intrare ct i pentru partea de ieire. Pentru ca aceasta s funcioneze, trebuie s stabilim regulile de schimb ale datelor. Aceste reguli sunt numite protocol. De aceea protocolul este definit n avans ca s nu fie nici o nenelegere ntre prile ce comunic una cu alta. De exemplu, dac un om vorbete n francez, i altul vorbete n englez, este puin probabil c ei se vor nelege repede i eficient unul cu altul. S presupunem c avem urmtorul protocol. Unitatea logic "1" este setat pe linia de transmisie pn ce ncepe transferul. Odat ce ncepe transferul, coborm linia de transmisie la "0" logic pentru o perioad de timp (pe care o vom desemna ca T), aa c partea receptoare va ti c sunt date de primit, astfel c va activa mecanismul ei de recepie. S ne ntoarcem acum la partea de transmisie i s ncepem s punem zero-uri i unuuri pe linia de transmisie n ordinea de la bitul cel mai puin semnificativ (LSB) la bitul cel mai mult semnificativ (MSB). S lsm ca fiecare bit s rmn pe linie pentru o perioad de timp egal cu T, i la sfrit, sau dup al 8-lea bit, s aducem unitatea logic "1" napoi pe linie ce va marca sfritul transmisiei unei date. Protocolul ce tocmai l-am descris este numit n literatura profesional NRZ (Non-Return to Zero).

Pentru c avem linii separate de recepie i de transmitere, este posibil s recepionm i s transmitem date (informaii) n acelai timp. Blocul ce permite acest mod de comunicare este numit blocul de comunicaie serial. Spre deosebire de transmisia paralel, datele sunt mutate aici bit cu bit, sau ntr-o serie de bii, de unde vine i numele de comunicaie serial. Dup recepia de date trebuie s le citim din locaia de transmisie i s le nmagazinm n memorie n mod opus transmiterii unde procesul este invers. Datele circul din memorie prin bus ctre locaia de trimitere, i de acolo ctre unitatea de recepie conform protocolului.

7. Unitatea de timer
Odat rezolvat problema comunicaiei seriale, putem recepiona, trimite i procesa date.

Totui, ca s l putem utiliza, n special n industrie, mai avem nevoie de cteva blocuri. Unul din acestea este blocul de timer care este important pentru noi pentru c ne d informaia de timp, durat, protocol etc. Unitatea de baz a timer-ului este un contor liber care este de fapt un registru a crui valoare numeric crete cu intervale de timp egale, aa nct lundu-i valoarea dup intervalele T1 i T2 i pe baza diferenei lor s putem determina ct timp a trecut. Acesta este o parte foarte important a microcontrolerului a crui control necesit cea mai mare parte a timpului nostru.

8. Watchdog-ul
nc un lucru ce necesit atenia noastr este funcionarea fr defecte a microcontrolerului n timpul funcionrii. S presupunem c urmare a unei anumite interferene (ce adesea se ntmpl n industrie) microcontrolerul nostru se oprete din executarea programului, sau i mai ru, ncepe s funcioneze incorect.

Bineneles, cnd aceasta se ntmpl cu un computer, l resetm pur i simplu i va continua s lucreze. Totui, nu exist buton de resetare pe care s apsm n cazul microcontrolerului care s rezolve astfel problema noastr. Pentru a depi acest obstacol, avem nevoie de a introduce nc un bloc numit watchdog-cinele de paz. Acest bloc este de fapt un alt contor liber unde programul nostru are nevoie s scrie un zero ori de cte ori se execut corect. n caz c programul se "nepenete", nu se va mai scrie zero, iar contorul se va reseta singur pn la obinerea valorii sale maxime. Aceasta va duce la rularea programului din nou, i corect de aceast dat pe toat durata. Acesta este un element important al fiecrui program ce trebuie s fie fiabil fr supravegherea omului.

9. Convertorul Analog-Digital
Pentru c semnalele de la periferice sunt substanial diferite de cele pe care le poate nelege (zero i unu), ele trebuie convertite ntr-un mod care s fie neles de microcontroler. Aceast sarcin este ndeplinit de un bloc pentru conversia analog-digital sau de un convertor AD. Acest bloc este responsabil pentru convertirea unei informaii privind o anumit valoare analog ntr-un numr binar i pentru a o urmri pe tot parcursul la un bloc CPU n aa fel ca blocul CPU s o poat procesa.

Convertoarele utilizate fac parte de regul dintr-un sistem de achiziie de date, existnd i un multiplexor analogic cu mai multe canale. Rezoluia disponibil este de 8 sau 10 bii cu precizia corespunztoare numai pentru 8 (9) bii, pentru mrime de intrare unipolar. Referina utilizat este extern. Timpul minim de conversie obtenabil este n plaja x1 s x10 s. Exist microcontrolere care utilizeaz tehnici de (re)calibrare pentru mrimea i/sau meninerea preciziei. Tehnicile de conversie utilizate sunt: aproximaii succesive (majoritatea) cu eantionare implicit sau ramp digital. Exist i subsisteme locale care, n cazul cnd sunt prezente, pot fi folosite pentru implementarea unor alte tehnici de conversie (cu utilizarea unui numr minim de componente exterioare): numrtoare de impulsuri, circuite comparatoare (analogice, standard), intrri de captare (foreaz memorarea captarea valorii unui numrtor care numr liber n momentul activrii, permind msurarea intervalelor de timp sau frecvenelor, etc. Obs. n ultimul timp au aprut i variante de CAN cu rezoluii mari i foarte mari realizate n tehnica sigma-delta. Realizrile respective sunt mai degrab un CAN cu microcontroler (firma Analog Device ofer un nucleu de 8051 plus un CAN sigma-delta cu rezoluii pn la 24 bii!) Convertoare NUMERIC ANALOGICE (CNA) Practic singura tehnic de conversie numeric analogic care poate fi folosit este bazat pe modulaia factorului de umplere (PWM). Exist unul sau mai multe canale pe care se poate genera un tren de impulsuri cu factor de umplere programabil (0 -100%). Eventual n acest scop se poate utiliza i sistemul de timere/numrtoare. Printr-o filtrare de tip trece jos, exterioar, se poate obine o tensiune proporional cu factorul de umplere.

10. Cofiguraia fizic a interiorului unui microcontroler


Astfel microcontrolerul este acum terminat, i tot ce mai rmne de fcut este de a-l pune ntr-o component electronic unde va accesa blocurile interioare prin pinii acestei componente. Imaginile de mai jos ne sugereaz cum arat un microcontroler la exterior i n interior.

Liniile subiri ce merg din interior ctre prile microcontrlerului reprezint fire conectnd blocurile interioare cu pinii capsulei microcontrolerului.

10. Structura intern i elemente componente de baz

Das könnte Ihnen auch gefallen