Microsoft Word - Prelegere 1 - Bratu C. - Microcontrolerul.doc

Documente similare
Microsoft Word - L63 FPGA.doc

Interfețe și Protocoale de Comunicații Arduino-Port Paralel Arduino. Laborator 1- Portul Paralel 1 Caracteristici generale Arduino UNO este o placă de

Microsoft Word - intro_msp430.doc

Slide 1

1. ARHITECTURA MICROPROCESOARELOR 1.1. Microprocesorul. Noțiuni generale Progresele tehnologice și electronice, înregistrate în ultimele decenii, au d

Lucrarea 10

PROCESOARE NUMERICE DE SEMNAL

1

Microsoft Word - 4-Interfete paralele.doc

Minicurs CCS C / Aplicatia1 1.Programul CCS C Compiler. Instalare.Creare proiect. Descarcati ultima versiune a programului de

PowerPoint-Präsentation

Kein Folientitel

PowerPoint-Präsentation

Microsoft Word - Microcprocesoare.doc

Slide 1

Universitatea Transilvania Braşov Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor Catera de Electronică şi Calculatoare Construcţia şi de

Adresarea memoriei Modurile de adresare constituie un instrument principal pentru reprezentarea în memorie a imaginii datelor, aşa cum este ace

Controlerul LCD

Lucrul în mediul Excel 1.1. Componentele ferestrei Excel CAPITOLUL 1 LUCRUL ÎN MEDIUL EXCEL Fereastra Excel figura are numeroase elemente comune

Sisteme de calcul în timp real

PowerPoint Presentation

4. Creşterea vitezei de execuţie a algoritmilor intensiv computaţio-nali cu ajutorul coprocesoarelor ataşate, bazate pe structuri logice reconfigurabi

Microsoft Word - Pag Web 34.doc

Guardian2012_RO3

Lucrarea nr

Nr

LABORATOR 2

Variante ale magistralei PCI

PowerPoint Presentation

PowerPoint-Präsentation

PowerPoint-Präsentation

Microsoft Word - 1-Introducere.doc

FIŞA DISCIPLINEI

Inspiron Specificaţii

Cuprins

PowerPoint Presentation

Nr Analizor de spectru pana la 1 GHz (prima parte) - DTMF cu 4 sau 8 canale - Microemitator UHF - Receptor pentru banda de 7MHz - Analizor de d

Ch

Microsoft Word - Laboratorul 3.doc

Dot Matrix Display Module and

1. Operatii cu matrici 1 Cerinte: Sa se realizeze functii pentru operatii cu matrici patratice (de dimensiune maxima 10x10). Operatiile cerute sunt: A

Microsoft Word - Carte_APDSV_v8

U.T.Cluj-Napoca, C.U.N. Baia Mare Facultatea: Inginerie PLAN de INVĂŢĂMÂNT Domeniul: Calculatoare şi Tehnologia Informaţiei anul univ Progr

S.C. SEEKTRON S.R.L. Fişă de prezentare a produsului EYECAR B1 EYECAR B1 Observer Black Box Dispozitiv inteligent pentru înregistrarea evenimentelor r

Microsoft Word - Tema 06 - Convertoare analog-numerice.doc

Sisteme cu FPGA şi Soft Processors

Microsoft Word - IngineriF_A.DOC

Slide 1

FIŞA DISCIPLINEI ARHITECTURA SISTEMELOR DE CALCUL 1. Date despre program 1.1 Instituţia de învăţământ superior Universitatea POLITEHNICA din Bucureşti

Vânz`tor:... Telefon:... Fax:... Cod ofert`: Nr. verificare 422:... Orange România Date semnificative Client existent: Nu Da Nr. Orange existent

Discipline aferente competenţelor Facultate: Facultatea de Electronică şi Telecomunicaţii Universitate: UNIVERSITATEA POLITEHNICA DIN TIMIȘOARA Domeni

Vacon 100 FLOW Application Manual

AVS5010.indd

Microsoft Word - HSM - Instructiuni de instalare.doc

Microsoft Word - O problema cu bits.doc

Cursant prof. Constantin Vasilache PROIECT DE LECȚIE Clasa Data: Obiectul: Tehnologia Informației și a Comunicațiilor Nr. de ore: 1oră Tema lecţiei: A

PROCESOARE NUMERICE DE SEMNAL

Sisteme de m`surare Sisteme de m`surare Transpointer PX 10 Aplica]ii n Determin` punctul de ie[ire al unui burghiu sau transfer` punctul de început al

FIŞA UNITĂŢII DE CURS/MODULULUI MD-2004, CHIŞINĂU, BD. ȘTEFAN CEL MARE, 168, TEL: , TEHNOLOGII INFORMAŢIONALE APLICATE 1. Date

VI. Achiziția datelor în LabVIEW

Microsoft Word - 2 ES RO.doc

DECIZIE 069

Inspiron Specificaţii (Battery)

ep0117

Microsoft Word - 01_PI_Syllabus_Fisa_disciplinei Software Development

Microsoft Word - L_EM_4_59_Sisteme_incorporate_Vintan_Lucian.doc

Microsoft Word - Curs1.docx

INFORMATICĂ ŞI MARKETING

Gateway Cloud Turck

Calitate aer comprimat Masurarea calitatii aerului comprimat conform ISO 8573 Continut de ulei rezidual - particule - umezeala Masurare continut ulei

Student: Mădălina-Maria Mitricioaei Titlul proiectului: IOT Sensor Hub Rezumat

XPS Configurare şi specificaţii

BOLLYWOOD STORY TOUCH Tipul de joc: Touch Game Câștigul jucătorului: 96.1% Bollywood Story Touch este un slot video plin de culoare cu 5 role, 3 rându

Microsoft PowerPoint - automatizari_lucrarea9.ppt

PowerPoint Presentation

Înregistrator de temperatură şi umiditate AX-DT100 Instrucţiuni de utilizare

Microsoft Word - Ansamblul software CRONIS

Cartelele telefonice

Microsoft Word - Plan de invatamant CALCULATOARE - prima pagina

Concepte de bază ale Tehnologiei Informației

Structura sistemelor de calcul

Microsoft Word - Secretul motivarii celorlalti -raport special GRATUIT.doc

HONEYWELL AWARD

Microsoft PowerPoint - prezentare_EA_licenta.pptx

BC-2000 Control Acces

Microsoft Word - Laboratorul 5.doc

Informatică aplicată TEST GRILA TEST GRILĂ - REZOLVAT 1.Structura de principiu a unui sistem de calcul contine urmatoarele componente principale: A. u

Dispozitive BENDER pentru monitorizarea rezistenţei de izolaţie Pornind de la necesitatea unui sistem de alimentare cu energie electrică cât mai sigur

Caraivan George-Alexandru Grupa 431A Interfața driver-kernel la Linux Introducere Deși pentru unii dintre noi acest lucru poate fi o supriză, cei mai

Fâciu N. Maria-Ema CASA CORPULUI DIDACTIC BRĂILA PROGRAM DE FORMARE INFORMATICĂ ȘI TIC PENTRU GIMNAZIU CLASA A V-A SERIA 1 GRUPA 2 CURSANT: Fâciu N. M

Unitatea: Școala Gimnazială Disciplina: Informatică și TIC Programa școlară aprobată cu OMEN nr.3393 din Profesor: prof. Clasa: a V-a A, B

Microsoft Word - planInvLicenta-ET doc.doc

Interfețe seriale

Microsoft Word - RECEPTOR CD 202E

PROGRAMA DE EXAMEN

Microsoft Word - HG CO

Slide 1

Subiecte

Microsoft Word - Notiuni de arhitectura calculatoarelor.doc

Transcriere:

ARHITECTURA UNOR MICROCONTROLERE DIN CATEGORIA PIC. TEHNICI DE ADRESARE A MEMORIEI. STRATEGII DE INTRARE-IEIRE 1. Microcontroler contra Microprocesor Microprocesorul, este unitatea central de prelucrare a informaiei (CPU) a unui calculator sau sistem structurat funcional, care coordoneaz sistemul i care, fizic, se prezint sub forma unui cip electronic. Microcontrolerul este o structur electronic destinat controlului unui proces sau, mai general, este un microcircuit care incorporeaz o unitate central (CPU), memorii i resurse care-i permit interaciunea cu mediul exterior. Pentru a fi folosit, unui microprocesor trebuie s i se ataeze alte componente ca memorie i componente pentru primirea i trimiterea de date. Microcontrolerul este proiectat s cu toate componentele necesare pentru funcionarea i interaciunea cu mediul exterior. Fig. 1. Microcontroler contra Microprocesor Printre multele domenii unde utilizarea lor este practic un standard industrial se pot meniona: în industria de automobile (controlul aprinderii motorului, climatizare, diagnoz, sisteme de alarm, etc.); @2018 1/10

în aa zisa electronic de consum (sisteme audio, televizoare, camere video i videocasetofoane, telefonie mobil, GPS-uri, jocuri electronice, etc.); în aparatura electrocasnic (maini de splat, frigidere, cuptoare cu microunde, aspiratoare); în industria aerospaial; 2. Structura unui microcontroler 2.1. Unitatea central de procesare Unitatea central de procesare, (CPU) este structurat pe locaii de memorie (regitri) având capacitatea de a realiza operaii logice i aritmetice (înmulire, împrire, scdere i adunare) precum i mutarea coninutului dintr-o locaie de memorie în alta. Fig. 2. Unitatea central de procesare Regitrii sunt deci locaii de memorie al cror rol este de a ajuta prin executarea a variate operaii matematice sau a altor operaii cu date. 2.2. Unitatea de memorie Memoria este o component a microcontrolerului a crei funcie este de a stoca date. R/W Fig. 3. Unitatea de memorie Memoria este alctuit din toate locaiile de memorie, iar adresarea acesteia nu este altceva decât selectarea uneia din ele. În afar de citirea dintr-o locaie de memorie, memoria trebuie de asemenea s permit scrierea în ea. Aceasta se face prin asigurarea unei linie de control R/W (citete /scrie). Linia de control este folosit în urmtorul fel: dac R/W=1, se face citirea, i dac opusul este adevrat atunci se face scrierea în locaia de memorie. @2018 2/10

2.3. Bus-ul Bus-ul sau magistral reprezint un grup de 8, 16, sau mai multe fire. Sunt dou tipuri de bus-uri: bus de adres i bus de date. Magistrala de adrese servete la transmiterea adreselor de la CPU la memorie, iar magistrala de date permite transmiterea datelor la componentele microcontrolerului. Fig. 4. CPU, memoria i magistralele Tehnici de adresare a memoriei Adresarea memoriei se face prin magistrala de adrese. Dac magistrala de adrese are n linii atunci mulimea adreselor este 2 n. Pentru a rezolva o problema, procesorul trebuie s cunoasc în fiecare moment atât operaia pe care urmeaz s o execute, cât i datele care particip în operaie. Aceste operaii sunt comunicate procesorului prin intermediul instruciunilor. Instruciunea reprezint o succesiune de cifre binare prin care se indic procesorului operaia de executat i amplasamentul (locul) operanzilor. OPCODE ID ADROP1... ADROPn Codul instruciunii Modalitatea de accesare a memoriei Adres operand 1 Adres operand n Principalele modaliti de adresare a memoriei sunt: a. adresarea în registru - în acest caz informaia asupra creia acioneaz instruciunea se afl localizat într-unul din regitri microprocesorului. b. adresarea imediat - informaia referin în acest caz se afl în memoria program la octetul imediat urmtor dup OPCODE i ID. c. adresarea absolut - informaia este localizat printr-o adres complet care se gsete în formatul instruciunii, imediat dup OPCODE i ID. d. adresarea informaiei în siv stiva constituie un segment de memorie separat. Accesarea informaiei din stiv se face utilizând registrul care conine adresa bazei segmentului de stiva i regitrii care conin baza i respectiv vârful stivei. În ceea ce privete funcionalitatea microcontrolerului, situaia s-a îmbuntit, dar o nou problem a aprut: avem o unitate ce este capabil s lucreze singur, dar nu poate interaciona cu mediul exterior. @2018 3/10

Pentru a înltura aceast deficien, se mai adug un bloc ce conine câteva locaii de memorie al cror singur capt este conectat la bus-ul de date, iar cellalt are conexiune cu liniile de ieire la microcontroler ce pot fi vzute cu ochiul liber ca pini la componenta electronic. 2.4. Unitatea intrare-ieire Unitatea intrare-ieire este structurat pe locaii de memorie denumite porturi. Porturile fizic sunt pinii microcontrolerului. Sunt diferite tipuri de porturi: intrare, ieire sau porturi pe dou-ci. Fig. 5. Unitatea intrare-ieire Strategii intrare - ieire Din punct de vedere al aplicaiei software implementat pe microprocesor pot exista trei metode de realizare a operaiei de intrare-ieire: metoda de interogare continu, utilizarea întreruperilor i transferul direct cu memoria. a. Tehnica de interogare continu - microprocesorul când are nevoie de citirea unei date de la portul de intrare trimite adresa acestuia pe magistrala de adrese i ateapt activarea semnalului READY de la portul respectiv. În intervalul de timp de la lansarea operaiei de citire de la porturi i pân când este activat semnalul READY microprocesorul ateapt, neputând s desfoare nici o alt aciune. b. Tehnica întreruperilor atunci când se activeaz o întrerupere, semnalul READY este activat, procesorul va încheia execuia instruciunii în curs i va realiza citirea datei disponibile pe portul de intrare. În acest caz, procesorul nu mai pierde timp în ateptarea semnalului READY, deci în ateptarea datelor de la portul de intrare. c. Tehnica de acces direct la memorie - aceasta tehnic de intrare-ieire este foarte frecvent utilizat pentru volume mari de date, de exemplu trimiterea datelor ctre o imprimanta sau citirea datelor de la o unitate optic (în cazul calculatoarelor). Atunci când se dorete transferul unui volum mare de date de la memorie la unul din periferice sau de la periferice la memorie, microprocesorul iniializeaz controlerul de acces direct la memorie DMA cu adresa de start a domeniului care trebuie s fac transferul, numrul de octei i sensul în care se face transferul. Un astfel de mecanism de transfer este foarte eficient atunci când microprocesorul este prevzut cu memorie cache. În intervalul de timp în care se face transferul de date microprocesorul poate continua activitatea utilizând instruciunile i datele stocate în memoria cache, deci apare o îmbuntire substanial a gradului de utilizare a timpului de calcul al microprocesorului. 2.6. Unitatea timer Unitatea de baz a timer-ului este un contor liber (free-run) care este de fapt un registru a crui valoare numeric crete cu o unitate la intervale egale, aa încât luându-i valoarea dup intervalele t 1 i t 2, pe baza diferenei lor s putem determina cât timp a trecut. @2018 4/10

Fig. 6. Unitatea timer 2.7. Watchdog-ul Whatchdog-ul este de fapt un alt contor liber (free-run) unde programul nostru trebuie s scrie un zero ori de câte ori se execut corect. În caz c programul se blocheaz, nu se va mai scrie zero, iar contorul va reseta singur microcontrolerul la atingerea valorii sale maxime. Aceast component este important pentru c asigur fiabilitate mare a programului fr supravegherea omului. Fig. 7. Watchdog-ul 2.8. Convertorul Analog-Digital Pentru c semnalele de la periferice (senzori, traductoare) sunt în general semnale analogice, substanial diferite de cele pe care le poate înelege microcontrolerul semnale numerice (zero i unu), ele trebuie convertite. Aceast conversie este asigurat de convertor analog-numeric. Fig. 8. Convertorul Analog-Digital 2.9. Comunicaia serial Interfaa de comunicaie serial este un periferic deosebit de util pentru realizarea conectarii microcontrolerului cu alte echipamente (de exemplu un alt microcontroler sau un calculator). Fig. 9. Unitatea serial folosit pentru a trimite date, dar numai prin trei linii @2018 5/10

Schema urmtoare reprezint seciunea central a microcontrolerului. Fig. 10. Elementele de baz i conexiunile interne ale microcontrolerului Ceea ce deosebete fundamental un microcontroler de un circuit integrat analogic sau digital, este faptul c el nu poate face nimic dac nu este programat. Programul software confer microcontrolerului, abilitatea de a realiza funcii diferite cu aceeai configuraie hardware. Scrierea programului se realizeaz de obicei într-un editor ce permite salvarea liniilor de comand introduse. Exist mai multe opiuni pentru scrierea programului de control al aplicaiei i anume: cod main (cod hexadecimal); limbaj de asamblare; limbaj de nivel înalt (C, Pascal, Basic etc). Comenzile recunoscute de microcontroler sunt cele scrise în cod main. Limbajul de asamblare i limbajele de nivel înalt sunt mai evoluate, conin instruciuni ce sunt uor de reinut, dar pentru transformarea acestora în cod main avem nevoie de un compilator. @2018 6/10

Compilatorul este program software, de obicei oferit gratuit de productorii microcontrolerelor. Pentru a transfera codul hexadecimal rezultat în urma compilrii, în memoria program a microcontrolerului este nevoie de un programator. Programatorul este compus dintr-un modul electronic care asigur interfaarea între aplicaia ce conine microcontrolerul i calculator (PC), i un program software ce ruleaz pe PC. 3. Microcontrolerul PIC 16F690 Microcontrolere PIC proiectate de Microchip Tehnology sunt o alegere bun pentru începtori. PIC16F690 are arhitectur Harvard i aparine unei clase de microcontrolere de 8 bii tip RISC. PIC16F690 este un microcontroler RISC (Reduced Instruction Set Computer), aceasta înseamn c are un set redus de instruciuni, mai precis 35 de instruciuni (de ex. microcontrolerele INTEL i Motorola au peste 100 de instruciuni). Tabel 1. Caracteristicile Microcontrolerului PIC16F690 Tipul caracteristicii Valoare Arhitectur Harvard Mrimea magistralei de date 8 Biti Memorie EEPROM 256Bytes Memorie SRAM 256 Bytes Dimensiune program memorie 7 kb Tip memorie program Flash Frecvena maxim 20 MHz Numr pini 20 Numr de intrri/ieiri 18 Numr de timere 3 Tensiune normal de funcionare 5 V Tensiune minim de funcionare 4,5 V Contoare libere PORTA PORTB PORTC Fig. 11. Schia microcontrolerului PIC16F690 Memoria program (FLASH) este utilizat pentru memorarea unui program scris. Pentru c memoria este fcut în tehnologia FLASH poate fi programat i tears mai mult decât odat, aceasta face microcontrolerul potrivit pentru dezvoltarea de serie. EEPROM - memorie de date folosit pentru memorarea de date importante ce nu trebuie pierdute dac sursa de alimentare se întrerupe dintr-o dat. RAM - memorie de date folosit de un program în timpul executrii sale. În RAM sunt memorate toate rezultatele intermediare sau datele temporare ce nu sunt cruciale i care se pot pierde la întreruperea sursei de alimentare. @2018 7/10

PORTUL A, PORTUL B i PORTUL C sunt conexiuni fizice (pinii) între microcontroler i exterior. Portul A are 6 pini, portul B are 4 pini, iar portul C are 8 pini. TIMER-LE LIBERE (FREE-RUN) sunt contoare libere de 8 bii în interiorul microcontrolerului ce lucreaz independent de program. La fiecare al patrulea impuls de ceas al oscilatorului îi încrementeaz valoarea lui pân ce atinge maximul (255), i apoi începe s numere tot din nou de la zero. Dup cum tim timpul exact dintre fiecare dou incrementri ale coninutului timer-ului, poate fi folosit pentru msurarea timpului ce este foarte util la unele componente. UNITATEA DE PROCESARE CENTRAL (CPU) are rolul unui element de conectivitate între celelalte blocuri ale microcontrolerului. Coordoneaz activitatea acestor blocuri i execut programul utilizatorului. Fig. 12. Pinii microcontrolerului PIC16F690 Pin nr.1 VDD - polul pozitiv al sursei. Pin nr.20 VSS masa (polul negativ al sursei). Pin nr. 17 RA2/AN2/T0CKI/INT/C1OUT (RA2 al doilea pin intrare/ieire la portul A, AN2 canal 2 de intrare pentru conversia analog digital, T0CKI timer 0, INT întrerupere din exterior, C1OUT comparator C1. RA0 RA5 cei 6 pini ai portului A. RB4 RB7 cei 4 pini ai portului B. RC0 RC7 cei 8 pini ai portului C. AN0 AN11 canale de intrare pentru conversia analog digital. 4. Microcontrolerul PIC 16F877 PIC16F84 aparine unei clase de microcontrolere de 8 bii cu arhitectura RISC (35 de instruciuni). Microcontrolerul are 5 porturi: A, B, C, D, E Tabel 2. Caracteristicile Microcontrolerului PIC16F877 Valoare Harvard 8 Biti 256Bytes 368 Bytes 8 kb Flash 20 MHz Tipul caracteristicii Arhitectur Mrimea magistralei de date Memorie EEPROM Memorie SRAM Dimensiune program memorie Tip memorie program Frecvena maxim Numr pini 40 Numr de intrri/ieiri 33 Numr de timere 3 Tensiune normal de funcionare 5 V @2018 8/10

RA0 RA5 cei 6 pini ai portului A. RB0 RB7 cei 8 pini ai portului B. RC0 RC7 cei 8 pini ai portului C. RD0 RD7 cei 8 pini ai portului D. RE0 RE2 cei 3 pini ai portului E. Fig. 13. Pinii microcontrolerului PIC16F877 @2018 9/10

Fig. 14. Componentele microcontrolerului PIC16F877 @2018 10/10