organizarea memoriei microcontroler

Upload: neamt-catalin

Post on 20-Jul-2015

196 views

Category:

Documents


3 download

TRANSCRIPT

CAP. INTRODUCTIV IN MICROCONTROLER

CE ESTE UN MICROCONTROLER ? La modul general un controler este o structura electronica destinata controlului unui proces sau a unei caracteristici cu mediul exterior fara sa fie necesara interventia umana .Microcontrolerele pot fi gasite in componenta oricarui tip de aparat.Primele controlere au fost realizate in tehnologii pur analogice folosind componente electronica discrete sau componente electromecanice ,de exemplu relee. In calculatoarele de birou (PC) se pot gasi microcontrolere in tastatura ,modemuri ,imprimante ,si alte periferice .Microcontrolerele realizate prin tehnica numerica moderna au fost realizate pe baza logicii cablate cu circuite integrate numerice standard (SSI si MSI) ce aveau dimensiuni mari ,consum mare de energie si fiabilitate scazuta . In timp majoritatea componentelor necesare unei astfel de structuri a fost miniaturizate putand fi astfel incorporate la nivelul unui singur micricircuit(cip). Denumirea generala a unui microcontroler este MCU(Microcomputer Unit) asa cum denumirea unui microprocesor este MPU(Microprocessor Unit).O dedinitie cu sens fosrte larg de cuprindere ar fi aceea ca un microcontroler este un microcircuit care incorporeaza o unitate centrale CPU si o memorie impreuna cu resurse care-i permit interactiunea cu mediul exterior . SCURT ISTORIC In 1969 o echipa de ingineri japonezi propun companiei INTEL ,construirea dupa proiecte proprii a unei structuri de circuit integrat a carei functionare sa fie determinata de un program memorat in el ,lucru ce ar conduce la o configuratie mult mai simpla ,insa acest fapt necesita mai multa memorie decat ca propusa de inginerii japonezi .Ideea s-a mentinut ,si mai mult inginerii de la Intel au pus in aplicare proiectul luand nastere primul microcontroler . In timpul aceluiasi an apare un microprocesor numit 4004, fiind primul microprocesor pe 4 biti, cu viteza de 6000 operatii pe secunda.La scurt timp firma CTC propune companiilor INTEL si TEXAS INTRUMENTS sa conceapa un microprocesor pe 8 biti pentru folosinta cu terminale.Astfel, in aprilie 1972, a aparut pe piata microprocesorul pe 8 biti 8008 capabil sa adreseze 64 Kb de memorie si avea 45 de instructiuni si viteza de 300000 operatii pe secunda.Acest microprocesor a fost predecesorul tuturor microprocesoarelor de astazi.INTEL a continuat dezvoltarile pana in aprilie 1974 si lanseaza pe piata microprocesorul pe 8 biti sub numele de 8080 ce putea adresa 64 Kb de memorie si avea 75 de instructiuni cu un pret de debut de 360$.Apare deja concurenta,astfel incat compania americana MOTOROLA lanseaza pe piata un microprocesor pe 8 biti 6800, acesta facand si alte periferice pe langa microprocesorul propriu zis, ca 6820 si 6850. In 1975 MOS TECHNOLOGY anunta producerea microprocesoarelor 6501 si 6502,acesta din urma fiind un microcontroler pe 8 biti cu 56 de intrusctiuni si o capabilitate de adresare directa de 64 Kb de memorie.

Datorita costului redus, 25$, 6502 devine foarte popular si este instalat in computere ca KIM-1 APPLE I ,APPLE II, ATARI,COMODORE,ACORN,ORIC,GALEB,ORAO,ULTRA. In 1976 ZILOG anunta aparitie lui Z80, un microprocesor mai puternic decat cele aparute pana acum, care putea adresa direct 64 de Kb de memorie, avea 176 de sintructiuni, o singura sursa si viteza de lucru mult mai mare.Z80 reprezinta o revelatie in acest domeniu.Din acest moment Z80 devine cel mai de succes microcontroler de 8 biti al acelui timp, fiind instalat in computere ca: SPECTRUM,PARTNER,TRS 703,Z-3,GALAXY.In 1976 INTEL iese pe piata cu o versiune imbunatatita de microprocesor pe 8 biti numit 8085, insa Z80 era mai bun, astfel INTEL pierde monopolul pe piata.6502, Z80 si 6800 raman ca cei mai reprezentativi ai microprocesoarelor de 8 biti ai acelui timp. UTILIZAREA MICROCONTROLELOR Utilizarea unui microcontroler constituie o solutie prin care se poate reduce dramatic numarul componentelor electronice, precum si costul proiectarii si al dezvoltarii unui produs.Toate aplicatiile in care se utilizeaza microcontrolere fac parte din categoria sistemelor incapsulate-integrate(embedded systems) la care existenta unui sistem de calcul incorporat este trasnparenta pentru utilizator.Microcontrolerele sunt utilizate in robotica si mecatronica.Automatizarea produsului de fabricatie productie este un beneficiar al microcontrolerelor CNC ( COMPUTERISED NUMERICAL CONTROLS - comenzi numerice pentru masinile unelta, automate programabile PLC;linie de fabricatie flexibila).Domenii in care utilizarea lor este un standard industrial sunt:in industria de automobile, controlul aprinderii motorului, climatizare, diagnoza, sisteme de alarma, in electronica de consum, in aparatura electrocasnica, in controlul mediului si climatizare, in industria aerospatiala, in mijloacele moderne de masurare-instrumentatie, aparate de masura, senzori si traductoare inteligente,la realizarea de periferice pentru calculatoare,medicina. CLASIFICARI SI VARIANTE CONSTRUCTIVE Un criteriu de clasificare care se poate aplica intotdeauna este lungimea(dimensiunea) cuvantului de date.Functie de puterea de calcul dorita si de alte caracteristici, se pot alege variante avand dimensiunea cuvantului de date 4,8, 16 sau 32 de biti si nu este obligatoriu ca dimensiunea cuvantului de date sa fie egala cu dimensiunea unui cuvant program.Exista si variante dedicate , neprogramabile de utilizator la nivel de cod de masina, strict specializate pe o anumita aplicatie, prin intermediul codului preprogramat si al resurselor hardware utilizate pentru comunicatii, controlul tastaturii. TEHNOLOGII DE FABRICATIE UTILIZATE Toate microcontrolerele se realizeaza in tehnologii C-MOS puteandu-se astfel realiza structuri cu o mare densitate de integrare, cu un consum redus, care depinde de frecventa de lucru, permitand eventual alimentarea de la baterie.Tehnologia detine si o imunitate ridicate la perturbatii, esentiala pentru un numar mare de aplicatii specifice.Se realizeaza variante pentru domeniul extins al temperaturii de functionare, de la -40 grade pana la +85 grade C.Au structura de suprafata SMD.

PRET La inceputul erei microcontrolerelor existau 2 producatori dominanti pe piata:INTEL si MOTOROLA.Pretul microcontolerelor INTEL a fost intotdeauna mai convenabil, iar numarul utilizatorilor de mictrocontrolere INTEL a crescut in momentul in care INTEL a deschis licenta pentru microcontrolere bazate pe familia 80C31 altor producatori.MICROCHIP a lansat un microcontroler cu o arhitectura simpla, cu un set de instructiuni redus(memorie RISC) si o disipare de putere minima, iar desi MICROCHIP este de curand pe piata a atras foarte multi consumatori cu acest microcontroler PIC si datorita campaniei agresive si a unui bun suport tehnic, numarul de consumatori este in crestere, fiind favorizat si de preturi mici.ATMEL deasemenea a atras o serie de consumatori cu noua familie de microcontrolere AVR, revolutionara, AT90S1200 cu 1 Kb memorie flash si de 20 de pini capsula DIP. CELE MAI INTALNITE FAMILII DE MICTROCONTROLERE Sunt prezentate in continuare familii de microcontrolere de 8 si de 16 biti. a) 8048(INTEL MCS-48)-unul dintre cele mai vechi microcontrolere pe 8 biti ,de la care unele componente arhitecturale se gasesc la generatia MCS-51,8051. b) 8051(INTEL MCS-51,ATMEL,PHILIPS,INFINEON DALLAS-MAXIM,CYGNAL).Acest tip de microcontrolere pe 8 biti a firmei INTEL .Are o arhitectura interna greoaie insa este suficient de puternic si usor de pogramat.Are spatii de memorie separate pentru program si date .Poate adresa 64kBmemorie de program din care primii4 (8...32)kBlocali,memorie ROM.Poate adresa 64kB memorie de date externa ,adresata indirect.Are 128 (256)octeti de RAM local,si un numar de registre speciale pentru lucrul cu periferia locala .Are facilitati de prelucrare la nivel de bit . c) 80C196.Este un microcontroler pe 16 biti ,facand parte din a treia generatie de microcontrolere a firmei INTEL.Are o arhitectura Von Neumann cu un spatiu de adresare de 64kB ,o unitate de I/O numerice de mare viteza,iesiri PWM,convertor analog numeric ,timer Watchdog,este destinat unor aplicatii din industria de automobile . d) 80C186,80C188(INTEL,AMD).Sunt circuite derivate din clasicile 8086/8088prin includerea pe acelasi microcircuit a 2 canale DMA,2 numaratoare /timere ,un sistem de intreruperi si un control pentru DRAM.Ca avantaj al acestor microcircuite il reprezinta utilizarea ca mediu de dezvoltare a unor platforme de calcul de tip IBM-PC capabile80*86 cu tot softul. e) 68HC05(FREESCALE).Un microcontroler pe 8 biti derivat din microprocesorul M6800,care are multe asemanari cu un alt microprocesor 6502.Are un spatiu de memorie unic 64kB in care sunt plasate in registrele perifericelor (I/O,timere) cu un indicator de stiva SP,hard pe 5biti si stiva pe maxim 32 de octeti.Este unul din cele mai raspanditemicrocontrolere,compatibil cu 8051. f) 68HC11,68HC12,68HC16(FREESCALE). 68HC11-a fost unul din cele mai puetrnice microcontrolere pe 8 biti .Are un spatiu de adrese unic 64k,avand ca resurse EEPROM ,OTP,CAN.Are o particularitate si anume existenta de incarcare rezident (bootstrap,loader in Ram intern ) cu care la reset ,un segmant din memoria RAM externa poate fi incarcat cu un cod

program prin intermediul portului serial .68HC12 reprezinta variante evoluate pe 16 biti ale lui HC11,bazat pe o noua unitate centrala CPU12,iar HC16 este bazt pe o unitate centrala CPU16. g) 683xxx(freescale).Sunt microcontrolere pe 32 biti construite in jurul unei CPU analog microprocesorului M68020(CPU32),denumite si procesoare integrate. h)PIC(Microchip).Primul microcontroler din aceasta familie (PIC1650),sunt cunoscute actualmente sub forma de 6 serii:PIC10,12,14,16,17,18,ce au ca variante de memorie de program de tip OTP(C)sau FLASH(F) .Sunt primele microcontrolere de 8 biti cu arhitectura RISC ,Arhitectura este de tip Harvard,avand dimeniunea cuvantului de program de 12,14 sau 16 biti iar cuvantul de date fiind tot de 8 biti. i) AVR (ATMEL).Sunt microcontrolere ce au performante similare sau mai bune cu seria PIC ,avand o arhitectura diferita cu unitatea centrala de tip RISC cu cuvantul de date de 8 biti ,cuvantul de program de 16 biti . j) COP4(00 si COP8(00)(NS-National Semiconductors) . COP 4 microcontroler pe 4 biti ,2k ROM local ,32*4pana la 160*4 RAM local Microwire,numaratoare /timere si cu o tentiune de intrare de la 2.3 pana la 6 V.COP8-microcontroler pe 8 biti ,cu o arhitectura similara a lui 8051 si cu setul de instructiuni similar lui Z80. K) Z8(ZILOG). Un derivat al lui Z80 ,are 3 spatii de adresa :program ,date si un msiv de registre,iar ca resurse locale tipice-UART,timere ,DMA,sistem de intreruperi cu pana la 37 de surse . l)TMS370(Texas Instruments ) microcontroler standard pe 8 biti ,prezinta unele asemanari cu 8051. m) 80386EX(INTEL). Este destinat aplicatiilor de tip controler avand ca resurse locale I/Oseriale,timere ,DMA ,optimizarea consumului,controler de intreruperi ,controler ;pentru RAM dinamic ,nu au memorie locala ,iar ca avantaj reprezinta faptul ca se poate utiliza ca platforma de dezvoltare pentru un sistem de tip IBM-PC impreuna cu tot mediul de programare aferent . n) SC 3/4/5xx,Elan (AMD). Microcontrolere foarte performante realizate in jurul unitaii centrale de tip 386/486.Prin adaugarea de memorie externa obtinem un sistem de calcul compatibil PC,destinate unor aplicatii de control incapsulate integrate (embedded PC). O) 80C16x(INFINEON).Un microcontroler pe 16 biti foarte utilizat in Europa ,o arhitectura performanta a CPU de tip RISC . p) MSP(texas instruments).microcontroler pe 16 biti cu arhitectura RISC cu posibilitatea controlului compromisului viteza de calcul/consum propriu destinat aplicatiilor portabile. Alte familii de microcontrolere:FUJITSU MICROELECTRONICS- ofera familii de microcontrolere pe 8 biti (FMC-8),16 biti(FMC-16) sau 32 biti (FR),sunt orientate pe aplicatiile din industria de automobile sau din electronica de consum .

RENESAS(ex Hitachi ) microcontrolere organizate pe 4,8,16,32 biti. ARM(Advanced RISC Machine) este o unitate centrala de 32 biti ,care face parte din categoria structurilor IP(Intelectual Property), cele mai cunoscute nuclee sunt ARM 7 si ARM 9. MPC500(FREESCALE)- o familie de microcontrolere bazata pe o unitate cantrale de 32 biti compatibila cu arhitectura POWER PC.

ARHITECURA MICROCONTROLERELOR COMPONENTE: 1.UNITATEA DE MEMORIE (UM) Este acea parte a microcontrolerului care are functia de a inmagazina informatia sub forma de date si o face accesibile (citire)atunci cand dorim acest lucru .Are locatii de memorie cu o valoare numerica notata de la 0la 15,fiind usor accesibile ;pntru accesibilitate folosim conceptul de adresare fiind operatia de selectare sau desemnare a unei locatii de memeorie . Pe langa citirea dintr-o locatie de memorie ,memoria trebuie sa permita scrierea in ea ,realizandu-se prin linii aditionale numite linii de control,,desemnata ca W/R -daca W/R=1 se face citirea -daca WR=0 se face scrierea in locatia de memorie

2.MEMORIA LOCALA

Pe langa memoria locala de tip RAM,de dimensiuni reduse,trebuie sa tinem cont si de implementarea fizica a memoriei de program cu ajutorul unei memorii nevolatile si anume memoriiEEPROM-multe microcontrolere au si o memorie de acest tip,de dimensiune limitata,destinata memorarii unui numar limitat de parametri,este o memorie lenta cu numar limitat de cicluri de citire/scriere -FLASH EEPROM-cand se necesita un volum mare de memorie program mai rapida si cu un numar mai mare de cicluri de citire/scriere. -NOVRAM-realizat prin alimentare locala (baterie ,acumulator) a unui RAM CMOS atunci cand este necesar un volum mai mare de memorie de program si date nevolatile -Programarea IN-SISTEM(ISP) -OTP(ON TIME PROGRAMMABLE) fereastra de stergere. -PROM identica intern cu varianta EPROM,dar fara

Protejarea codului la variantele cu ROM propriu-zis optiunea REVERSE ENGINEERING este implicita . 3.UNITATEA CENTRALA DE PROCESARE(CPU) Actioneaza asupra continutului unuia sau mai multor locatii continute in unitatea de memorie specializat pe operatii de date ce poate sa depoziteze datele atat timp cat asupra acestora se efectueaza operatii

.

4.BUS-magistrala de date si adrese a.BUS de adresa sau magistrala de adrese-pe care circula semnale sub forma de cod de adrese care adreseaza unitatea de memorie b.BUS de date sau magistrala de date pe care circula datele preluate de la unitatea de memorie si urmeaza a fi depusein registri unitatii centrale de procesare spre a fi prelucrate.

5.UNITATEA INTRARE- IESIRE Blocce contine cateva locatii de memorie a carui capat se conecteaza la busul de date ,iar celalalt capat are conexiune cu liniile de iesire la microcontroler numite porti,care sunt de diferite feluri :intrare ,iesire sau porti pe 2 cai.In timpul accesarii portul secomporta ca o locatiede memorie unde se scrie in el sau citeste.Alte tipuri de porturi :UART(Universal Asynchronous receiver transmitter);porturi seriale sincrone dedicate (SPI,Microwire,CAN)

6.COMUNICATIA SERIALA

Trebuie folosit un anumit numar de linii pentru a putea transfera datele .

7.UNITATEA DE TIMER Genereaza semnale la intervale regulate de timp.

8.WATCHDOG-ul :urmareste functionarea fara defecte a microcontrolerului in timpul funcionarii

9.CONVERTORUL ANALOG DIGITAL Semnalel de la periferice sunt substantial diferite de cele pe care le intelege (binar),de aceea ele sunt convertite in semnale binare pentru a fi intelese de microcontroler. -ca tehnici de conversi se folosesc:aproximatiile succesive,cu esantionare implicita sau rampa digitala

STRUCTUIRA INTERNA a microcontrolerului-blocurile interioare comunica perifericele rpin pinii componentei .

cu

ARHITECTURI STANDARD HARVARD SI VON NEUMANN a)Arhitecturi de tip Von Neumann Cele mai multe microcontrolere sunt realizate pe baza aceste arhitecturi de sistem.In componenta microcntrolelor ce au la baza aceasta arhitectura au o unitate

centrala (CPU)caracterzata prin existenta unui singur spatiu de memorie utilizat pentru memorarea atata codului instructiunilor cat si a datelor folosite pentru prelucrare.Exista o singura magistrala interna care este folosita pentru prelucrarea instructiunilor(fech opcod)si a datelor.Efectuarea celor doua operatii separate ,in mos secventialare ca efect imediat incetinirea operatiilor.Este arhitectura standard si pentru microprocesoarele de uz general. b)Arhtecturi de tip Harvard La aceasta arhitectura exista spatii de memorie separate pentru program si date ,deci ar trebui sa existe si magistrale diferite de adrese si de date,pentru codul instructiunilor si respectiv pentru date .Important este faptul ca exista posibilitatea executiei suprapunerii celor doua operatii.Codul unei instructiuni poate fi preluat din memorie in timp ce se executa operatiile cu datele aferente instructiunii anterioare.Este posibila o executie mai rapida daca microcircuitul este complex mai ales atunci and exista si un pipeline.Este arhitectura standard pentru procesoarele numerice de semnal (DSP).Datorita costului mare al implementarii unei asfel de arhitecturi standard in cazul microcontrolelor se intalneste mai ales o arhitectura Harvardmodificata,cu spatii de memorie separate pentru program si date ,dar cu magistrale comune pentru date si adrese. DIFERENTE intre arhitectura Harvard si Von Neumann Majoritatea microprocesoarelor si microcontolelor actuale utilizeaza arhitectura Von Neumann.Memoria de program contine atat instructiunile cat si datele iar pentru a vehicula este folosit un singur bus,deci este nevoie ca mai intai sa vehiculeze instructiunile,apoi datele ;iar acest lucru determina o reducere de viteza ,aceasta arhitectura este utilizata si in calculatoarele PC. Microchip utilizeaza o arhitectura Harvard in care instructiunile si datele au memorii diferite ,sunt vehiculate inspre si dinspre unitatea de calcul pe doua bus-uri diferite iar excutarea unei instructiuni nu are nevoie de mai multe cicluri de masina pentru ca datorita celor doua bus-uri ,intr-un singur ciclu de masina se poate manipula atat codul instructiunii de executat cat si datele utilizate .Aceasta inseamna ca majoritatea ciclurilor de masina pot fi prelucrate printr-un singur ciclu de masina, exceptie fac instructiunile de salt (go to ,call)care au nevoie de doua cicluri de masina .In acest mod se poate mari viteza de lucru al microcontrolerului. Microcontrolerele clasice si PC_urile sunt mai complexe si mai scumpe (folosesc arhitecturi Von Neumann),astfel PIC-urile reprezinta un compromis rezonabil intre performante si pret.In multe aplicatii acestea sunt suficiente iar pretul si faptul ca au dimensiuni foarte mici le fac extrem de utilizate.

CISC-majoritaea microcontrolerelorau la baza realizarii unitatii centrale (CPU) conceptul CISC (Complex Instruction Set Computer),reprezinta un set uzual de 80 de instrctiuni, foarte puternice si specializate. RISC(Reduced Instruction Set Computer)este un concept de realizare a unitatii centrale ,prin implementarea unui set redus de instructiuni care se pot executa foarte rapid si eficient obtinandu-se asfel o reducere a complexitatii microcircuitului.Axeasta arhitectura are o caracteristica deosebita si anuma viteza sporita de executie prin implementarea unei pipeline pentru instructiuni.O alta caracteristica o reprezinta detinerea unui set de instructiuni ortogonal (simetric):orice instructiune opereaza ca orice spatiu de adrese(de memorie ) sau orice registru.

DSP-DIGITAL SIGNAL PROCESSOR ARHITECTURA Arhitectura comuna tuturor generatiilor de DSP este arhitectura Harvard adaptata in scopul asigurarii unei viteze si flexibilitati mari. In sens strict aplica spatiu de memorare complet separat pentru program si date pentru a permite realizarea simultana a fazelor de extragere si executie a instructiunilor.

Aceasta structura harvard standard este specifica unor familii de procesoare digitale de semnal cum ar fi DSP- Motorola 6000. La aceasta structura standard exista o structura harvard modificata care a fost introdusa pentru prima data in 1982 de firma Texas Instruments(IT). Structura Harvard modificata mentine magistralele de date si program separate atat la adrese cat si la date, dar permite transferul intre spatiile de program si de date, ceea ce asigura cresterea vitezei de executie. DSP domenii de aplicatie 1. Procesarea imaginii : - recunoasterea formelor - conceptia robotilor(viziune artificiala) - prelucrarea imaginilor(up, Fuzzy., DSP) - faxul, harti meteo prin satelit - animatii, televiziune 2. Instrumentatie: - analiza spectrala - reducerea zgomotului, compresia de date - controlul politiei si acceleratiei 3. voce audio - recunoasterea vocii - reproducerea vocii - citirea automata a textelor

4.

5.

6.

7.

- prelucrare audio digitale - egalizare numerica(filter numerice tot in cele audio Domeniul militar - securizarea comunicatiilor - procesarea semnalelor radio - procesarea semnalelor ultrasonice - ghidarea rachetelor si proiectilelor Control - controlul CD/DVD - servocontrol - controlul robotilor - controlul imprimantelor laser - controlul automobilelor electrice - controlul actionarilor electrice de c.a(control vectoril al monitoarelor de c.a) Telecomunicatii - suprimarea ecourilor - egalizoare adaptive - expandarea spectrului - videoconferinte - comunicatii de date DTMF Biomedical - monitorizarea pacientilor - scanare - electroencefalograme - analiza electrocardiogramelor - memorarea si prelucrarea imaginilor obtinute dupa raze x

DSP avantaje si dezavantaje Avantaje 1. garanteaza acuratetea semnalului ce este determinate de numarul de biti utilizati in prelucrare. 2. perfecta reproductivitate aceleasi performante se obtin de la unitate la unitate, neexistand variatii datorate componentelor.Ex. Utilizand tehnici DSP un semnal digital poate fi copiat sau reprodus laintervale de timp diferite fara nici o degradare a semnalului (reproducerea semnalului de pe un ?) 3. nu exista deviatie sau variatii ale performantelor cu temperatura sau timpul(fen. de imbatranire). 4. avantaje datorate tehnologiei semiconductoarelor avansate : dimensiuni mici, cost redus, putere consumata redusa(5v,3v,1,2v), viteza f mare de prelucrare a datelor. 5. cresterea flexibilitatii cea mai importanta functie a DSP. Sistemele pot fi programate si reprogramate pentru a indeplini diferite functii fara modificari in structura hardware a sistemului. 6. performante superioare. DSP`urile pot fi utilizate pentru realizarea unor functii care nu sunt pasabile in varianta analogica.

Dezavantaje 1. viteza si cost. Proiectarea cu DSP poate fi costisitoare cand se cere o latime de banda cu frecventa mare.Convertoarele AID si DIA sunt scumpe si nu au aplicatie larga cu DSP-urile.In mod curent numai CI speciale pot fi utilizate in procesarea semnalelor de ordinul MHz dar acestea sunt foarte scumpe. Nici DSP-urile nu sunt foarte rapide, de aceea prelucreaza semnale cu latime de banda de 100 MHz sunt procesate numai prin metode analogice. O alternativa la CAD si CDA este CODEC. 2. timpul de proiectare Pentru proiectarea unui sistem ci DSP-uri sunt necesare o serie de resuerse de aceea proiectarea este mare consumatoare de timp si in unele cazuri chiar imposibila. Este cunoscuta si criza de ingineri pregatiti in acest domeniu. Situatia se poate rezolva prin limbaje de nivel inalt ca dSpace ce ofera solutii integrate hardware si software ce permit implementarea algoritmilor pornind de la sursa in c sau blocuri grafice din simulente MATLAB. 3. Problema latimii finite a cuvintelor In situatii de timp real considerentele exonomice impun ca in DSP algoritmii sa fie implementati utilizand un numar limitat de biti. In aceste situatie daca exista un numar insuficient de biti cu care se lucreaza in reprezentarea variabilelor poate reulta o degradare serioasa a variabilelor sistemului.

MICROCONTROLERUL PIC16F84A Este un microcontroler pe 8 biti ,avand 18 pini consolidat pe memorii FLASH/EEPROM.Are memorie program 1k in care sunt trasferate 1024 instructiuni ,atat timp cat al -14 lea bit al memoriei program este de aceeasi latime instructiune.Memoria RAM cotine 68 biti ,iar memoria EEPROM contine 64 biti ,are 13 pini de intrare /iesire (I/O)configurati pe o baza pas cu pas (pin cu pin). Cativa dintre pini indeplinesc mai multe functii precum External interrupt,Change on Port B interrupt ,Timer0 Clock input. Schema bloc a microcontrolerului PIC16F84A este:

ORGANIZAREA MEMORIEI Sunt doua memorii in microcontrolerul PIC16F84A si anume memoria program si memoria de date.Fiecare memorie are magistrala sa proprie ,astfel incat accesul la fiecare memorie se poate face in timpul aceluiasi ciclu de oscilator .Memoria de date ,in continuare poate fi defalcata in scop general in RAMsi in registrul de functii speciale SFR.SFR este folosit pentru a controle modulele periferice si sunt descrise in sectiunea unde se discuta fiecare modul periferic ,individual . Domeniul memoriei de date contine de aseamenea memoria de date EEPROM.Aceasta memorie nu este direct cartografiata in memoria de date ,dar este in mod indirect cartografiata .Acesta este un indicator de adresa indirect ce specifica adresa memoriei de date EEPROM la citire/scriere .Cei 64 biti ai memoriei de date EEPROM se identifica prin codul de adresa 0h-3Fh. MEMORIA PROGRAM Pic 16F are un program numarator de 13 biti capabil sa adreseze 8k*14 spatiu de memorie program .Pentru acest microcontroler primul 1k*14(0000h-03FFh)sunt fizic implementate .Accesand o locatie de mai sus implementarii fizice puse in aplicare va cauza un wraparound.Vectorul RESETeste la 0000h,iar vectorul intrerupere se afla la 0004h. Schema bloc :

MEMORIA DE DATE Memoria de date este partitionata in doua domenii,peimul domeniu il reprezinta Registrul de Functii Speciale SFR iar cel de-al doilea domeniu il reprezinta General Purpose Register GPR.SFR detine controlul functionarii aparatului .Portiuni din memoria de date sunt inamgazinate .Acestea sunt atat pentru domeniul SFR cat si pentru GPR.GPR este montat pentru a permite mai mult de 116 biti memoriei RAM.Domeniile montate ale SFR sunt pentru registri care controleaza functiile periferice.Controlul bitilor au locatia in registrul STATUS .Instructiunile MOVWF si MOVF pot muta valori de pe registrul W catre orice locatie din registrul F,si vice-versa. Intreaga memorie de date poate fi accesata ori direct folosind intreaga adresa a registrului fisier,sau indirect prin intermediul FSR.Adresarea indirecta foloseste valoarea prezenta a bitului RP0 pentru accesarea domeniile deja stocate ale memoriei de date .Memoria de date este este partitionata in doua locatii care contin atat GPR cat si SFR.,fiecare locatie detine 128 biti.Primele 12 nivele a fiecarei locatii sunt rezervate pentru registrul SFR,restul de nivele sunt rezervate pentru registru GPR ,implemetat ca memorie RAM statica . MEMORIA DE DATE EEPROM Memoria de date EEPROM poate fi citita si scrisa pe parcursul functionarii normale ( nivelul maxim VDD).Aceasta memorie nu e direct mapata in spatiul fisierelor de registru.In schimb este adresat indirect prin Registru Special de Functii.Sunt folosite 4 SFR-uri pentru a scrie si a citi aceasta memorie.Aceste registre sunt: -EECON1

-EECON2(nu este un registru implementat fizic) -EEDATA -EEADR EEDATA detine date de 8 biti pentru citire/scriere,si EEADR detine adresa locatiei EEPROM care a fost accesata .PIC16F84A are memoria de date pe 64 de biti descrisa de la 0h pana la 3Fh.Memoria de date EEPROM aloca octeti pentru citire/ scriere. Un octet scriere sterge automat locaia i scrie noile date

(terge nainte de a scrie).Memoria de date EEPROM apreciata la cicluri de scriere de stergere rapida.Timpul de scriere este conrolat de un timer incorporat pe chip.Timpul de scriere variaza cu tensiunea si temperatura ,si de la chip la chip deasemena .Desi dispozitivul este codat ,unitatea centrala CPU poate continua sa scrie si sa citeasca memoria de date EEPROM .Dispozitivul de programat nu va mai accesa aceasta memorie. PORTURI DE INTRARE/IESIRE Cativa dintre acesti pini I/O sunt multiplexati cu o functie alternativa pentru caracteristicile periferice de pe dispozitiv .In general cand un periferic este activat ,acel pin poate sa nu fie folosit ca pin de I/O. MODULUL TIMER0 Modulul Timer0 timer /numarator are urmatoarele caracteristici : -timer/numarator pe 8 biti -posibilitate de fi citit/scris -selectarea clock-ului interna sau externa -software prescalar de 8 biti programabil(fig5-1) CARACTERISTICI ALE CPUPIC16F84A detine caracteristici care coincid cu timpul prezent al aplicatiilor,si anume maximizarea fiabilitatii sistemului ,minimizarea costului eliminand componetele externe ,detine putere de a salva codurile de operare ,si ofera coduri de protectie .Aceste caracteristicisunt : -selectie OSC -RESET -Power-on Reset(POR) -Power-up Timer (PWRT) -Oscilator Sart-up Timer (OST) -Intreruperi -Watchdog Timer(WDT) -SLEEP -Cod de protectie -locatie ID -In -Circuit Serial Programming(ICSP)

MICROCONTROLERUL PIC16F are un timer Watchdog care poate fi inchis numai prin intermediul configuratiei bitilor.Sunt doua timere care ofera intarzierile necesare la punerea in functiune,unul este Oscillator Start -up Timer (OST),care incearca sa tina chipul in RESET pana cand oscilatorul este stabil .Celalalt timer este Power-up Timer (PWRT) care ofera o intarziere de exact 72 ms numai la punerea in functiune a dispozitivului.Aceasta structura pastraza dispozitivul in RESET pana cand suplimentul de putere este stabilizat.Cu aceste doua timere pe chip majoritatea aplicatiilor nu necesita circuite externe de resetare.Modul SLEEP ofera un curent mic in modul de putere joasa ,pentru a iesi din modul SLEEP folosim RESET extern sau Watchdog Timer time out sau prin intermediul unei intreruperi.Optiunea oscilatorului RC salveaza costul sistemului in timp ce optiunea cristalului LP salveaza puterea .O serie de biti sunt utilizati pentru selectarea diferitelor optiuni.