220 likes | 515 Views
Sisteme cu microcontrolere. Curs XI. Microcontrolerul. Un microcontroller (MCU) este un minicomputer integrat intr-un singur “chip” Microcontrollerul integreaza toate periferice necesare functionarii.
E N D
Sisteme cu microcontrolere Curs XI
Microcontrolerul • Un microcontroller (MCU) este un minicomputer integrat intr-un singur “chip” • Microcontrollerul integreaza toate periferice necesare functionarii. • Majoritatea microcontrolerelor utilizate in prezent sunt inglobate (embedded) in alte sisteme sau produse cum sunt: telefoanele mobile, ceasuri, automobile, infracstructura, echipamente industriale, masini de spalat, cuptoare cu microunde. • Sistemele cu microcontrolere in general nu dispun de sistemul de intrare iesire caracteristic computerelor (tastatura, monitor, imprimanta, disc). In schimb microcontrolerele pot controla motoare, relee, si pot citi starea unor contacte sau pozitia unor potentiametere. • Uneori singurile iesiri destinate operatorilor umani pot fi simple leduri care pot lipsii si ele ca urmare a unor consrangeri restrictive de pret sau consum de energie.
Integrare pe scara larga • Unele microcontrolere au integrata intreaga memoria RAM si EPROM sau Flesh si nu au magistrale de date si adresa. In acest caz este posibila reducerea numarului de pini, reducand asfel dimensiunile capsulei si costul. (PIC, Athmel) • Iesirile/Intrarile microcontrolerelor pot fi organizate pe porturi. Acestea pot fi configurate in magistale de date si adrese pentru accesarea unei memorii externe (Familia 8051, 80C166, C167).
Unitati componente • Unitatea de procesare centrala (central processing unit) – de la unitati foarte simple pe 4 sau 8 biti pana la unitati complexe pe 32 sau 64 biti. • Memorie RAM pentru stocare date • Memorie ROM, EPROM, EEPROM or Flash memory pentru stocare profram si date constante • Dispozitive periferice ca: “timers” si “watchdog” , unitati de comparare capturare, unitati de PWM • Interfata de intrare-iesire • Port serial universal (UART) • Alte comunicatii seriale ca: I²C, Serial Peripheral Interface and Controller Area Network pentru interconectarea • Oscilator de tact pilotat cu cristal de cuartz. • Convertor analog digital • Convertor digital analog
UART – universal asynchronous receiver/transmitter • Comunicatie seriala asincrona universal – se caracterizeaza prin transmiterea bitilor de start si stop. • Standarde utilizate in comunicatia seriala: RS-232 ( contine minim trei semnale: emisie, receptie, masa); RS-422 (transmiterea diferentiala a semnalelor) RS-485 ( permite conectare si transferul de date intre mai multe dispozitive utilizand doua conductoare • Unele dispozitive au capacitatea de a transmite/receptiona sincrn (USART) Nivelul semnalului pentru standardul RS-485
I²C - Inter-Integrated Circuit • Utilizat pentru interconectarea perifericelor lente. • Inventat de Philips • Permite conectarea a maxim 112 noduri (numarul maxim de adrese pe 7 bit); Numarul de noduri este limitat si de capacitatea maxima de 400pF. • Nivele de tensiune tipice: 5V sau 3.3V • Viteza intre 10 kbits/s la 400kbits/s • Standardul nou – Adresare pe 10 bit si viteza pana la 3.4Mbits/s Comunicatia pe magistrala I2C: Start – semnalul SDA trece in zero in timpm ce semnalul SCL ramane pe 1. Cand semnalul SCL trece in 0, nivelul semnalului SDA se schimba in acord cu informatia transmisa. Cand semnalalul SCL este pe 1 se citeste informatia transmisa. Trecerea din 0 in 1 a semnalulului SDA cand SCL este pe 1 semnifica sfarsitul transmisiei.
Serial Peripheral Interface Bus • Interfata seriala sincrona pentru periferice – permite un master si mai multe periferice Conectare inlantuita a dispozitivelor slave – utilizand o singura linie de selectie
Controller Area Network (CAN) • Este o transmisie seriala difuzata spre toate nodurile din retea. • Toate nodurile din retea pot asculta transmisia • Numai nodurile caraora le-a fost destinata informatio o vor utiliza • La nivel de semnal fizic este similara transmisiei RS 485 - transmisie diferentiala pe doua conductoare. Imunitatea la zgomot poate fi crescuta prin rasucirea celor doua conductoare. • Pachetele de date sunt scurte (0 la 8 octeti) si sunt protejate printr-un cod redundant de 15 bit (CRC-15). • A fost dezvoltat in 1980 de firma BOSCH pentru interconectarea microcontrolerelor si perifericelor in industria automobileleor. • Viteza de transfer de 1Mbit/s pt. o lungime totala a retelei de 40m si 125kbits/s pt. 500m. • Mecanism avansat pentru detectia coliziunilor.
Microcontrollerul 8051 • Lansat de Intel in 1980 (MCS 51) • Foarte popular in anii 1980-1990, peste 20 de producatori independenti • Arhitectura de tip Harvard • Frecventa initiala 12 MHz cu 12 cicli/ciclu masina rezulta 1milion cicli masina/s • Majoritatea instructiunilor se executa intr-un ciclu masina • La ora actuala sunt disponibile versiuni la 100 -150MHz • Procesoare derivate: 8048 – controlerul de tastatura
Caracteristicile MCS 51 • It provides many functions (CPU, RAM, ROM, I/O, interrupt logic, timer, etc.) in a single package • 8-bit data bus - It can access 8 bits of data in one operation (hence it is an 8-bitmicroprocessor) • 16-bit address bus - It can access 216 memory locations - 64 kB each of RAM and ROM • On-chip RAM - 128 bytes ("Data Memory") • On-chip ROM - 4 kB ("Program Memory") • Four byte bi-directional input/output port • UART (serial port) • Two 16-bit timers • Two-level interrupt priority • Power saving mode
Microcontrolere pe 16bit • Famialia 80C166 si succesorul C167 • Au fost derivate din familia 80C51