You are on page 1of 16

La modul general un controler este, actualmente, o structur electronic destinat controlului unui proces sau, mai general, unei

interaciuni caracteristice cu mediul exterior, fr s fie necesar intervenia operatorului uman.

Resursele integrate la nivelul microcircuitului ar trebui s includ, cel puin, urmtoarele componente: 1. o unitate central (CPU), cu un oscilator intern pentru ceasul de sistem 2. o memorie local tip R !"PR !"#PR !"$L%&' (i eventual una de tip R%! 3. un sistem de )ntreruperi 4 . *" + intrri"ie(iri numerice 5. un port serial de tip asincron (i"sau sincron, programa,il 6. un sistem de timere+tempori-atoare"numrtoare programa,ile #ste posi,il ca la acestea s fie adugate, la un pre de cost avanta.os, caracteristici specifice sarcinii de control care tre,uie )ndeplinite: 7. un sistem de conversie analog numeric(una sau mai multe intrari analogice) 8 . un sistem de conversie numeric analogic (i"sau ie(iri P/! (cu modulare )n durat) 9 . un comparator analogic 10 . o memorie de date nevolatil de tip ##PR ! 11 . faciliti suplimentare pentru sistemul de tempori-are"numrare (captare (i comparare) 12. un ceas de gard (timer de tip 0atc1dog) 13. un R2C(Real 2ime Cloc3 4 ceas,data,calendar) 14. alte protocoale de transmisie seriala sau paralela (*5C , &P* , 6/*R# , C%7...) 15 . faciliti pentru optimi-area consumului propriu
Un microcontroler tipic mai are, la nivelul unitii centrale, faciliti de prelucrare a informaiei la nivel de ,it, de acces direct (i u(or la intrri"ie(iri (i un mecanism de prelucrare a intreruperilor rapid si eficient. Utilizarea unui microcontroler constituie o soluie dramatic numrul com onentelor electronice dez"oltrii unui rodus. #$%&'()*+& Utili-area unui microcontroler, oric8t de evoluat, nu elimin unele componente ale interfeei cu mediul exterior (atunci c8nd ele sunt c1iar necesare): su,sisteme de prelucrare analogic (amplificare, redresare, filtrare, protecie+limitare), elemente pentru reali-area i-olrii galvanice (optocuploare, transformatoare), elemente de comutaie de putere (tran-istoare de putere, relee electromecanice sau statice). rin care se oate reduce recum !i costul roiectrii !i al

&,&-./U 0 )1-&2)162 3a sula cu s eci4icatii entru 4iecare .+5, #$% 0 multi pini ai microcontrollerului au mai multe utili-ari si resursele respective se folosesc numai pentru o anumita functionalitate

U56& %U51 U1+/+7)1& -+3'#3#51'#/&'&/&8 2oate aplicaiile )n care se utili-ea- microcontrolere fac parte din categoria a(a -iselor sisteme )ncapsulate+integrate (9em,edded s:stems;), la care existena unui sistem de calcul incorporat este (aproape) transparent pentru utili-ator. Printre multele domenii unde utili-area lor este practic un standard industrial se pot meniona: )n industria de automo,ile (controlul aprinderii"motorului, climati-are, diagno-, sisteme de alarm, etc.), )n a(a -isa electronic de consum (sisteme audio, televi-oare, camere video (i videocasetofoane, telefonie mo,il, <P&+uri, .ocuri electronice, etc.), )n aparatura electrocasnic (ma(ini de splat, frigidere, cuptoare cu microunde, aspiratoare), )n controlul mediului (i climati-are (sere, locuine, 1ale industriale), )n industria aerospaial, )n mi.loacele moderne de msurare + instrumentaie (aparate de msur, sen-ori (i traductoare inteligente), la reali-area de periferice pentru calculatoare, )n medicin. #xist 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) cuv8ntului de date. $uncie de puterea de calcul dorit (i de alte caracteristici se pot alege variante av8nd dimensiunea cuv8ntului de date de =, >,6? sau @5 de ,ii (exist c1iar (i variante de ?= de ,iiA). 7u este o,ligatoriu ca dimensiunea cuv8ntului de date s fie egal cu dimensiunea unui cuv8nt ma(in (cuv8nt program). #xist (i multe variante -ise dedicate, neprograma,ile de utili-ator la nivel de cod ma(in, strict speciali-ate pe o anumit aplicaie, prin intermediul codului preprogramat (i al resurselor 1ard0are, utili-ate pentru comunicaii, controlul tastaturilor, controlul aparaturii audio"video, prelucrarea numeric a semnalului, etc. Practic, toate microcontrolerele se reali-ea- la ora actual )n te1nologie C! &. &e pot reali-a astfel structuri cu o mare densitate de integrare, cu un consum redus (care va depinde de frecvena de lucru).Logica intern este static (total sau )n cea mai mare parte) permi8nd astfel, )n anumite condiii, mic(orarea frecvenei de ceas sau c1iar oprirea ceasului )n ideea optimi-rii consumului. 2e1nologia este caracteri-at (i de o imunitate mai mare la pertur,aii, esenial )ntr+un mare numr de aplicaii specifice. &e reali-ea- variante pentru domeniu extins al temperaturii de funcionare (de ex.+ =B la C6@D C). #xist foarte multe variante de )ncapsulare (capsule de plastic (i mai rar de ceramic),multe din ele destinate montrii pe suprafa (&!E): & *C, PLCC, PF$P, 2F$P (x6BBpini), etc., dar (i variante clasice cu pini tip E*P"E*L (tipic de la > la ?> pini).

3)')31&'+%1+3+ )'9+1&31U')/& )/& U5+1:*++ 3&51')/& %r1itectura unitii centrale de calcul (CPU) este unul din elementele cele mai importante care tre,uie avut )n vedere )n anali-a oricrui sistem de calcul. Principalele concepte luate )n considerare (i )nt8lnite aici sunt urmtoarele:

a. )r;itecturi de ti < "on 5eumann < Cele mai multe microcontrolere sunt reali-ate pe ,a-a acestei ar1itecturi de sistem. !icrocontrolerele ,a-ate pe aceast ar1itectur au o unitate central (CPU) caracteri-at de existena unui singur spaiu de memorie utili-at pentru memorarea at8t a codului instruciunilor c8t (i a datelor ce fac o,iectul prelucrrii. #xist deci o singur magistral intern (,us) care este folosit pentru preluarea a instruciunilor (fetc1 opcod) (i a datelorG efectuarea celor dou operaii separate, )n mod secvenial, are ca efect, cel puin principial, )ncetinirea operaiilor. #ste ar1itectura standard (cea mai des )nt8lnit) (i pentru microprocesoarele de u- general. 1ttp:""en.0i3ipedia.org"0i3i"HonI7eumannI,ottlenec3

b. )r;itecturi de ti < 9ar"ard < La aceast ar1itectur exist spaii de memorie separate pentru program (i date. Jn consecin ar tre,ui s existe (i magistrale separate (de adrese (i date) pentru codul instruciunilor (i respectiv pentru date. Principial exist astfel posi,ilitatea execuiei cvasiparalele (suprapunerii) a celor dou operaii menionate anterior. Codul unei instruciuni poate fi preluat din memorie )n timp ce se execut operaiile cu datele aferente instruciunii anterioare. #ste posi,il (cel puin teoretic) o execuie mai rapid, pe seama unei complexiti sporite a microcircuitului, mai ales atunci c8nd exist (i un pipeline. #ste ar1itectura standardpentru procesoarele numerice de semnal (E&P). Eatorit costului mare al implementrii uneiastfel de ar1itecturi, )n ca-ul microcontrolerelor se )nt8lne(te mai ales o ar1itectur'arvard modificat, cu spaii de memorie separate pentru program (i date, dar cu magistrale comune pentru adrese (i date. 1ttp:""en.0i3ipedia.org"0i3i"'arvardIarc1itecture

c. 3+%3 %proape toate microcontrolerele au la ,a-a reali-rii CPU conceptul C*&C (Complex Instruction Set Computer ). %ceasta )nseamn un set u-ual de peste >B instruciuni, multe din ele foarte puternice (i speciali-ate. Ee o,icei multe din aceste instruciuni sunt foarte diferite )ntre ele: unele operea- numai cu anumite spaii de adrese sau registre, altele permit numai anumite moduri de adresare, etc. Pentru programatorul )n lim,a. de asam,lare exist unele avanta.e prin utili-area unei singure instruciuni complexe )n locul mai multor instruciuni simple (analog macroinstruciunilor clasice dintr+un lim,a. de asam,lare) . 1ttp:""en.0i3ipedia.org"0i3i"C*&C

d. '+%3 R*&C (Reduced Instruction Set Computer) este un concept de reali-are a CPU care a )nceput s fie utili-at cu succes de ceva timp (i la reali-area microcontrolerelor. Prin implementarea unui set redus de instruciuni care se pot executa foarte rapid (i eficient, se o,ine o reducere a complexitii microcircuitului, suprafaa disponi,ili-at put8nd fi utili-at )n alte scopuri. Printre caracteristicile asociate de o,icei unui CPU R*&C se pot meniona: + ar1itectur 'arvard modificat sau von 7eumann + vite- sporit de execuie prin implementarea unui pipeline pentru instruciuni + set de instruciuni ortogonal (simetric): orice instruciune operea- cu orice spaiu de adrese (de memorie) sau orice registru, instruciunile nu pre-int com,inaii speciale, excepii, restricii sau efecte colaterale. 1ttp:""en.0i3ipedia.org"0i3i"R*&C Comparare intre C*R& si R*&C: 1ttp:""en.0i3ipedia.org"0i3i"R*&CvsC*&C un vot interesant : 1ttp:""000.xtrempc.ro"forum"vie0topic.p1pK tL@5>6@Mvie0LnextMsidL665feN?N=?>@fBce?N?c?dD66@@?dOea

)%.&31& /&2)1& 6& -&-#'+) -+3'#3#51'#/&'&/#' Jn afar de memoria local de tip R%!, de dimensiuni relativ reduse (de la x6B octei la x63), implementat ca atare sau existent su, forma unui set de registre (i destinat memorrii datelor (varia,ilelor), mai exist o serie de aspecte specifice, marea ma.oritate a acestora fiind legat de implementarea fi-ic a memoriei de program ((i eventual a unei pri a memoriei de date) cu a.utorul unor memorii nevolatile. Clasic, memoria de program era implementat )ntr+o variant de tip R ! : #PR ! pentru de-voltare (i producie pe scar mic"medie sau mas3+R ! 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. #1. = ma.oritatea productorilor ofer variante de microcontrolere la care memoria local de program este de tip 2P ( ne 2ime Programma,le), practic o memorie PR ! identic intern cu varianta #PR !, dar fr fereastra de cuar pentru (tergere (deci (i mai ieftine)G aceste variante pot fi utili-ate ca o alternativ pentru o producie limitat, p8n )n momentul testrii (i validrii finale a codului, moment )n care pot fi comandate variantele (mas3) R ! propriu+-ise, cele mai economice pentru o producie de mas b. >/)%9 &.'#- + este o soluie mai ,un dec8t #PR !+ul propriu+-is atunci c8nd este necesar un volum mare de memorie program (nevolatil)G mai rapid (i cu un numr garantat suficient de mare (x6BBBB) de cicluri de programare (de (tergere"scriere), este caracteri-at (i prin modaliti mai flexi,ile de programareG este utili-at numai ca memorie de program. c. &&.'#- + multe microcontrolere au (i o memorie de acest tip, de dimensiune limitat (de la x6B octei la x P octei), destinat memorrii unui numr limitat de parametrii ( memorie de date ) care eventual tre,uie modificai din timp )n timpG este o memorie relativ lent (la scriere), dar cu un numr de cicluri de (tergere"scriere mai mare ca $L%&'+ul

d. 5#(')- (R%! nevolatil) + reali-at prin alimentarea local (,aterie, acumulator) a unui masiv R%! C! & atunci c8nd este necesar un volum mare de memorie de program (i date nevolatilG mult mai rapid dec8t toate celelalte tipuri (i fr limitri ca numr de cicluri.

e. -emoria e?tern de ro@ram sau date. !area ma.oritate a familiilor de microcontrolere permit si utili-area de memorie extern de program (tipic R !) sau date (tipic R%!). %ceasta presupune existenta si utili-area unor ma@istrale e?terne de adrese si date . Conexiunile externe necesare pentru acestea sunt disponi,ile ca funcii alternative ale pinilor. Ein pcate, in aceast situaie numrul de conexiuni exterioare disponi,ile pentru interfaa cu exteriorul se reduce dramatic, reduc8nd mult din versatilitatea microcontrolerului. !ai mult la variantele constructive cu un numr mic de pini (conexiuni externe) nu este posi,il utili-area de memorie extern, dec8t, eventual, intr+o variant cu interfa serial (memorie R%!, $L%&' sau ##PR ! cu interfa *5C, &P*, etc.) si numai ca memorie de date.

/+-$)A& 6& .'#2')-)'& /imbaBul ma!in !i de cel de asamblare Lim,a.ul ma(in (instruciunile ma(in) este singura form de repre-entare a informaiei pe care un microcontroler o Q)nelegeQ.Ein pcate aceast form de repre-entare a informaiei este total nepractic pentru un programator, care va utili-a cel puin un lim,a. de asam,lare, )n care o instruciune are drept corespondent o instruciune )n lim,a. ma(in. Un program )n lim,a. de asam,lare este rapid (i compact. %ceasta nu )nseamn c un astfel de program, prost scris, nu poate fi lent (i de mari dimensiuni, programatorul av8nd ontrolul total pentru execuia programului (i gestiunea resurselor. Utili-area numai a lim,a.ului de asam,lare pentru de-voltarea unei aplicaii complexe este neproductiv de multe ori, deoarece exist (i familii de microcontrolere cu CPU de tip C*&C care au un numr foarte mare de instruciuni (x6BB) com,inate cu moduri de adresare numeroase (i complicate. 2otu(i, nu tre,uie uitat c la ora actual muli din productorii mari de microcontrolere ofer medii de de-voltare soft0are gratuite care includ programe asam,loare gratuite. Ee asemenea, comunitatea utili-atorilor diverselor familii de microcontrolere a de-voltat (i ea, )n timp, multe astfel de asam,loare, care sunt disponi,ile ca free0are. +nter retere Un interpreter este o implementare a unui lim,a. de nivel )nalt, mai apropiat de lim,a.ul natural. Caracteristic pentru execuia unui program interpretat, este citirea (i executarea secvenial a instruciunilor (instruciune cu instruciune) . Ee fapt fiecare instruciune de nivel )nalt este interpretat )ntr+o secven de instruciuni ma(in care se execut imediat. Cele mai rsp8ndite interpretere sunt cele pentru lim,a.ele CCC,R%&*C (i S%H% . !arele avanta. al utili-rii unui interpreter este de-voltarea interacti" !i incremental a aplicaiei: se scrie o poriune de cod care poate fi testat imediat, instruciune cu instruciuneG dac re-ultatele sunt satisfctoare se poate continua cu adugarea de astfel de poriuni p8n la finali-area aplicaiei.

3om ilatoare Un compilator com,in u(urina )n programare oferit de un interpreter (de fapt de lim,a.ul de nivel )nalt) cu o vite- mai mare de execuie a codului. Pentru aceasta programul, )n lim,a. de nivel )nalt, este translatat (tradus) direct )n lim,a. ma(in sau )n lim,a. de asam,lare . Codul ma(in re-ultat are dimensiuni relativ mari (dar mai mici dec8t cel interpretat) (i este executat direct, ca un tot, de microcontroler. Ee regul codul generat poate fi optimi-at fie ca dimensiune, fie ca timp de execuie.

Cele mai populare (i utili-ate sunt cele pentru lim,a.ul C.


6eci codul este o,inut cu a.utorul unui mediu inte@rat de dez"oltare a ro@ramelor C+6&=+nte@rated 6e"elo ment &n"ironmentD care conine )n mod tipic urmtoarele componente soft0are: + + + + + + + un editor speciali-at (orientat pe codul surs), un asam,lor"compilator , un editor de legturi"locator (Qlin3+editor"locatorQ), programe de gestiune a unor ,i,lioteci de cod (Qli,rariansQ), programe de conversie a formatelor de repre-entare a codului (de exemplu din ,inar )n format *ntel '#T ) un simulator (i"sau depanator (Qde,uggerQ) posi,ilitatea de atasare a unui programator *C&P

6&7(#/1)'&) E+ 1&%1)'&) )./+3)*++/#' Cele mai rsp8ndite mi.loace 1ard0are"soft0are utili-ate )n de-voltarea (i testarea aplicaiilor sunt enumerate )n continuare. a. %imulatoarele . Un simulator este un program care rulea- programul microcontrolerului + implementea- un microcontroler virtual + folosind un sistem de calcul ga-d un PC. Programul se poate executa pas cu pas, coninutul varia,ilelor (i registrelor poate fi vi-uali-at (i modificat. Repre-int un punct de plecare atunci c8nd se a,ordea- un microcontroler, pentru familiari-area cu resursele lui (i cu lim,a.ul de asam,lare. 7u permite simularea )n timp real a )ntreruperilor (i, de regul, programul rulea- mai )ncet dec8t pe ma(ina real. Ee regul exist mi.loace pentru evaluarea vite-ei de execuie a codului simulat (ca numr de cicluri ma(in sau de stri). *deal, un simulator ar tre,ui s permit (i simularea complet a interaciunii, cel putin din punct de vedere logic, cu toate perifericele disponi,ile.

b. .ro@ramele de de anare C<debbu@ers<D. &unt programe QmonitorQ care pe ma(ina int (microcontrolerul) oferind faciliti de depanare similare simulatorului. *nterfaa cu utili-atorul este reali-at prin intermediul unui sistem ga-d (PC) (i"sau a unui terminal alfanumeric, conectate prin intermediul unui port serial. Utili-ea- o parte din resursele microcontrolerului : memorie de program pentru el )nsu(i (de tip R !) (i memorie de date (R%!) pentru varia,ile proprii, memorie pentru programul ce se depanea-, un port serial pentru comunicaia cu sistemul ga-d, eventual )ntreruperi, etc. &e utili-ea- de regul )mpreun cu un sistem de de-voltare (sau evaluare), care este un sistem minimal reali-at )n .urul microcontrolerului pe care rulea- depanatorul, dar av8nd resurse suficiente pentru a permite testarea (i depanarea aplicaiilor u-uale.

b. &mulatoarele +n 3ircuit C+3&=+n 3ircuit &mulatorsD. &unt cele mai eficiente mi.loace de testare (i de-voltare (i au fost mult timp cele mai complexe (i mai costisitoare. Presupun existena unui 1ard0are dedicat care )nlocuie(te practic microcontrolerul (se conectea- )n locul acestuia )n sistemul pentru care se de-volt aplicaia), )n acela(i timp fiind disponi,ile toate facilitile descrise anterior (i altele suplimentare. Permit un control total al ma(inii int ()n timp real), fr a folosi nimic din resursele. #le sunt reali-ate de cele mai multe ori ca un mi.loc de testare (i depanare de sine stttor, conectat la un PC prin intermediul unui port paralel, serial sau U&R. 7u este necesar )nlocuirea microcontrolerului de pe sistemul int, conectarea cu acesta fc8ndu+se printr+un numr minim de interconexiuni. #xemple de astfel de interfee ar fi: S2%<"*C# 4 *n Circuit #mulation + la multe familii de microcontrolere, RE! (Rac3ground Ee,ug !onitor) 4 pentru $reescale"!otorola. #xistena acestui tip de interfee face posi,il reali-area de emulatoare cu un pre de cost mult mai mic dec8t cele clasice.

d. %imulatoarele de sistem Repre-int o categorie aparte de simulatoare destinate simulrii cat mai complete a sistemului (i a aplicaiei )n ansam,lu, cu alte cuvinte a microcontrolerului )mpreuna cu o dispo-itivele 1ard0are externe. #le integrea- de regula (i un simulator &P*C#. Cele mai cunoscute sunt Proteus H&! (Hirtual &:stem !odelling) al firmei La,center #lectronics . Un astfel de simulator permite rularea aplicaiei (codului), )n mod continuu sau pas cu pas (i evaluarea )n detaliu a modului cum aceasta (si microcontrolerul) interacionea- cu 1ard0are+ul extern. #l permite ceea ce se nume(te co+simularea (Co+simulation): interaciunea dintre soft0are+ul microcontrolerului (i dispo-itivele electronice analogice sau

numerice conectate cu acesta. &unt ,a-ate pe utili-area unor modele avansate ale unor familii de microcontrolere precum (i pe modelele &P*C# ale dispo-itivelor electronice. Pentru fiecare model de microcontroler exist un asam,lor (i un editor de legturi integrat astfel c se poate face, )n anumite limite, (i de-voltarea codului )n asam,lare. Pe l8ng aceasta ele au asigurate (i interfee corespun-toare pentru a se putea de-volta codul cu medii de programare consacrate pentru familia respectiv de microcontrolere, folosind de exemplu un compilator C. $acilitile de simulare a codului sunt similare celor )nt8lnite la simulatoarele de.a menionate. Pe l8ng numeroasele dispo-itive electronice discrete, circuite integrate analogice sau numerice, circuite de memorie sau periferice,)n categoria dispo-itivelor externe se mai pot meniona (i sisteme de afi(are (L#E, LCE),tastaturi matriciale sau ,utoane, relee, etc.

e. 5ucleele Csistemele de o erareD de tim real C'eal 1ime Fernel, 'eal 1ime # eratin@ %Gstem='1#%D Pe piaa de soft0are pentru microcontrolere exista (i componente numite nuclee de timp real sau sisteme de operare )n timp real (R2 &). Un astfel program de sistem de nivel profesional este o componenta soft0are scump sau foarte scump, funcie de complexitatea lui, de accesi,ilitatea surselor programului, de familia de microprocesoare creia ii este adresat, de modul in care va fi distri,uit )mpreuna cu aplicaia. #xist ins (i variante de R2 &, de mai mic complexitate, din categoria free0are sau s1are0are, care pot fi utili-ate cu performante mulumitoare. Un sistem de operare )n timp real facilitea- crearea aplicaiilor a(a -ise de timp real,dar nu garantea- (i faptul ca ele c1iar se vor executa )n timp real, aceasta depin-8nd de modul )n care este utili-at acest soft0are la nivel de sistem. &pre deose,ire de un calculator cum este PC+ul, un sistem integrat (em,edded s:stem) este proiectat )ntotdeauna )ntr+un anumit scop (i are un cod care se execut aproape )ntotdeauna dintr+o memorie R !, fiind de presupus c nu se modific pe parcursul execuiei aplicaiei. %stfel lucrurile sunt u(urate deoarece comportarea sistemului poate specificat complet )nc din fa-a de proiectare. Ein aceasta cau-a, )n ca-ul multora din aplicaii, multe pro,leme se pot re-olva )n timp real (i fr s se utili-e-e un R2 &. #senial este pan la urm calitatea (i competena celui care programea- aplicaia A

3'+1&'++ 6& )/&2&'& ) U5U+ -+3'#3#51'#/&' Jn momentul )n care se dore(te alegerea unui microcontroler (sau mai ,ine -is a unei familii de microcontrolere) pentru de-voltarea unei aplicaii de tip 9em,edded s:stem; exist mai multe criterii care tre,uie luate )n considerare, in8nd cont de implicaiile multiple ale acestei alegeri. Hom )ncerca s grupm aceste criterii dup cerinele impuse aplicaiei (i s pre-entm c8teva din )ntre,rile re-ultate, la care tre,uie dat un rspuns. a. 3osturile a licaiei Care va fi scara de producie: prototip, producie mic"medie sau de masK Care sunt costurile permise pentru microcontrolerK Care sunt costurile permise pentru mediul de programare (i de-voltareK

b. 1im ul de dez"oltare al a licaiei Ce lim,a. de programare s alegK Ce lim,a.e de programare cunosc ,ine (i ce medii de de-voltare am utili-atK Ce modalitate de testare (i depanare folosesc: simulator, sistem de de-voltare, emulatorK

c. 3aracteristicile 4izice Care este vite-a de prelucrare (de calcul) necesarK Ee c8t memorie am nevoie pentru program (i respectiv dateK Ha fi necesar si o memorie externK Ce fel de alimentare este disponi,il (i care sunt limitrile acesteiaK Ee c8te intrri (i"sau ie(iri am nevoieK Ce fel de intrri (i"sau ie(iri sunt necesare: intrri"ie(iri analogice, ie(iri numerice de curent mai mareK Care sunt resursele necesare )n materie de tempori-are"numrare si care ar fi caracteristicile lor cele mai importante (re-oluie, frecventa maxima de numrare) K Ce tip de capsul, ce dimensiuni fi-ice (i numr de pini ar tre,ui s ai,K Care este gama temperaturilor de lucru necesareK %plicaia va funciona )ntr+un mediu cu caracteristici speciale, de exemplu )n care exist pertur,aii electromagnetice puterniceK

d. 3onecti"itatea Care sunt resursele de comunicaie necesare: c8te porturi seriale asincrone (i cu ce caracteristici, ce tipuri de magistrale seriale sincrone sunt disponi,ileK #ste necesar o conectivitate #t1ernet (o stiv 2CP"*P), U&R sau 0ireless (stive Rluetoot1, Uig,ee, etc.)K

e. 3om atibilitate, scalabilitate !i dez"oltarea ulterioar Cu ce tipuri de circuite se poate interfaa c8t mai simplu: sisteme de afi(are, sen-ori, elemente de comand (i execuie (relee, motoare de cc, motoare pas cu pas, etc.)K Cum se poate reali-a extinderea ulterioar, atunci c8nd este necesarK #xist mai multe variante )n familia respectiv de microcontrolere, care s acopere eventualele cerine suplimentare )n materie de vite- de lucru, resurse periferice sau de memorieK

4. )lte as ecte Ce distri,uitori exist (i c8t sunt de accesi,ili pentru mineK Care este suportul oferit de fa,ricant sau distri,uitor (icare este ,a-a de cunostine existent:site+uri 0e,, documentaie on+line sau pe CE+uri, note de aplicaii, exemple de proiectare (reference designs), soft0are din categoria free0are"s1are0are si, nu )n ultimul r8nd, forumuri de discuii pentru utili-atoriK

Ein pcate rspunsurile la multe din aceste )ntre,ri sunt corelate )ntre ele. Un exemplu este legtura care exist )ntre criteriile de cost (i cele de timp de de-voltare. Principial, utili-area unui lim,a. de nivel )nalt )mpreun cu un emulator pentru testare (i depanare poate duce la scurtarea consistent a timpului de de-voltare. Ear preul unui compilator este )ntotdeauna mai mare dec8t cel al unui asam,lor, iar preul unui emulator este (i el mai mare dec8t cel al unor mi.loace mai simple de testare (i depanare. Jn practic, de cele mai multe ori, ale@erea unui microcontroler anumit a licaie este !i trebuie s 4ie rezultatul unui com romis . entru a

3U 3& %+ 3U- %& .#)1& .'#2')-) U5 -+3'#3#51'#/&'8 a..ro@ramator s ecializat e?tern.Ce?.%1H200D + este un circuit electronic care conectea-a un port al PC+ul ( serial,paralel sau U&R ) cu pinii de programare ai microcontrolerului. Programatoarele acestea au de o,icei un soclu U*P in care se pot conecta mai multe tipuri de microcontrolere in diferite po-itii,pentru ca pinii de programare difera ca po-itie de la familie la familie . Unele programatoare pot programa c1iar si diferite familii de microcontrolere. b. .ro@ramarea <+n %Gstem< C+%.=+n %Gstem .ro@rammin@D + folosirea unor memorii nevolatile de tip $L%&' face posi,il (i QprogramareaQ unui astfel de microcontroler fr a+l scoate din sistemul )n care este )ncorporat (programare on+line, *n &:stem Programming) G programarea se face de regul prin intermediul unei interfee seriale dedicate de tip *&P (poate avea nume diferite) sau a unei interfee standard S2%<. c. $ootloader I multe din microcontrolerele recente la care memoria de program este de tip $L%&' au (i facilitatea (au de fapt instruciuni dedicate acestui scop) de a putea (i scrie )n aceast memorie de program fr a utili-a un circuit de programare extern. %stfel )n microcontroler poate exista permanent (re-ident) un cod de mici dimensiuni (denumit (i ,ootloader) care pur (i simplu va )ncrca prin intermediul portului serial (este doar un exemplu) codul utili-ator sau constantele pe care acesta vrea eventual s le actuali-e-e. Rootloader+ul este (i cel care lansea- )n execuie programul utili-ator dup )ncrcarea acestuia. )1&51+& JJJ .roteBarea codului = prote.area codului program dintr+o memorie local nevolatil )mpotriva accesului neautori-at (la citire 4deoarece pirateria soft exist (i aici) este oferit ca o opiune (ea mai tre,uie (i folositA) la variantele $L%&', #PR ! sau 2P. Codul poate prote.at at8t la citire cat (i la scriere (practic circuitul tre,uie (ters, )nainte de a se mai putea scrie ceva )n el). #ste eliminat astfel posi,ilitatea de a se reali-a, )n acest ca-, de patc1+uri (alterri cu un anumit scop) ale codului original. La variantele mas3+R ! propriu+-is protecia este de cele mai multe ori implicit.

%c;ema electrica entru ro@ramatorul +3%. 0 %1H200

.ro@ramator e %.+ sau A1)2

.ro@ramator U5+(&'%)/

You might also like