Curs Microcontrolere
Total Page:16
File Type:pdf, Size:1020Kb
PREFAŢĂ Se consideră anul 1971, când INTEL a anunţat producerea primului microprocesor, ca momentul trecerii de la electronica implementată cablat la electronica realizată programat. Primul microprocesor 4004 a fost conceput de M. E. Hoff ca un procesor puţin simplificat pentru a putea fi implementat, la vremea aceea, pe un singur chip în siliciu. Iniţial, microprocesorul nu a fost un computer- on-a-chip, deşi în timp a ajuns la acest stadiu; conceptul de microprocesor s-a dezvoltat şi spre alte implementări specifice: microcontroller, microcalculator, procesor de semnale (DSP). Oricare din aceste circuite, pentru a deveni parte a unui sistem, impune un proces de proiectare care se bazează în egală măsură atât pe componenta hardware cât şi pe componenta software. Microprocesorul, sau celelalte variante ale sale, integrat într-un sistem aduc acestuia acea performanţă, care atunci când este realizată de fiinţa umană este referită ca inteligenţă. În general, microprocesorul este integrat ca unitate centrală de procesare în sistemele digitale de calcul. Actual, aproape toate sistemele au o arhitectură de sistem digital particularizându-se în funcţie de aplicare/utilizare. Aplicaţiile care nu sunt, în sensul clasic, sisteme digitale de calcul sunt în general implementate pe bază de microprocesor sau DSP. Implementările sistemelor pe bază de microcontroller ori DSP devin simple şi ieftine -–pentru că utilizează deja o componentă de serie, devin performante – pentru că utilizează o componentă care poate asigura suport pentru inteligenţă, devin flexibile – pentru că utilizează o componentă ce poate fi programată. Forţa care a impus sistemele pe bază de microcontroller constă în programabilitatea unei componente de serie. Pentru sistemele la care o componentă de serie, chiar programabilă în software, nu duce la rezultatele cele mai bune au apărut implementările pe bază de circuite ASIC (Application Specific Integrated Circuits). Spre deosebire de sistemele pe bază de microcontroller, unde funcţionarea dorită se obţine, în software, printr-un anumit program, la sistemele pe bază de circuite ASIC funcţionarea dorită se obţine prin structurarea hardware- ului cu un anumit program. Alegerea între o implementare pe bază de microcontroller, o implementare pe bază de circuit ASIC sau una combinată depinde de aplicaţia respectivă şi de cerinţele impuse. Prezenta carte constituie un material, dar fără a absolutiza, pentru abordarea sistemelor pe bază de microcontroller. Materialul prezentat şi CD-ul VI MICROCONTROLLERE alăturat asigură un traseu de la descrierea funcţionării unui microcontroller generic, dar şi cu exemplificări comerciale, până la analiza, sinteza implementarea şi testarea unui sistem. Deoarece oferta pe piaţă pentru microcontrollere este vastă şi variată, pe acest traseu s-a accentuat prezentarea comparativă şi critică încercând să se imprime cititorului analiza lucidă în faţa avalanşei agresive a ofertelor de piaţă. Cartea a fost elaborată în cadrul programului Tempus RESUME (REtraining SUpport for small and Medium Enterprises) de la Universitatea TRANSILVANIA din Braşov, program care a avut printre obiective şi sprijinul dezvoltării de sisteme pe bază de microcontrollere în/şi pentru întreprinderi mici şi mijlocii. Ţinând cont de această adresă cartea nu este destinată numai inginerilor în specialitatea de electronică şi ingineria calculatoarelor ci şi inginerilor de alte specialităţi care au o practică sau doresc să abordeze acest domeniu al sistemelor pe bază de microcontroller. Nu există actual produse de HiTech care să nu se bazeze direct sau indirect pe microprocesor sau microcontroller. În consecinţă, într-o economie de tranziţie, cum este a noastră, care doreşte să se impună, formarea de personal care să ştie să proiecteze/implementeze/exploateze sisteme pe bază de microcontroller este o necesitate prioritară. Mulţumim tuturor celor care ne-au sprijinit, colegilor Catedrei de Electronică şi Calculatoare, d-l asist. ing. Răzvan Brătucu şi mai ales domnilor profesori Marcian Cîrstea de la DMU Leicester - Marea Britanie, Josef Hoffmann de la Fachhochschule Karlsruhe - Germania, Dr. Peter Corcoran - National University of Ireland, MSC Eng.Petronel Bigioi, doctorand la Universitatea Transilvania Braşov precum şi studenţilor aceleiaşi universităţi. Braşov, Ianuarie 2001 CUPRINS DESCRIERE GENERALĂ ________________________________________________ 1 1.1 ISTORIC __________________________________________________________ 1 1.2 SCHEMA BLOC GENERALĂ ____________________________________________ 3 1.3 ARHITECTURA MC__________________________________________________ 5 1.3.1 Unitatea centrală de prelucrare ____________________________________ 6 1.3.2 Memoria _____________________________________________________ 8 1.3.3 Dispozitive I/O _______________________________________________ 10 1.4 SISTEMUL DE ÎNTRERUPERI___________________________________________ 28 1.5 MANAGEMENTUL PUTERII____________________________________________ 34 1.6 SCHEMA BLOC A UNUI MC____________________________________________ 35 1.7 FAMILII DE MC ___________________________________________________ 37 1.8 CLASIFICAREA MC ________________________________________________ 41 PROGRAMAREA SISTEMELOR CU MC _________________________________ 43 2.1 PROIECTAREA PROGRAMELOR DE APLICAŢIE _____________________________ 43 2.1.1 Generalităţi __________________________________________________ 43 2.1.2 Instrucţiuni ale MC____________________________________________ 50 2.1.3 Instrumente software de proiectare: MC 8051 _______________________ 56 2.1.4 Instrumente software de proiectare: MC PIC ________________________ 67 MICROCONTROLLERE MOTOROLA ___________________________________ 71 3.1 MC M68HC05____________________________________________________ 72 3.1.1 Memoria internă ______________________________________________ 72 3.1.2 Unitatea centrală______________________________________________ 73 3.1.3 Moduri de adresare____________________________________________ 75 3.1.4 Setul de instrucţiuni ___________________________________________ 76 3.1.5 Sistemul de întreruperi _________________________________________ 77 3.1.6 Interfeţe şi periferice on-chip ____________________________________ 78 3.1.7 Managementul puterii__________________________________________ 87 3.1.8 Autoverificarea _______________________________________________ 88 3.1.9 Programarea EPROM__________________________________________ 88 3.2 MC M68HC08____________________________________________________ 89 3.2.1 Unitatea centrală 6808 _________________________________________ 90 3.2.2 Interfeţe şi periferice on-chip ____________________________________ 91 3.2.3 Programarea memoriei EEPROM ________________________________ 96 3.3 MC PE 16 BIŢI - 6816_______________________________________________ 97 3.3.1 Modulul de integrare (SIM, System Integration Module) ______________ 98 3.3.2 Interfeţe_____________________________________________________ 98 3.4 MC PE 32 DE BIŢI - 68300 ___________________________________________ 99 3.5 DATE COMPARATIVE PENTRU MC MOTOROLA –CISC_____________________ 100 VIII MICROCONTROLLERE FAMILIA MCS-51_____________________________________________________ 101 4.1 STRUCTURA ŞI FUNCŢIONAREA_______________________________________ 102 4.1.1 Gestionarea memoriei_________________________________________ 104 4.1.2 Circuitele timer______________________________________________ 104 4.1.3 Interfaţa serială UART ________________________________________ 106 4.1.4 Sistemul de întreruperi ________________________________________ 106 4.1.5 Operarea cu economie de energie________________________________ 108 4.2 PROGRAMAREA MC DIN FAMILIA MCS-51 _____________________________ 108 4.2.1 Setul de instrucţiuni 8051 ______________________________________ 108 4.2.2 Modurile de adresare _________________________________________ 110 4.3 ALTE INTERFEŢE ŞI PERIFERICE ON-CHIP ______________________________ 111 4.3.1 Interfaţa I2C (Siemens P80CL580)_______________________________ 111 4.3.2 Aria de numărătoare programabilă (PCA) _________________________ 113 4.3.3 MC cu interfaţă pentru RAM nevolatil - NVRAM (Dallas DS5000FP) __ 115 4.3.4 MC specializat pentru TV şi video (PHILIPS 83C145) _______________ 115 4.3.5 MC cu arie configurabilă (TRISCEND E5) ________________________ 116 4.4 SISTEM MINIMAL CU 8051 __________________________________________ 118 4.5 DATE COMPARATIVE PENTRU MC DIN FAMILIA MCS-51___________________ 119 MICROCONTROLLERE RISC _________________________________________ 121 5.1 MICROCONTROLLER PIC ___________________________________________ 121 5.1.1 PIC12 _____________________________________________________ 121 5.1.2 PIC16 _____________________________________________________ 125 5.1.3 PIC17 _____________________________________________________ 127 5.2 MC ATMEL ____________________________________________________ 129 5.2.1 Familia AVR________________________________________________ 129 5.2.2 Familia ARM _______________________________________________ 138 CRITERII DE PROIECTARE ___________________________________________ 141 6.1 CRITERIILE PENTRU ALEGEREA UNUI MC_______________________________ 141 6.2 ALGORITMUL PROIECTĂRII SISTEMELOR CU MC __________________________ 143 6.3 PROIECTAREA SISTEMELOR CU MC ÎN VEDEREA SIGURANŢEI ÎN EXPLOATARE __ 145 6.3.1 Cablajul imprimat ____________________________________________ 146 6.3.2 Ceasul de gardă______________________________________________ 147 6.3.3 Programarea defensivă ________________________________________ 147 APLICAŢII___________________________________________________________