35
4/1/2015 1

Curs 6 APTB 2015 Prezentare PPT

Embed Size (px)

DESCRIPTION

Curs 6 APTB

Citation preview

4/1/2015 1

AUTOMATIZAREA PROCESELOR TEHNOLOGICE SI BIOTEHNOLOGICE

Curs 6

Capitolul 6. Microcontrolere

6.1 Structura sistemelor numerice pentru automatizare

6.2 Circuite de intrare-ieşire pentru sisteme numerice

6.3 Reţele numerice seriale pentru conducereaproceselor

4/1/2015 2

4/1/2015 3

Un microcontroller este un microprocesor destinat în

general controlului unor procese industriale care contine

memorii si diverse porturi de I/O integrate pe acelasi cip.

6.1 Structura sistemelor numerice pentru automatizare

Microcontroler ATMega 32 16-PU

La modul general un controler ("controller" - untermen de origine anglo-saxonă, cu un domeniu decuprindere foarte larg) este, actualmente, o structurăelectronică destinată controlului (destul de evident!)unui proces sau, mai general, unei interactiunicaracteristice cu mediul exterior, fără să fie necesarăinterventia operatorului uman.

Primele controlere au fost realizate în tehnologii puranalogice, folosind componente electronice discretesi/sau componente electromecanice (de exemplu relee).

4/1/2015 4

Aparitia si utilizarea microprocesoarelor de uz general a dusla o reducere consistentă a costurilor, dimensiunilor, consumuluisi o îmbunătătire a fiabilitătii.

Există si la ora actuală o serie de astfel de controlere decalitate, realizate în jurul unor microprocesoare de uz generalcum ar fi Z80 (Zilog), 8086/8088 (Intel), 6809 (Motorola), etc.

Acronime utilizate:

un microprocesor de uz general este desemnat prin MPU(MicroProcessor Unit),

un microcontroler este, de regulă, desemnat ca MCU, desisemnificatia initială a acestui acronim este MicroComputer Unit.

4/1/2015 5

Pe măsură ce procesul de miniaturizare a continuat,a fost posibil ca majoritatea componentelor necesarerealizării unei astfel de structuri să fie încorporate(integrate) la nivelul unui singur microcircuit (cip).

Astfel că un microcontroler ar putea fi descris ca fiindsi o solutie (nu în sens exhaustiv !) a problemei controluluicu ajutorul a (aproape) unui singur circuit.

O definitie, cu un sens foarte larg de cuprindere,ar fi aceea că un microcontroler este un microcircuitcare incorporează o unitate centrală (CPU) si omemorie împreună cu resurse care-i permitinteractiunea cu mediul exterior.

4/1/2015 6

Resursele integrate la nivelul microcircuitului artrebui să includă, cel putin, următoarele componente:

o unitate centrală (CPU), cu un oscilator intern pentru ceasul de sistem

o memorie locală tip ROM/PROM/EPROM/FLASH si eventual una de tip RAM

un sistem de întreruperi

I/O - intrări/iesiri numerice (de tip port paralel)

un port serial de tip asincron si/sau sincron, programabil

un sistem de timere-temporizatoare/numărătoare programabile

4/1/2015 7

4/1/2015 8

Arhitectura microcontrolerului 8051

Este posibil ca la acestea să fie adăugate, la un pret de costavantajos, caracteristici specifice sarcinii de control care trebuieîndeplinite:

un sistem de conversie analog numerică (una sau mai multe intrari analogice)

un sistem de conversie numeric analogic si/sau iesiri PWM (cu modulare în durată)

un comparator analogic

o memorie de date nevolatilă de tip EEPROM

facilităti suplimentare pentru sistemul de temporizare / numărare (captare si comparare)

Un microcontroler tipic mai are, la nivelul unitătii centrale,facilităti de prelucrare a informatiei la nivel de bit, de acces directsi usor la intrări/iesiri si un mecanism de prelucrare.

4/1/2015 9

Implementarea memoriei microcontrolerelor

În afară de memoria locală de tip RAM, dedimensiuni relativ reduse (de la x10 octeti la x1k),implementată ca atare sau existentă sub forma unui set deregistre si destinată memorării datelor (variabilelor),mai există o serie de aspecte specifice, marea majoritate aacestora fiind legată de implementarea fizică a memorieide program (si eventual a unei părti a memoriei de date) cuajutorul unor memorii nevolatile.

Clasic, memoria de program era implementată într-ovariantă de tip ROM: EPROM pentru dezvoltare siproductie pe scară mică/medie sau mask-ROM pentruproductia de masă.

4/1/2015 10

Principalele concepte noi apărute de a lungul timpului înlegătură cu implementarea memoriei de program sau date suntenumerate în continuare.

a. OTP (One Time Programmable) - majoritatea

producătorilor oferă variante de microcontrolere la care memoria

locală de program este de tip OTP, practic o memorie PROM

identică intern cu varianta EPROM, dar fără fereastra de cuart

pentru stergere (deci si mai ieftine); aceste variante pot fi utilizate

ca o alternativă pentru o productie limitată, până în momentul

testării si validării finale a codului, moment în care pot fi

comandate variantele (mask) ROM propriu-zise, cele mai

economice pentru o productie de masă.

4/1/2015 11

b. FLASH EPROM - este o solutie mai bună decât EPROM-ul propriu-zisatunci când este necesar un volum mare de memorie program (nevolatilă);mai rapidă si cu un număr garantat suficient de mare (x10000) de cicluri deprogramare (de stergere/scriere), este caracterizată si prin modalităti maiflexibile de programare; este utilizată numai ca memorie de program.

c. EEPROM - multe microcontrolere au si o memorie de acest tip, dedimensiune limitată (de la x 10 octeti la x K octeti), destinată memorăriiunui număr limitat de parametrii (memorie de date) care eventual trebuiemodificati din timp în timp; este o memorie relativ lentă (la scriere), dar cuun număr de cicluri de stergere/scriere mai mare ca FLASH-ul (x 1 00000).

d. NO VRAM (RAM nevolatil) - realizat prin alimentarea locală (baterie,acumulator) a unui masiv RAM CMOS atunci când este necesar un volummare de memorie de program si date nevolatilă; mult mai rapidă decâttoate celelalte tipuri si fără limitări ca număr de cicluri.

4/1/2015 12

4/1/2015 13Architectura Memoriei microcontrolerelor AVR

e. Programarea "In System" (ISP-In System Programming) -folosirea unor memorii nevolatile de tip FLASH face posibilă si"programarea" unui astfel de microcontroler fără a-l scoate din sistemulîn care este încorporat (programare on-line, In System Programming);.

Programarea se face de regulă prin intermediul unei interfete serialededicate de tip ISP (poate avea nume diferite) sau a unei interfetestandard JTAG.

Există microcontrolere la care această programare se poate face prinintermediul portului serial asincron sau al interfetei CAN (ControllerArea Network). Este posibilă astfel modificarea cu usurintă a coduluiprogram sau a unor constante de lucru (local sau de la distantă-remoteupdate).

4/1/2015 14

4/1/2015 15

Programator USB AVRISP mkII

Programarea ISP a microcontrolerului

Familii de microcontrolere reprezentative

În continuare sunt prezentate familiile de microcontrolere cele maicunoscute, de 8 biti si 16biti.

a. 8048

"Bunicul" microcontrolerelor pe 8 biti, mai este încă folosit! Uneledin caracteristicile sale arhitecturale se regăsesc la următoarea generatie(MCS-51, 8051).

b. 8051

A doua generatie de microcontrolere de 8 biti a firmei Intel care,desi apărută acum 20 de ani, încă ocupă un segment semnificativ depiată. Cu o arhitectură destul de ciudată, este suficient de puternic siusor de programat (odată învătat!). Arhitectura sa are spatii de memorieseparate pentru program si date.

4/1/2015 16Microcontroler 8048(stg); 8051(dr);

c. AVR

Un concurent puternic al seriei PIC este familia numită AVR, a firmeiATMEL, familie apărută în ultimii ani, care oferă variante de microcontrolereoarecum asemănătoare ca resurse cu familia PIC, la performante similare saumai bune.

Sunt bazate pe o arhitectură diferită, dar unitatea centrală este tot de tipRISC, cu cuvântul de date de 8 biti. La fel ca la PIC dimensiunea cuvântului deprogram este mai mare, fiind de 16 biti. Există cel putin 3 sub familii mari, înordinea complexitătii resurselor, acestea fiind: AT Tiny, AT90 si ATMega.

4/1/2015 17Arhitectura microcontrolerului AVR

4/1/2015 18

6.2 Circuite de intrare-ieşire pentru sisteme numerice

Toate microcontrolerele au un număr oarecare deintrări - Inputs / iesiri numerice - Outputs (de la x 1 lax10) organizate sub forma unor porturi I/O; conexiunileexterioare sunt bidirectionale sau unidirectionale, unelesunt multifunctionale (se oferă functii alternative pe acelasipin), unele pot avea o capacitate sporită de a absorbi curent(de exemplu pentru comanda directă a unui LED, cu IOL max= 20mA), etc.

4/1/2015 19

Pinii reprezinta conectorii de metal de pe pachetulcipului controlerului.

În timp ce unii dintre acesti pini pot fi utilizati în mod liber înprogramele realizate, altii au alte scopuri, de exemplu, pentrualimentarea cu tensiune a controlerului.

Există, de asemenea, pini, care au în mod normal un scopdistinctiv, dar în unele aplicații pot fi utilizati in mod liber.

Pinii conexiunilor electrice care nu sunt configurablii nu pot fiaccesati din cadrul programului.

In general fiecare PIN poate fi utilizată ca intrare sau ieșiredigitală. Aceasta înseamnă că poate "asculta" semnalul care ii estefurnizat sau furnizează un semnal în sine. Aceste două comportamentesunt numite Direcția de Date.

4/1/2015 20

Porturi

Dupa cum va puteti aminti de la cursurile anterioare deingineria calculatorelor, un procesor are un set de registrecare conțin date sau controleaza dispozitivele periferice.

Un microcontroler, de obicei, nu este nimic mai multdecât un microprocesor cu memorie, anumite componentehardware speciale (contor, ADC, ...) și acces direct la I/O.

Seria microcontrolerelor Atmega are o arhitectură 8biți. Se poate calcula valoarea mărimii unui octet în modnormal ca un ciclu de ceas. Din acest motiv, 8 pini suntcombinați pentru a forma 1 port, care pur și simplu estereprezentat de un registru în CPU.

Porturile sunt enumerate cu majuscule (A, B, C, ...),pinii cu numere de la 0 ... 7.

De exemplu PIND6 reprezintă pinul nr. 6 pe portul D.Fiecare bit într-un registru de I/O reprezintă un pin (fizic).

4/1/2015 21

Porturi Intrare - Iesire ATMega 328

4/1/2015 22

În afară de setului de intrări/iesiri de uz general, pentruinterfata cu mediul exterior se oferă o serie de alte facilitătiimportante de intrare/iesire cum ar fi:

a. UART (Universal Asynchronous Receiver Transmitter) este unport serial bidirectional destinat implementării unui protocolclasic de comunicatie asincron;USART (Universal Synchronous Asynchronous ReceiverTransmitter) este un port similar, dar care permite implementareasi a unui protocol sincron cu obtinerea unor viteze mai mari decomunicatie;SCI (Serial Communications Interface) este un circuit de tipUART îmbunătătit, definit si utilizate de firmaFreescale(Motorola).LIN (Local Interconnect Network) reprezintă o implementareparticulară a unui protocol de comunicatie asincron, utilizată înindustria de automobile ca o alternativă de mică viteză dar cu pretscăzut pentru magistrala si protocolul CAN (vezi mai jos).

6.3 Reţele seriale pentru conducerea proceselor

4/1/2015 23

b. Porturi seriale sincrone dedicate - sunt destinatetransferului serial de date de mare viteză cu unele perifericespecializate (sisteme de afisare, convertoare analog-numerice,etc.) sau care permit conectarea într-o retea de comunicatie.

- SPI (Serial Peripheral Interface) este un port serial sincron definit defirma Motorola- Microwire / Microwire Plus este o interfată serială bidirectionalăsincronă definită si utilizată de firma National Semiconductors- I2C (Inter Integrated Circuits bus) este o interfată serială bidirectională(pe numai 2 fire), dezvoltată de Philips, destinată aplicatiilor de 8 biti. Existăsi multe circuite "periferice" care sunt prevăzute cu o astfel de interfată. Estecunoscută si sub denumirea TWI (Two Wire Interface)- CAN (Controller Area Network) proprietate intelectuală a firmei Bosch,foarte utilizat în Europa si Japonia, oarecum similar ca functionalitate luiSAE J1850 care este utilizat în America de Nord (SAE -Society of AutomotiveEngineers), este un standard (o magistrală si un protocol) de comunicatieserială sincronă utilizat în industria de automobile, permitândinterconectarea într-o retea a diverselor componente inteligente (senzori,elemente de executie, indicatoare, etc.) omniprezente într-un automobilmodern.

4/1/2015 24

c. Conectivitate Ethernet/Web - implică existenta unor resursecare să permită integrarea cu usurintă într-o retea de tip Ethernet,pentru a face posibilă, în final, implementarea unui protocol TCP/IP(a unei stive TCP/IP). Resursele respective pot fi de natură software(stivă soft) care presupun o viteză de prelucrare (putere de calcul) aCPU suficient de mare pentru a nu afecta vizibil operarea propriu-zisă a controlerului, sau hardware (stivă hardware). Pe baza acesteistive se poate realiza o conectivitate tip HTTP, FTP, STMP, POP3, etc.

d. Conectivitate USB - magistrala serială USB (Universal Serial Bus)a fost creată pentru conectarea cu usurintă a diverselor periferice laun calculator PC (cu rolul de gazdă - host).

Conexiunea permite si furnizarea tensiunii de alimentare. La oraactuală există pe piată multe firme care oferă o gamă largă demicrocontrolere cu conectivitate USB cu un pret de cost minimpentru componentele hardware si software.

Exemple în acest sens ar fi firmele: Atmel, Microchip, Intel, Cypress,ST, Infineon, s.a. Majoritatea sunt destinate realizării unor perifericeUSB si mai putine realizării unui USB host.

4/1/2015 25

e. Conectivitate Wireless - se referă la existenta unor resursehardware si/sau software care să permită integrarea cuusurintă si la un pret de cost avantajos într-o retea de tipwireless, pentru a face posibilă, în final, implementarea unuiprotocol (a stivei aferente protocolului).

Exemplele cele mai cunoscute de astfel de retele, protocoalesi stive sunt Bluetooth (IEEE 802.15.1) si Zigbee (IEEE802.15.4).

4/1/2015 26

4/1/2015 27

f. Convertoarele Analog Numerice (CAN, ADC)Convertoarele utilizate fac parte de regulă dintr-un sistem deachizitie de date, existând si un multiplexor analogic cu maimulte canale de intrare. Rezolutia disponibilă este tipic de 8,10 sau 12 biti, uneori cu precizia (rezolutia adevărată)corespunzătoare unui număr mai mic de biti.

4/1/2015 28

g. Convertoarele Numeric Analogice (CNA, DAC).

Cea mai răspândită tehnică de conversie numeric analogicăfolosită este bazată pe modulatia în factor de umplere (PWM-Pulse Width Modulation).

Există unul sau mai multe canale pe care se poate genera untren de impulsuri cu factor de umplere programabil (de la 0 la100%).

Factorul de umplere este controlat cu o rezolutie de la 8 bitisau 16 biti. Frecventa trenului de impulsuri este si eaprogramabilă, în limite largi.

La un microcontroler fără un sistem PWM dedicat, în acestscop se poate utiliza, cu o flexibilitate mai scăzută, sistemul detimere/numărătoare si orice iesire numerică. Printr-o filtrareexterioară relativ simplă, de tip trece jos (FTJ, Low Pass), se poateobtine o tensiune de iesire proportională cu factorul de umplere.

Convertoare numeric analogice propriu-zise sunt mairar întâlnite.

4/1/2015 29

În graficul de mai jos, liniile verzi reprezintă o perioadă de timpregulata. Această durată sau perioadă este inversul frecvenței PWM.

Cu alte cuvinte, la un modul Arduino cu o frecvența PWM deaproximativ 500Hz, liniile verzi ar masura 2 milisecunde fiecare.Apelarea functiei analogWrite () se face pe o scară de la 0 la 255, astfelîncât, de exemplu, analogWrite (255) solicită un ciclu de 100% (mereudeschis), iar analogWrite (127) are un factor de umplere de 50% (dejumătate din timp).

Conversia numeric analogica tip PWM

4/1/2015 30Conversia numeric analogica tip PWM

4/1/2015 31

h. Interfata pentru sisteme de afisare tip LCD (panou LCD)

În ultimul timp în familiile de microcontrolere deja consacrate sauîn familiile noi au apărut variante care posedă un subsistem destinatconectării directe, cu utilizarea unui număr minim de componenteexterioare, unui sistem de afisare (un panou) de tip LCD (cu cristalelichide). Interfata respectivă generează toate semnalele necesare pentrucomanda panoului LCD. Complexitatea sa este descrisă prin numărulmaxim de segmente LCD care pot fi controlate, fiind limitată în primulrând de numărul de conexiuni externe necesare (pentru un număr marede segmente oricum se folosesc tehnici de multiplexare).

LCD RGB Backlight

4/1/2015 32

Exemplu: Comanda Releu ARDUINO RELEU.ino

4/1/2015 33

Codul programului RELEU.ino

4/1/2015 34

4/1/2015 35

VĂ MULŢUMESC PENTRU ATENŢIA

ACORDATA !