Sie sind auf Seite 1von 189

SISTEME DE PRELUCRARE NUMERICA CU PROCESOARE

Author: V. Tiponut POLITEHNICA University of TIMISOARA

Bibliografie
V.Tiponut, Sisteme Dedicate, Editura POLITEHNICA 2007 (in pregatire) * * * Microcontrolerul 8051, (note de curs) Ted Van Sickle, Programming Microcontrollers in C, Second Edition, by LLH Technology Publishing, 2001

Ce este un sistem EMBEDDED ?


An embedded system is a special-purpose system in which the computer is completely encapsulated by or dedicated to the device or system it controls. An embedded system is a combination of computer hardware and software, and perhaps additional mechanical or other parts, designed to perform a specific function. A general definition of embedded systems is: embedded systems are computing systems with tightly coupled hardware and software integration, that are designed to perform a dedicated function.

Any electronic system that uses a CPU chip, but that is not a generalpurpose workstation, desktop or laptop computer.

Definitie
Sistemele dedicate sunt combinatii de structuri de calcul hard si soft, circuite electronice si respectiv componente electromecanice, concepute pentru a realiza o functie specifica (dedicate unei aplicatii).

STRUCTURA GENERICA A UNUI SISTEM DEDICAT

Real World

Embedded System

Information exchange with other systems ( CAN, Ethernet, Internet )

Real World

Componentele unui sistem dedicat


S1 S2 Sn Signal Conditioning A1 A2 Reconstruction

ADC

S/H

Data Processing Unit

Sampling Signal DAC

An
Signal Conditioning

Data Exchange

AntiAliasing

Conditionarea semnalului

+ Udif _ Ucm Uout Ad= 11000 CMRR = 100 dB Programmable Gain

Configuratie programabila (FPAA)

Figure 1. Using a configurable building block for a programmable analog IC, you can change circuit parameters or functionality by changing switch settings with data stored in the memory.

Circuit cu capacitati comutate

I = fcCV R = 1/(fcC)

Integrator cu capacitati comutate

With this switched-capacitor integrator, the integration time constant is set by the capacitor ratio, which can be defined with better than 1% accuracy. Changes in the power supply voltage, temperature, or aging have no effect on the time constant.

Unitatea de procesare a datelor (Data Processing Unit)


Terminologie: Data Processor=Data aprocessing System=Data processing Unit Definitie: Unitatea de procesare a datelor (UPD) este un sistem care proceseaza datele achizitionate si codificate intr-o forma recunoscuta de sistem.

UPD include doua componente: componenta hardware si o componenta software

Unitatea de procesare a datelor (I)

Componenta hardware - implementare

Componente standard (microprocesoare (uP), microcontrolere (uC), procesoare de semnal (DSP)) Application-Specific Integrated Circuits (ASIC) Application-Specific Standard Products (ASSPd) Field Programmable Gate Array (FPGA) Solutia System on Chip (SOC)

Utilizarea uP ca procesor de date


Microprocesorul este un circuit care incorporeaza toate functiile unei unitati centrale de prelucrare (CPU) pe un singur circuit integrat. Unitatea centrala de prelucrare (CPU), denumita uneori procesor, este o componenta dintr-un microcalculator, care interpreteaza programul de instructiuni si proceseaza datele (efectueaza operatii aritmetice si logice). Procesorul de date include, pe linga CPU, memorii (date/program), dispozitive intrare/iesire si dispozitve periferice. Un asemenea ansamblu reprezinta, in general, un microcalculator. CARACTERISTICI Putere de procesare ridicata, Flexibilitate in aplicatii, Complexitate ridicata a circuitelor. CONCLUZIE: Aceasta solutie este rar utilizata in sistemele dedicate,fara a fi total exclusa. Este, insa, o solutie tipica pentru microcalculatoarele din calculatoarele de uz general (in particular, calculatoarele personale).

Utilizarea uC ca procesor de date


Microcontrolerul este un circuit VLSI care include pe acelasi chip toate elementele componente ale unui microcalculator (CPU, memorii, dispozitive intrare/iesire, dispozitive periferice). Spre deosebire de microcalculatoarele din calculatoarele de uz general, microcontrolerul deserveste o aplicatie bine precizata. CARACTERISTICI Complextate scazuta a circuitelor precum si a aplicatiilor soft, Prezenta unor circuite periferice si de intrare/iesire extrem de elaborate, le recomanda pentru aplicatii de comanda a proceselor (cele mai frecvente in aplicatiile dedicate), Oferta extrem de larga in ce priveste performantele si la un pret de cost scazut. CONCLUZIE: Microcontrolerul este componenta care se preteaza in cea mai mare masura la implementarea procesorului de date din aplicatiile dedicate.

Implementarea procesorului de date cu DSP


Procesorul numeric de semnal este un microprocesor (microcontroler) specializat pentru procesarea numerica a semnalelor. CARACTERISTICI

Arhitectura specializata in scopul cresterea vitezei de executie a operatiilor aritmetice, Se recomanda a fi utilizat in aplicatii de calcul in timp real, care necesita viteza de lucru ridicata precum si in aplicatiile ce impun precizie de calcul ridicata (32 de biti), Din ce in ce mai mult DSP sunt prevazute cu dispozitive periferice si de intrare/iesire tipice microcontroleror, pentru a concura cu succes cu acestea din urma, Pretul de cost relativ ridicat (comparativ cu uC), fara a fi prohibitiv.

CONCLUZIE: Implementarea procesorului de date utilizind DSP se justifica in cazul aplicatiilor de prelucrari de semnale, in care precizia si mai ales viteza de executie sunt importante (telecomunicatii, prelucrari multimedia, comanda actionarilor electrice).

Implementarea procesorului de date cu circuite ASIC/ASSP


ASIC (application-specific integrated circuit) este un circuit integrat elaborat pentru a deservi o aplicatie particulara, bine precizata. ASSPd (application specific standard products) este un circuit integrat care implementeaza o functie specifica si care prezinta interes pentru o clasa larga de utilizatori. ASSPd se situeaza intre ASIC si circuitele integrate standard, de uz general. CARACTERISTICI

Costul implementarii cu ASIC este acceptabil numai in cazul aplicatiilor de serie mare, care fac posibila amortizarea costului relativ ridicat al proiectarii, Conditia mentionata este mai relaxanta in cazul circuitelor ASSPd, care se adreseaza unei clase mai largi de utilizatori, Procesorul de date implementat cu ASIC/ASSPd este performant deoarece proiectarea acestuia a fost facuta pornind de la specificatiile impuse de aplicatie.

CONCLUZIE: Implementarea procesorului de date utilizind circuite ASIC/ASSPd este de dorit ori de cite ori pretul de proiectare/fabricare nu este prohibitiv.

Implementarea procesorului de date cu circuite FPGA


FPGA (field programmable gate array) este un dispozitiv electronic continind componente logice si conexiuni programabile. Programarea functionalitatii se face dupa fabricare, de catre utilizator (field programmabile). CARACTERISTICI

Comparativ cu ASIC, solutia utilizind FPGA este mai lenta, nu suporta aplicatii la fel de complexe iar consumul de la sursa de alimentare este mai ridicat, Prezinta flexibilitate ridicata, Costuri de implementare competitive la serii mici.

CONCLUZIE: Implementarea procesorului de date utilizind circuite FPGA se justifica pentru serii mici si in aplicatii unde se necesita un calcul masiv paralel (viteza mare de procesare).

Solutia SOC (system on chip)


SOC (system on chip) reprezinta o solutie de realizare a unui sistem electronic conform careia toate componentele sistemului sunt integrate pe acelasi chip (circuite digitale, circuite analogice, mixte, s.a.). O solutie alternativa, mai ieftina, este SiP (system in package) in care mai multe chipuri sunt incluse in aceeasi capsula. CARACTERISTICI

Consum mai redus de la sursa de alimentare si fiabilitate sporita comparativ cu sistemele multichip, Costurile de implementare sunt acceptabile numai in cazul unor aplicatii de serie mare, datorita valorii ridicate a costului NRE (Non-recurring engineering adica costul platit o singura data pentru cercetare, proiectare si testarea unui nou produs), Reprezinta o solutie mai eficienta decit ASIC, deoarece poate include pe acelasi chip si alte componente decit circuitele electronice (spre exemplu cristale de cuart, microcomponente electromecanice, etc.).

CONCLUZIE: Implementarea procesorului de date utilizind tehnologia SOC este de dorit ori de cite ori pretul de proiectare/fabricare este competitiv.

Competitii actuale

Microcontroler Procesor de semnal

De regula este preferat microcontrolerul, deoarece:


Prezinta dispozitive periferice si un sistem de intrare/iesire mai performant, Oferta mult mai larga de microcontrolere de uz general, Pot oferi performante de calcul (viteza, precizie) comparabile cu performantele procesoarelor de semnal (ARM). In cele mai multe aplicatii este preferat procesorul de semnal, datorita costurilor mai reduse, In aplicatiile care se necesita un calcul paralel masiv circuitele FPGA devin competitive .

Procesor de semnal FPGA

Unitatea de procesare a datelor (II)

Componentele Software Sistemul de operare (Operating System) Softul de aplicatie (Application Softvare) Obs.: In cazul sistemelor dedicate mici Sistemul de Operare poate lipsi

Sistemul de operare
Definitie: Sistemul de operare (SO) este un set de programe de calcul care controleaza resursele hardware si software ale unui calculator. In cazul sistemelor dedicate, SO trebuie sa fie: De timp real (Real-time Operating System RTOS) Dedicat (Embedded)

Sarcinile unui sistem de operare

Planificarea proceselor (task-urilor) Deservirea intreruperilor Comunicarea si sincronizarea intre procese Managementul memoriei Administreaza sistemul de fisiere Asigura conectarea in reteaua de calculatoare (TCP/IP) Comanda Interfata Grafica-Utilizator

Ce este un RTOS ?
Un sistem de operare in timp real este capabil sa execute toate sarcinile sale respectind anumite constringeri de timp, bine precizate. Citeva caracteristici: Raspuns rapid si predictibil la evenimente externe urgente, Comportament stabil la supraincarcari tranzitorii (cind

sistemul este supraincarcat de evenimente incit nu pot fi respectate toate constringerile de timp impuse pentru anumite procese, critice, timpii de executie inca trebuie respectati) Un inalt grad de programabilitate (constringerile de timp ale sistemului trebuie sa fie satisfacute la un nivel ridicat de utilizare a tuturor resurselor)

Ce este un SO dedicat ?

Un sistem de operare dedicat prezinta urmatoarele caracteristici:


Dimensiuni mici (uneori sute de octeti)l Trebuie sa fie capababil sa ruleze intervale mari de timp (ani) fara interventie manuala

Structura unui microcalculator cu microprocesor

Arhitectura von Neuman

Microprocesorul este o componenta digitala programabila care incorporeaza pe un singur circuit integrat toate functiile unei unitati centrale de procesare (CPU).

Conceptul de magistrala

Microprocesor (PGA)

Arhitectura unui microprocesor

Modul de operare al CPU


Ciclu masina: o succesiune de patru Faze (pasi) intre doua extrageri succesive de instructiuni din memoria program. Fazele de exectie ale unui ciclu masina: Extragere (fetch), Decodificare (decode), Executie (execute), Scriere rezultat (writeback).
Observatii: Un ciclu masina include de regula 2 operatii de extragere (fetch) Executia unei instructiuni , adica un ciclu instructiune, se realizeaza pe unul sau doua cicluri masina.

Arhitectura tipica de microcontroler

Microcontrolerul (uC) este un microcalculator pe un singur chip utilizat pentru comanda altor dispozitive si circuite electronice. Un microcontroler include pe chip: Unitatea centrala de procesare (CPU), Memorii, Interfete de intrare/iesire, Dispozitive periferice integrate (interne), Convertoare A/D si D/A.

Microcontroler cu arhitectura HARWARD

Avantaje arhitecturii HARWARD: Viteza de executie mai ridicata, Siguranta sporita in functionare Observatie: de regula, cele doua memorii sunt conectate la CPU printr-o singura magistrala.

Structura detaliata a unui microcontroler

Detaliu CPU al unui microcontroler

Registri inclusi in Register File: The Stack Pointer (SP) Program Status Word (PSW)

Executia instructiunilor
;_________________________________________ ; MAIN PROGRAM CSEG ORG 0000h DEC 50H NOP END ;_________________________________________ Rezultatul executiei: este decrementat (DEC 50H ) continutul locatiei din memoria RAM interna a microcontrolerului, avind adresa 50H (adresare directa); instructiunea NOP nu are nici un efect.

Instructiunea DEC

Instructiunea NOP

Setul de instructiuni
Generalitati:
Diferitele tipuri de uC include un numar variabil de instructiuni: CISC (Complex Instruction Set Computer ) includ citeva zeci de instructuni puternice, ortogonale (fiecare instructiune dispune de toate modurile posibile de adresare ale operandului), RISC (Reduced Instruction Set Computer) include un set de sute de instructiuni de complexitate mai scazuta. Majoritatea instructiunilor sunt reprezentate in memoria program pe 1-4 octeti (un octet ce specifica operatia si de la 0 la 3 operanzi, separati prin virgule), Pentru programator, instructiunile sunt specificate prin mnemonice, acronime provenite din limba engleza si care sugereaza natura operatiei efectuate, Cu citeva exceeptii, instructiunile prelucreaza informatia din memoria RAM interna a microcontrolerului.

Moduri de adresare a operanzilor


Adresare imediata: Adresare directa: MOV A,#20h MOV A,R0 MOV A,40h

Adresarea indirecta:

MOV A,@R0 MOVX A,@DPTR MOVX @DPTR,A

Instructiuni aritmetice (MCS51)

Instructiuni logice

Instructiuni de transfer

Operatii cu variabile booleene

Instructiuni de transfer a comenzii

Precizari

Organizarea memoriei program (1)

Memoria de pe chip mai mica de 64Ko nEA Pinul External Addressing

Conectarea unei memorii program externe

PSEN Program Store Enable P0 Adrese low (A7-A0) multiplexate in timp cu date (D7-D0) ALE Address Latch Enable P2 Adrese high (A15-A8) Memorii program externe sunt rar utilizate

Faza de extragere a codului instructiunii din memoria externa

Organizarea memoriei program (2)

Observatii: Memoria de pe chip de 64Ko Programare ISP (In System Programming)

Organizarea memoriei program (3)

Observatii: Memoria de pe chip de 64Ko Programare ISP (In System Programming) si IAP (In Application Proramming)

Organizarea memoriei de date (1)

Observatii: Sunt prezente 2 tipuri de memorii de date:RAM (intern si extern) si memorie Flash, Accesul la memoria RAM se face dependent de tipul instructiunii utilizate: cele mai multe instructiuni acceseaza RAM intern; RAM extern poate fi accesat prin numai 2 instructiuni:

MOVX A,@DPTR MOVX @DPTR,A

Zona RAM adresabila direct si indirect (1)

Memoria STIVA aici -

Zona RAM adresabila direct si indirect (2)

Rolul registrilor speciali pentru functii (SFR)

Exemplu de registri pentru functii speciale (SFR)

Organizarea memoriei RAM de date (2)

FLASH DATE

Schema de conectare a unei memorii externe

Memorii externe RAM de date sunt relativ frecvent utilizate

Faza de citire date dintr-o memorie RAM externa

Faza de scriere date intr-o memorie RAM externa

Memoria stiva (1)


Este o zona de memorie amplasata in memoria interna RAM si care stocheaza temporar urmatoarele tipuri de date: Automat, adresele de revenire din subrutine (de tratare a intreruperilor sau subrutine apelate prin instructiuni CALL), Prin program, continutul unor registri utilizati in subrutine si care trebuie recontuit inainte de revenirea in progeamul principal, Datele sunt manipulate cu instructiunile PUSH (incarca date in stiva) si POP (extrage date din stiva). Stiva este o memorie LIFO (last in, first out ultimul intrat primul iesit, Stiva poate creste in sus ca in figura sau in jos, Adresele de scriere/citire sunt date de registrul Stack Pointer (SP); continutul acestuia indica adresa ultimei locatii ocupata din stiva.

Memoria stiva (2)


Stabilirea zonei din RAM intern alocata stivei se face prin initializarea continutului registrului SP. Exixta posibilitatea prevenirii citirii/scrierii inafara limitelor memoriei stiva, utilizind 2 registri: Stack Overflow respectiv Stack Underflow, care contin adresele limita ale stivei. La atingerea lor sunt generate intreruperi. Exemple de utilizare a memoriei stiva CSEG AT 23H PUSH A PUSH PSW CALL SBRT POP PSW POP A RETI SBRT: PUSH A PUSH PSW --------------------POP PSW POP A RET

Sistemul de intreruperi
Intreruperile sunt semnale asincrone ale sistemului hardware (intreruperi hardware) care solicita atentia unitati centrale de procesare (CPU) sau evenimente sincrone software (intreruperi software), care indica schimbari in executia programului. Aparitia unei intreruperi determina salvarea starii de executie a programului si executia unei subrutine de tratare a intreruperii, dupa care se revine in programul principal, in punctul in care a fost parasit. Intreruperile hardware, sunt generate de regula de evenimente externe microcontrolerului, de interfetele de intrare/iesire sau de dispozitivele periferice interne ale acestuia. Intreruperile software sunt implementate cu instructiuni speciale de intrerupere, incluse in setul de instructiuni ale microcontrolerului. Uneori, intreruperile software sunt utilizate pentru a implementa apeluri de sistem (System Call), prin care programele de aplicatie solicita servicii sistemului de operare.

Controler programabil de intreruperi (Pogrammable Interrupt Controller (PIC))

PCA Programmable Counter Array nINT0/1 External Interrupt IP Interrupt Priority EA Enable All Intreruperi mascabile/nemascabile!

Ce evenimente pot genera o intrerupere hardware?

Depasirea capacitatii N/T T0 (Timer0 Overflow) Depasirea capacitatii N/T T1 (Timer1 Overflow) Depasirea capacitatii N/T T2 (Timer2 Overflow) Receptia/transmisia seriala a unui caracter Eveniment extern la intrarea nINTO Eveniment extern la intrarea nINT1 Evenimente legate de PCA

Obs.: N/T Numarator/Temporizator (Counter/Timer sau simplu Timer)

Secventa de Pooling

Intreruperea externa nINTO prioritate maxima Intreruperea N/T T0 Intreruperea externa nINT1 Intreruperea N/T T1 Intreruperi generate de PCA Intreruperile portului serial Intreruperea N/T T2 prioritate minima

Reguli privind executia intreruperilor:

1. Executia unei intreruperi nu poate fi sistata de aparitia unei intreruperi avind aceeasi prioritate, 2. O intrerupere cu prioritate ridicate poate intrerupe executia unei intreruperi cu prioritate scazuta, 3. O intrerupere cu prioritate scazuta poate fi executata numai daca nici o alta intrerupere nu este in curs de executie, 4. Daca doua intreruperi apar in acelasi timp, va fi executata mai intii intreruperea cu prioritate ridicata. Daca ambele intreruperi au aceeasi prioritate, va fi executata mai intii prima intreruperea deservita de secventa de pooling.

Ce se intimpla la aparitia unei intreruperi?

1. Este savat in stiva continutul numaratorului program (Program Counter PC), 2. Sunt blocate intreruperile avind aceasi prioritate rspectiv prioritate mai scazuta, 3. In cazul unor intreruperi (externe, temporizatoare) sunt sterse fanioanele aferente, 4. Se transfera executia programului la subrutina de tratare a intreruperii, 5. Se executa subrutina de tratare a intreruperii, dupa care se revine in programul principal.

Transferul executiei programului


Modalitati: Se face salt la o adrese fixa din memoria program, unde se gaseste adresa primei instructiuni din subrutina de tratare a intreruperii (asa numitul vector de intrerupere) Intrerupere vectorizata Se face salt la o adrese fixa din memoria program, unde se gaseste prima instructiune din subrutina de tratare a intreruperii Sursa de intrerupere External 0 Timer 0 External 1 Timer 1 Serial Fanion IE0 TF0 IE1 TF1 RI/TI Adresa de salt 0003h 000Bh 0013h 001Bh 0023h

Exemplu de subrutina de tratare a intreruperii portului serial


ORG 0000H JMP START ; Serial Interrupt CSEG AT 23H PUSH A PUSH PSW JB RI, L1 CALL TRSM JMP L2 L1: CALL REC L2: POP PSW POP A RETI ; Main Program CSEG AT 50H START: . . . ; Subrutine tratare intreruperi port serial TRSM: CLR TI . RET REC: CLR RI . RET . END

Portul (paralel) de intrare/iesire (I/O)

Portul este un circuit de interfata paralela, care permite conectarea unui dispozitiv (periferic) extern la microcontroler. Paralel datele sunt transferate (I/O) in format paralel (mai multi biti simultan). Observatii: Un microcontroler are, tipic, patru porturi; numarul acestora poate fi mai mare (opt sau chiar mai mult) sau pot lipsi cu desavirsire. Unele porturi pot fi utilizate numai ca intrari/iesiri de uz general, altele asigura si asa-numitele functii alternative. In cazul unui microcontroler tipic, cu patru porturi, porturile P0 si P2 pot fi utilizate atit ca intrari/iesiri de uz general I/O cit si pentru conectarea la microcontroler a unor memorii externe (acestea realizeaza in exterior magistrala de date (P0) si de adrese (P0, octetul inferior A7-A0 si P2 octetul superior A15-A8).

Functii alternative pentru portul P0

Portul paralel (de intrare/iesire I/O)


Portul P1 este utilizat, in general, ca intrari/iesiri de uz general. Uneori, liniile sale reprezinta intrari/iesiri pentru circuitele periferice interne (convertor A/N, convertor N/A, temporizatoare, registri de captate/comparare, etc.). Portul P3 este dedicat, in general, asa-numitelor functii alternative (semnalele nRD si nWR pentru comanda memoriilor externe, intrari pentru intreruperile externe nINT0 si nINT1, intrari/iesiri pentru interfetele seriale (SPI, I2C, CAN, UART)). Comportamentul liniilor de port, ca intrare/iesire este progamabil. Registrii care pastreaza temporar informatia transferata respectiv sevesc la programarea comportamentului portului sunt plasati in memoria RAM interna (zona SFR).

Linia de port in mod iesire: in contratimp (push-pull) si drena in gol (open drain)

Caracteristica de transfer cu histeresis a unei linii de port

Structura liniilor de port P0 (1)


T2(p)

latch
multiplexor buffer

o driver T1(n)

Structura include un bistabil D (latch), un etaj de iesire (driver) si un etaj separator la intrare (buffer).

Structura liniilor de port P0 (2)


P0 poate fi utilizat ca intrari/iesiri de uz general respectiv, ca functie alternativa, schimbul de date cu o memorie externa (A7-A0 si D7-D0, multiplexate in timp), Intrari/iesiri de uz general (control=0): T2 este blocat iesire drena in gol, Pentru a utiliza linia ca intrare, se inscrie 1 in latch, Exixta instructiuni care citesc pinul si altele care citesc latch-ul. Accesul la memorie(control=1): T2 accelereaza comutarea iesirii la tranzitia 01si asigura 1 logic la iesire, Iesirea este in contratimp (push-pull). Observatie: Liniile lui P0 au un comportament BIDIRECTIONAL.

Instructiuni care citesc latch-ul (2)


(read-modify-write- destinatia este un port sau bit de port)

ANL (logical AND, e.g., ANL P1, A) ORL (logical OR, e.g., ORL P2, A) XRL (logical EX-OR, e.g., XRL P3, A) JBC (jump if bit = 1 and clear bit, e.g., JBC P1.1, LABEL) CPL (complement bit, e.g., CPL P3.0) INC (increment, e.g., INC P2) DEC (decrement, e.g., DEC P2) DJNZ (decrement and jump if not zero, e.g., DJNZ P3, LABEL) MOV PX.Y, C (move carry bit to bit Y of port X) CLR PX.Y (clear bit Y of port X) SETB PX.Y (set bit Y of port x)

Instructiuni care citesc latch-ul (2)


(read-modify-write- destinatia este un port sau bit de port)

Example: The carry tlag is originally set.The data present at input Port 3 is 11OOO1O1B. The data previously written to output Port 1 is 35H (00110101B). MOV P1.3,C MOV C,P3.3 MOV P1.2,C will leave the carry cleared and change Port 1 to 39H (OO111OO1B).

Structura liniilor de port P2


o T2(p)

Diferente fata de P0: T2 este inlocuit cu un circuit electronic cu rol de rezistenta pull-up, La accesarea memoriei externe curentul de iesire asigurat este mult mai mare decit in regimul intrari/iesiri de uz general.

Structura liniilor de port P1 si P3

Diferente fata de P2: Pentru functie functie alternativa trebuie inscris 1 in latch Rezistenta de pull-up asigura un curent mare numai in cazul functiei alternative, pe durata tranzitiei 01, Ca intrare de uz general, curentul de iesire furnizat de circuitul de pull-up este drastic diminuat => Cuasi-bidirectional

Structura interna a rezistentei pull-up

De la circitul SI-NU

Circuite temporizator/numarator
Functii: Temporizator=> Marcarea cu precizie, prin intreruperi, a unor intervale de timp cu durate programabile Numarator => Numararea unor evenimente externe (tranzitii aplicate la un pin extern) Functionarea este programabila prin intermediul unor registri SFR (TMOD si TCON) Sunt disponibile trei circuite temporizator/numarator: T0, T1, T2

Structura de baza a unui circuit temporizator/numarator

C/Tx => stabileste functia de numarator/temporizator TRx > pornit/oprit functionarea (R=RUN)

Temporizatoarele T0 si T1 in modurile de lucru 0 si 1

Temporizatoarele T0 si T1 in modurile de lucru 2 (cu autoincarcare)

Temporizatoarl T0 in modul de lucru 3 (doua temporizatoare cu 8 biti)

Registrii SFR pentru programarea functonarii temporizatoarelor T0 si T1

Temporizatorul T2
Moduri de lucru: Modul captare (capture) Modul cu autoincarcare (reload) Numarator sus/jos (up-down) Generator unda dreptunghiulara (clock out) Generator pentru frecventa de transmsie seriala (baud rate)

Temporizatorul T2 in modul de lucru captare

Temporizatorul T2 in modul de lucru cu autoincarcare

Temporiztorul numara in sus

Temporizatorul T2 in modul de lucru numarator sus/jos

Temporizatorul T2 in modul de lucru clock out mode

Genereaza o unda dreptunghiulara

Circuitul watch dog (WD)


WD este un circuit temporizator care reseteaza microcontrolerul atunci cind acesta a parasit executia normala a programului. La o executie normala a programului continutul WD este sters inainte sa fie atinsa capacitatea maxima de nmarare, cind este initiata operatiunea de resetare. Stergerea continutului WD se face cu o instructiune corespunzatoare, plasata din loc in loc pe firul de executie normala a programului. Intirzierea WD poate fi programata. In faza de punere la punct a programului functionarea WD este inactivata.

Interfete de intare/iesire seriale


Caracteristici: Asigurara comunicatia seriala sincrona si asincrona Serial => bit cu bit Asincron => schimbul de date poate incepe oricind Sincron => schimbul de date se realizeaza la aparitia unor impulsuri de tact. Interfete seriale tipice: USART (Universal Syncronious/Asyncronious Receive/Transmit SPI (Serial Peripheral Interface) I2C Inter Integrated Circuits)

Portul serial de intrare/iesire (I/O)


Caracteristici: Comunicatia este full-duplex si bufferata Interfata cu exteriorul prin linii ale portului P3 Registrii utilizati: SCON si SBUF Exixta 4 moduri de lucru: modul 0 (sincron) Modul 1 (asincron, 8 biti de date, baud rate variabil) Modul 2 (asincron, 9 biti de date, baud rate fix) Modul 3 (asincron, 9 biti de date, baud rate variabil)

Comunicatia seriala asincrona

Structura interna USART (modul asincron)

Generarea frecventei de transmisie cu temporizatorul T2

Comunicatia seriala sincrona

Structura interna USART (modul sincron)

Interfata RS-232
Ultima varianta a standardului EIA/TIA 232 E
TIA = Telecommunications Industry Association EIA = Electronic Industries Alliance

Viteza maxima: 20 Kbps (116 Kbps) Lungimea maxima a cablului: 15 m (2000 pF) Nivelurile logice pentru date (logica negativa): +5 .. +25 V pentru 0 logic -5 .. -25 V pentru 1 logic Pentru liniile de control logica este pozitiva Frecvente de transmisie: 300, 1200, 2400, 4800, 9600, si 19200 bps Transmisie asincrona( bit de start, date, paritate si stop)

Circuit pentru interfata RS-232

Conectorul normalizat DB9 si semnalele utilizate

1 Data carier detect DCD 2 Received data RXD 3 Transmit data TXD 4 Data terminal ready DTR 5 Signal ground 6 Data set ready DSR 7 Request to send RTS 8 Clear to send CTS 9 Ring indicator RI Observ.: DTR, DSR, RTS, CTS sunt semnale pentru protocolul de comunicatie

Conectare tipica DTE DCE (fara semnale de protocol)

2 3 DTE 7

2 3 DCE 7 Linie telefonica DCE

2
3 7

2
3 DTE 7

Calculator PC

Modem

Modem

Calculator PC

Sensul de circulatie a informatiei este inversat la DCE fata DTE !!!

Legatura cablu modem nul

2 DTE 3 3 7

2 DTE

Utilizarea liniilor de comanda (conectare DTE cu DCE)

TX

TX RX DTR DSR

RX DTR DSR

RTS
CTS DCE Modem GND

RTS
CTS DTE Calculator PC

Utilizarea liniilor de comanda (conectare DTE cu DTE)


TX

TX RX DTR DSR RTS CTS GND

RX
DTR

DSR
RTS CTS DTE Calculator PC

DTE
Calculator PC

Asigurarea locala a validarilor

TX

TX

RX
DTR DSR RTS CTS DTE GND

RX
DTR DSR RTS CTS DTE

Calculator PC

Calculator PC

Circuit de interfata pentru magistrsla RS-232

Circuit pentru modularea impulsurilor in durata (PWM)

Regimurile posibile de lucru


MD2 MD1 MD0

001 010 011 100

Mode Mode 1: Single Variable Resolution PWM Mode 2: Twin 8-bit PWM Mode 3: Twin 16-bit PWM Mode 4: Dual 8-bit PWM

Mode 1: Single Variable Resolution PWM

Mode 2: Twin 8-Bit PWM

Mode 3: Twin 16-Bit PWM

Mode 5: Dual 8-Bit PWM

Introduction
I2C and SPI Serial communication protocols Meant for short distances inside the box Low complexity Low cost Low speed (a few Mbps at the fastest )

What is SPI?

Shorthand for Serial Peripheral Interface Defined by Motorola on the MC68HCxx line of microcontrollers Generally faster than I2C, capable of several Mbps
Applications: Like I2C, used in EEPROM, Flash, and real
time clocks

Better suited for data streams, i.e. ADC converters Full duplex capability, i.e. communication between a codec and digital signal processor

SPI Bus Configuration

An SPI bus example

SPI Protocol

Hardware realization is usually done with a simple shift register

SERIAL PERIPHERAL INTERFACE

What is I2C?

Shorthand for an Inter-integrated circuits bus Developed by Philips Semiconductor for TV sets in the 1980s I2C devices include EEPROMs, thermal sensors, and real-time clocks Used as a control interface to signal processing devices that have separate data interfaces, e.g. RF tuners, video decoders and encoders, and audio processors.

Some features
I2C bus has three speeds: Slow (under 100 Kbps) Fast (400 Kbps) High-speed (3.4 Mbps) I2C v.2.0 Limited to about 10 feet for moderate speeds

I2C Bus Configuration

2-wire serial bus Serial data (SDA) and Serial clock (SCL) Half-duplex, synchronous, multi-master bus No chip select or arbitration logic required Lines pulled high via resistors, pulled down via open-drain drivers (wired-AND)

I2C Protocol

1. Master sends start condition (S) and controls the clock signal 2. Master sends a unique 7-bit slave device address 3. Master sends read/write bit (R/W) 0 - slave receive, 1 - slave transmit 4. Receiver sends acknowledge bit (ACK) 5. Transmitter (slave or master) transmits 1 byte of data

I2C Protocol (cont.)

6. Receiver issues an ACK bit for the byte received 7. Repeat 5 and 6 if more bytes need to be transmitted. 8.a) For write transaction (master transmitting), master issues stop condition (P) after last byte of data. 8.b) For read transaction (master receiving), master does not acknowledge final byte, just issues stop condition (P) to tell the slave the transmission is done

I2C Signals

Start high-to-low transition of the SDA line while SCL line is high Stop low-to-high transition of the SDA line while SCL line is high Ack receiver pulls SDA low while transmitter allows it to float high Data transition takes place while SCL is low, valid while SCL is high

I2C Features

Clock stretching when the slave (receiver) needs more time to process a bit, it can pull SCL low. The master waits until the slave has released SCL before sending the next bit. General call broadcast addresses every device on the bus 10-bit extended addressing for new designs. 7-bit addresses all exhausted

I2C Tradeoffs
Advantages: Good for communication with on-board devices that are accessed occasionally. Easy to link multiple devices because of addressing scheme Cost and complexity do not scale up with the number of devices Disadvantages: The complexity of supporting software components can be higher than that of competing schemes ( for example, SPI ).

Regimuri cu consum redus

Trecerea in regimurile cu consum redus se face setind corespunzator anumiti biti dintr-un registru de comanda (PCON) Exixta, in general, doua regimuri cu consum redus: IDLE (inactiv) POWER DOWN

Regimul IDLE

Functionarea CPU este sistata, dispozitivele perifericile functioneaza, registrii interni si iesirile porturilor isi pastreaza starea, Iesirea din starea IDLE: prin resetare sau aparitia unei intreruperi validata

Regimul POWER-DOWN

CPU si perifericile sunt inactive Oscilatorul respectiv TIC (Timer interval Counter) pot fi active/inactive Porturile isi pastreaza nivelul logic la iesire Consum de ordinul uA

Iesirea din regimul POWER-DOWN

Activarea pinului de RESET Ciclu deconectare-conectare a alimentarii Intrerupere de la TIC Intrerupere de la SPI Intrerupere de la nINT0

Programarea memoriilor FLASH


Memoria FLASH DATE poate fi programata cu date in cursul executiei aplicatiei, utilizind registrii SFR corespunzatori Memoria FLASH PROGRAM suporta doua modalitati de programare: In-System Programming (ISP), utilizind un program firmware (KERNEL) si UART In Application Programming (IAP), cind programarea se face de catre o aplicatie scrisa de utilizator (BOOTLOADER)

In-System Programming (ISP)


Serial Programming Inainte de incarcarea fisierului program se aduce microsistemul in regim de programare Observatie: exixta posibilitatea programarii paralele utilizind porturile paralele ale microcontrolerului

Serial In-System Programming

Protocolul de comunicatie cu Kernelul

Comenzi disponibile

FORMATUL STANDARD INTEL HEX


Fisierul Intel HEX este un fisier text ASCII si care contine mai multe inregistrari ce respecta formatul Intel HEX. Aceste inregistrari constau din numere hexazecimale reprezentind cod masina si/sau date constante. Fisierele Intel HEX sunt utilizate frecvent pentru transfer de programe ce urmeaza a fi inscrise in memorii ROM sau EPROM. Cele mai multe programatoare sau emulatoare utilizeaza formatul Intel HEX. Un fisier Intel HEX file este compus dintr-un numar nelimitat de inregistrari format Intel HEX. Fiecare inregistrare include pina la cinci cimpuri, aranjate conform urmatorului format:

FORMATUL STANDARD INTEL HEX


1 2 3 4 5 Field Start code Byte count Address Type Data Characters 1 2 4 2 0-2n Description An ASCII colon, ":". The count of the character pairs in the data field. The 2-byte address at which the data field is to be loaded into memory. 00, 01, or 02.

From 0 to n bytes of executable code, or memory loadable data. n is normally 20 hex (32 decimal) or less.
The least significant byte of the two's complement sum of the values represented by all the pairs of characters in the record except the start code and checksum.

Checksum

Tipuri de inregistrari Intel HEX


There are three possible types of Hex-records.
00 A record containing data and the 2-byte address at which the data is to reside. A termination record for a file of Hex-records. Only one termination record is allowed per file and it must be the last line of the file. There is no data field. A segment base address record. This type of record is ignored by Lucid programmers.

01

02

Each record may be terminated with a CR/LF/NULL

Example of INTEL HEX FORMAT

In Application Programming (IAP) or User Download Mode (ULOAD)

Protejarea memoriei Flash Program


Exixta mai multe regimuri de protejare a datelor memorate: modul lock modul secure Modul serial safe

Lock Mode
This mode locks the code memory, disabling parallel programming of the program memory Reading the memory in parallel mode and reading the memory via a MOVC command from external memory is still allowed. This mode is deactivated by initiating a code-erase command in serial download or parallel programming modes.

Secure Mode
This mode locks code in memory, disabling parallel programming (program and verify/read commands) as well as disabling the execution of a MOVC instruction from external memory Read/write of internal data Flash from external memory is also disabled This mode is deactivated by initiating a code-erase command in serial download or parallel programming modes.

Serial Safe Mode


This mode disables serial download capability on the device. If serial safe mode is activated and an attempt is made to reset the part into serial download mode, the part resets as a normal reset only. Serial safe mode can be disabled only by initiating a code-erase command in parallel programming mode.

SET SECURITY MODES COMMAND

Interfeta JTAG
Scurt istoric: Standardul IEEE 1149 - "Standard Test Access Port and Boundary-Scan Architecture a fost elaborat pentru testarea placilor PCB echipate conform metodei de testare pe frontiera. A fost elaborat de Joint Test Action Group (JTAG) si arhitectura definta de catre acestia este cunoscuta ca "JTAG boundary scan" sau interfata JTAG. Standardul defineste un protocol serial de comunicatie cu 5 pini pentru accesul si comanda nivelurilor logice la pinii unui circuit integrat ; extensii ulterioare ale standardului privesc circuite specifice integrate pe chip si care permit accesul la insasi resursele hardware prezente pe acesta, cu scopul depanarii aplicatiilor.

Principiul testarii pe frontiera

Principiul testarii pe frontiera

Test Acces Port (TP)


Semnalele de comanda pentru testarea pe frontiera alcatuiesc impreuna asa-numitul Port de Acces pentru Testare (Test Access Port (TAP)). Acestea definesc un protocol serial pentru testarea pe frontiera a circuitelor implementat cu un automat cu stari finite (cu 16 stari). Sunt utilizate cinci semnale: TCK/clock synchronizes the internal state machine operations. TMS/mode select is sampled at the rising edge of TCK to determine the next state. TDI/data in is sampled at the rising edge of TCK and shifted into the device's test or programming logic when the internal state machine is in the correct state. TDO/data out represents the data shifted out of the device's test or programming logic and is valid on the falling edge of TCK when the internal state machine is in the correct state. TRST/reset (optional), when driven low, resets the internal state machine

Principiul testarii pe frontiera


In timpul testarii, semnalele de intrare/iesire intra respectiv parasesc circuitul prin celulele de testare pe frontiera (boundary-scan cells). Aceste celule pot fi configurate pentru a permite testare externa, pentru conexiuni intre chipuri sau acces la resursele interne ale chipului, cu scop de punere la punct a aplicatiilor. Costul circuitelor suplimentare este minimal comparativ cu restul circuitelor si pe deplin justificat.

Conectarea mai multor dispozitive supuse testarii

Testarea unei placi echipate


Etape:
Testerul aplica vectorul de test la pinii de intrare ai dispozitivului testat Celulele de scanare pe frontiera capteaza datele aferente pinilor monitorizati, care sunt scoase serial prin pinul TDO, pentru verificare. Sunt introduse date prin pinul TDI. Testerul verifica apoi datele obtinute la pinii de iesire ai circuitului. Printr-o conectare corespunzatoare pot fi testate simultan mai multe circuite integrate de pe o placa echipata. Pot fi depistate defecte ca pini neconectati, dispozitive lipsa, dispocitive incorect plasate pe placa PCB, dispozitive defecte, etc..

Avantaje:

Testarea se face independent de celelalte circuite logice de pe placa echipata. Este redus considerabil numarul necesar al punctelor de testare (JTAG in sine nu necesita puncte de testare) => scade pretul de fabricare si creste densitatea de circuite plantate.

Depanarea aplicatiilor software

Unele companii include pe chip extensii (EMULATOARE) care utilizeaza capabilitatile JTAG pentru a implementa functii de depanare a aplicatiilor software. Cu un suport hardware potrivit aceasta interfata permite incarcarea codului obiect, lansarea lui in executie, examinarea continutului diferitilor registri, a continutului memoriei, etc.. Procedura de depanare este condusa de o aplicatie software care ruleaza pe un calculator personal.

Familii semnificative de microcontrolere (1)

Subiectul 01 Comentati arhitectura microcontrolerelor INTEL MCS251 si a microconvertoarelor Analog Devices (AD). Caracterizati pe scurt fiecare dispozitiv inclus in schema bloc, explicati denumirile prescurtate, apreciati valorile cantitative ale diferitilor parametri.

Intel 80X51 Microconvertoare AD (cu procesor 8052/ARM)

Subiectul 01

Familia de microcontrolere Intel 80X51

Subiectul 01

Microconvertoare Analog Devices (AD) procesor 8052 (1)

Subiectul 01

Microconvertoare Analog Devices (AD) 8052 core (2)

Subiectul 01

Microconvertoare Analog Devices (AD) procesor ARM (3)

Subiectul 01

Generalitati privind procesorul ARM


ARM procesor RISC cu 32 de biti care detine 75% din piata de procesoare pe 32 de biti (Advanced RISC Machine ) Proiectantii au la dispozitie unelte standard de dezvoltare de aplicatii, sisteme de operare, aplicatii software optimizate si servicii de asistenta in proiectare care scurteaza durata de elaborare a aplicatiilor . Este inclus in marea majoritate a aplicatiilor dedicate (calculatoare, telefoane mobile, PDA, etc.). Este inclus in FPGA comercializate, pentru a sprijini proiectantul in elaborarea aplicatiei. Este comercializat ca proprietate intelectuala (in 2006 2.45 billioane unitati vindute(6.7 cents/unitate $164.1 million)

Subiectul 01

Familii semnificative de microcontrolere (2)

Subiectul 02 Comentati arhitectura microcontrolerelor TI MSP430 si Freescale HCS12(X). Caracterizati pe scurt fiecare dispozitiv inclus in schema bloc, explicati denumirile precurtate, apreciati valorile cantitative ale diferitilor parametri.

Microcontrolere TI MSP430 Familia de microcontrolere Freescale HCS12(X)

Subiectul 02

Familia de microcontrolere MSP430


Caracteristici generale
Variante: MSP430x1xx - Flash ROM No LCD MSP430x2xx - Flash No LCD MSP430x3xx - ROM/OTP LCD MSP430x4xx - Flash/ROM LCD Caracteristici: Arhitectura RISC, 16 biti Consum foarte redus: 0.1-A RAM retention 0.8-A real-time clock mode 250-A/MIPS active

Subiectul 02

Familia de microcontrolere MSP430


Arhitectura

Subiectul 02

Familia de microcontrolere Freescale HCS12(X)


Caracteristici

CPU pe 16 biti, 40 MHz Memorie pina la 1 Mbytes Flash, 32 Kbytes RAM, 4 Kbytes EEPROM, Interfete intrare/iesire: 6 interfete seriale SCI (asynchronous serial communications interfaces 3 interfete SPI (serial peripheral interfaces) Registru de captare cu 8 canale 2 convertoare A/N cu 16 respectiv 8 canale si o rezolutie de 10 biti Circuit PWM (pulse-width modulator) cu 8 canale 5 interfete CAN (controlled area network) 2 interfete I2C

Subiectul 02

Familia de microcontrolere Freescale HCS12(X)


Arhitectura

Subiectul 02

Alte tehnici de implemetare a procesorului de date


Subiectul 03 Prezentati particularitatile de implementare ale procesoruului de date in procesoarele numerice de semnal, in circuite FPGA, circuite ASIC si ASSP.

Procesoare numerice de semnal Implementarea in circuite FPGA Implementarea cu circuite ASIC si ASSP

Subiectul 03

Procesoare numerice de semnal (1)


Un procesor numeric de semnal este un microprocesor (CPU) specializat, elaborat pentru a efectua calcule in timp real si in special procesare de semnale. Caracteristici functionale: Elaborate pentru calcul in timp real, Performante optime la procesarea unui flux de date, Specializate pentru operatii aritmetice efectuate cu precizie si mare viteza (filtrare, convolutii), Proceseaza semnale convertite sub forma numerica si le furnizeaza la iesire sub forma analogica, Schimba informatii cu mediul inconjurator.

Subiectul 03

Schimbul de informatii cu mediul inconjurator

Subiectul 03

Aplicatie tipica cu procesor numeric de semnal

Subiectul 03

Operatii aritmetice necesare

Operatiune de filtrare (filtru FIR)

Subiectul 03

Efectuarea de operatii aritmetice cu mare viteza


Cele mai multe prelucrari de semnal necesita operatii de adunare si multiplicare DSP au sumator si multiplicator ce pot fi utilizate in paralel si apelate printr-o singura instructiune. Dispun de instructiuni speciale SIMD (Single Instruction, Multiple Data). Intirzierile se realizeaza prin memorarea datelor in registri, pentru a fi utilizate ulterior. Se evita utilizarea memoriei externe din motive de viteza.

Subiectul 03

Accesarea coeficientilor
Trebuie sa fie manipulate eficient matrice de coeficienti se utilizeaza un generator de adresa. Urmatoarea adresa este generata pe durata ciclului de fetch sau de memorare a rezultatului.

Subiectul 03

Trasaturi arhitecturale.
Executia programului (1)
Utilizeaza, de regula, o unitate aritmetica in virgula mobila integrata in fluxul de date pe 32 biti (simpla precizie) respectiv 64 biti (dubla precizie).

10-308 to 10308
Subiectul 03

Trasaturi arhitecturale.
Executia programului (2)
Utilizeaza o arhitectura Pipeline (in figura pe 5 niveluri)

IF = Instruction Fetch, ID = Instruction Decode, EX = Execute, MEM = Memory access, WB = Register write back)

Subiectul 03

Trasaturi arhitecturale.
Accesarea memoriei

Adunarile si inmultirile in paralel necesita: Extractia simultana (fetch) a doi operanzi Efectuarea adunarii sau a inmultirii (de regula ambele) Memorat rezultatul sau pastrat pentru a repeta operatiile Solutia:

DSP utilizeaza frecvent arhitecturi ale memoriei care permit accesul simultan la date multiple: date si/sau instructiuni. Procedee utilizate: Arhitectura Harward Arhitectura von Neumann modificata Utilizeaza accesul direct la memorie (DMA) Dispun de o unitate de calculi a sdresei de memorie.

Subiectul 03

Arhitectura Harward

Frecvent aceasta arhitectura include o memorie cache pentru instructiuni, lasind magistralele disponibile pentru operanzi (Super Harvard ARChitecture - SHARC).

Subiectul 03

Implemetarea procesorului de date in circuite FPGA


Circuitele FPGA sunt dispozitive semiconductoare ce contin circuite logice combinatioale, secventiale si uneori blocuri de memorie, ce pot fi interconectate corespunzator aplicatiei prin interconexiuni programabile.

Implementarea unui procesor de date intr-un FPGA se realizeaza dupa regulile cunoscute: Se descriere comportamentul procesorului cu unul dintre limbajele de descriere a circuitelor: VHDL, Verilog; aceste descrieri constituie proprietate intelectuala (IP), Se verifica prin simulare comportamentul procesorului, Se genereaza si incarca fisierul de configurare a circuitului FPGA.
Pot fi implementate in acelasi FPGA mai multe procesoare de date, care sa functioneze in paralel!
Subiectul 03

Mediu integrat pentru implemetarea aplicatiei intr-un circuit FPGA

Subiectul 03

Implementarea cu circuite ASIC si ASSP


ASIC (Application-specific integrated circuit) este un circuit integrat elaborat pentru a deservi o singura aplicatie, particulara (deserveste un singur beneficiar).

Circuitele ASIC performante pot include adesea un procesor pe 32 de biti, blocuri de memorie (ROM, RAM, EEPROM, flash) precum si alte structuri logice SoC (System-on-chip). Proiectarea unui ASIC presupune descrierea functionala utilizind un limbaj HDL (Verilog, VHDL), simulare, proiectarea circuitului.
ASSP (Application-specific standard products) este un circuit integrat care implementeaza o functie specifica si care deserveste un segment larg de piata. ASSP-urile sunt disponibile ca si componentele standard, off-the-shelf.
Subiectul 03

K$

Costurile de implementarea a unui circuit ASIC (NRE)


K$

$3.000 $2.500 $2.000 $1.500 $1.000 $500 $0 180 130 90 65 Tehnologia [nm]

Subiectul 03

K$

Costurile de implementarea pentru ASIC si FPGA


ASIC

FPGA

Subiectul 03

Tehnici de elaborare a aplicatiilor software

Medii integrate de simulare si depanare a aplicatiilor software, Sisteme de dezvoltare, programe monitor, Emulatoare

Subiectul 04

Medii integrate de simulare si depanare a aplicatiilor software (1)


Un mediu integrat de dezvoltare (Integrated development environment - IDE sau Integrated design environment and integrated debugging) este o aplicatie software care asista programatorul la dezvoltarea de programe. Un IDE include de regula: Editor de cod sursa, Asamblor/compilator/interpretor Depanator (debugger) Unelte pentru elaborarea interfetei grafice-utilizator (GUI).

Editorul de cod sursa are capabilitati de highlighting si autocompletare. Este un editor de text non document Compilatorul este o aplicatie software care translateaza textul scris intr-un limbaj de programare (codul sursa) intr-un alt limbaj de programare (cod obiect).
Subiectul 04

Medii integrate de simulare si depanare a aplicatiilor software (2)


Un compilator este utilizatpentru a translata un program sursa scris in limbaj de nivel inalt, intr-un cod cu limbaj de nivel mai scazut (limbaj de asamblare sau limbaj (cod) masina. Limblajul de asamblare este un limbaj de nivel scazut ; rezultatul asamblarii il constituie codul obiect (care se executa).

Subiectul 04

Mediul integrat de simulare si depanare a aplicatiilor software uVISION


Vision2 este un IDE care combina facilitatile de administrara a proiectului, editare a codului sursa si depanare a programelor intr-un singur mediu, performant.

Componente: C51 ANSI C compilator optimizat (C Cross Compiler) care creiaza din codul C sursa module obiect relocabile, A51 Macro Assembler creiaza module relocabile din codul sursa in limbaj de asamblare, BL51 Linker/Locator combina modulele obiect relocabile creiate de C51 si A51 intr-un modul obiect absolut, LIB51 bibliotecarul (Library Manager) combina modulele obiect intr-o biblioteca ce poate fi utilizata de linker (editorul de legaturi) OH51 convertor cod obiect-HEX, creiaza fisiere Intel HEX din module cod absolut.
Subiectul 04

Mediul integrat de simulare si depanare a aplicatiilor software uVISION


Vision2 este un IDE care combina facilitatile de administrara a proiectului, editare a codului sursa si depanare a programelor intr-un singur mediu, performant.

Componente: C51 ANSI C compilator optimizat (C Cross Compiler) care creiaza din codul C sursa module obiect relocabile, A51 Macro Assembler creiaza module relocabile din codul sursa in limbaj de asamblare, BL51 Linker/Locator combina modulele obiect relocabile creiate de C51 si A51 intr-un modul obiect absolut, LIB51 bibliotecarul (Library Manager) combina modulele obiect intr-o biblioteca ce poate fi utilizata de linker (editorul de legaturi) OH51 convertor cod obiect-HEX, creiaza fisiere Intel HEX din module cod absolut. RTX-51 sistem de operare in timp real (Real-time Operating System RTOS) care simplifica elaborarea aplicatiilor software complexe.
Subiectul 04

C1 DVDD 0. 1uf Application Programmin g

D J2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 CON26 P1 .0 P1 .1 P1 .2 P1 .3

P 0.3 P 0.2 P 0.1 P 0.0 ALE P SEN

EA

Sistme de dezvoltare a aplicatiilor


P1 .[0 ..7 ] J4 JMP1 X3 P0 .[0 ..7 ] R2 1K DVDD 10 K 39 38 37 36 35 34 33 32 31 30 29 28 27 P2 .7 P2 .6 P2 .5 P2 .4 R5 DVDD P0 .7 P0 .6 P0 .5 P0 .4

J3 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 CON26

CREF AVDD DAC0 DAC1 P1 .4 P1 .5 P1 .6 P1 .7 RESET RXD TXD P3 .2 P3 .3 DVDD P3 .4 P3 .5 P3 .6 P3 .7 SCLK AVDD P1 .0 P1 .1 P1 .2 P1 .3 1 2 3 4 5 6 CREF 7 8 DAC0 9 DAC1 10 P1 .4 11 P1 .5 12 P1 .6 13 U2 P1 .0/ADC0 /T2 P1 .1/ADC1 /T2 EX P1 .2/ADC2 P1 .3/ADC3 AVDD AGND CREF VREF DAC0 DAC1 P1 .4/ADC4 P1 .5/ADC5 /SS P1 .6/ADC6

PALE SEN

P 0.7/AD7 P 0.6/AD6 P 0.5/AD5 P 0.4/AD4

P 0.3/AD3 DVDD P 0.2/AD2 DGND P 0.1/AD1 P 0.0/AD0

EA

52 51 50 49 48 47 46 45 44 43 42 41 40

P 0.7 P 0.6 P 0.5 P 0.4

+ C3 C10 10 uF 0. 1uF C9 C2 0. 1uF 0. 1uF

P 1.7/ADC7

P2 .7/A1 5/A23 P2 .6/A1 4/A22 P2 .5/A1 3/A21 P2 .4/A1 2/A20 DGND DVDD XTAL2 XTAL1 P2 .3/A1 1/A19 P2 .2/A1 0/A18 P2 .1/A9 /A1 7 P2 .0/A8 /A1 6 SDATA/MOSI

P 3.5/T1/CONVST

P 3.3/INT1/MIS O

XTAL2 P2 .3 P2 .2 P2 .1 P2 .0 MOSI C13 27 pF

Q1 C14 14 .74 56 MHz 27 pF

P 3.0/RxD RES ET P 3.1/TxD 3.2/INT0

ADuC84 1BS6 2 P1 .7

P 3.6/WR P 3.7/RD S CLOCK

DVDD P 3.4/T0 DGND

P0 .3 P0 .2 P0 .1 P0 .0 ALE PSEN EA P2 .7 P2 .6 P2 .5 P2 .4

C15

XTAL2 P2 .3 P2 .2 P2 .1 P2 .0 MOSI

14 15 16 P 3.2 17 P 3.3 18 19 20 P 3.4 21 P 3.5 22 P 3.6 23 P 3.7 24 S CLK 25 26

RES ET

0. 1uf DVDD P2 .[0 ..7 ]

P3 .[2 ..7 ] S1 DVDD SW-PB B C7 C6 0. 1uF U1 J1 5 9 4 8 3 7 2 6 1 DB9 A 2 1 4 6 7 13 8 14 V+ C1+ C2+ VT2 OUT R1IN R2IN T1 OUT MAX23 2A C8 0. 1uF 0. 1uF VCC C1C2T2 IN T1 IN R2OUT R1OUT GND 16 3 5 10 11 9 12 15 C4 0. 1uF DVDD C5 0. 1uF TXD 47 0 DVDD 3 D1 LED DVDD R4 LD11 17 DT50TR D2 +Vou t U4 0. 1uf DVDD C16

J5 1 2 3 3PIN

GND

GND VCC

CTS Rx RTS Tx

Vin

1 SM40 04 C12 + 22 uF

5
1 U3 4 NC 7 S0 8MS

R1 DVDD 10 K RXD

R3 1. 6

+ C11 10 uF

AVDD Title A Numb er Revis ion

Size A4 Date: File: 1 2 3

13 -Nov-20 06 Sh eet of D:\PROJ ECTS\3Projects UD\d L 8 41 -23 2\Hard ware\d LBy: -23 2.Ddb Drawn 8 41 4

Subiectul 04

Emulatoare
Emularea hardware este procesul de imitare a comportamentuluia unueia sau mai multor componente hardware , incluse in sisteul proiectat cu o alta componenta hardware numita sistem de emulare sau emulator. Se implementeaza prin interfete specifice incluse in chip BDM (Background Debug Mode) si accesate prin interfata JTAG => ICE De cele mai multe ori este emulata UCP

Subiectul 04

Das könnte Ihnen auch gefallen