danilo.oklobdzija@vpskp.edu.rs Mikrokontroleri Nastanak mikrokontrolera Sa napredkom tehnologije rastao je stepen integracije integrisanih kola, što je dovelo do pojave prvih mikroprocesora i mikrokontrolera. Prvenstveno zbog svoje cene, mikrokontroleri nalaze sve veću primenu u svim oblastima u izradi softverski kontrolisanih uređaja i sistema – embedded sistema. Druga velika prednost mikrokontrolera, jeste činjenica da se mogu programirati u višim programskim jezicima tipa C, Paskal, Basic. To povećava broj ljudi koji ih mogu programirati, pa tako postaju pristupacniji ljudima koji se elektronikom bave iz hobija. Definicija Mikrokontroler je mali računar, realizovan u obliku integrisanog kola koji objedinjuje sve potrebne komponente, kako bi mogao samostalno da funkcioniše. Tu spadaju integrisani mikroprocesor, memorija, digitalni i analogni ulazi/izlazi, tajmeri, brojači, oscilatori i drugi sklopovi (u zavisnosti od vrste i namene mikrokontrolera) koji su ranije bili svaki u svom integrisanom čipu. Istorijat - 1 Godine 1969, stiže u SAD ekipa japanskih inženjera, iz firme BUSICOM, sa zahtevom da se po njihovim projektima izradi nekoliko integrisanih kola za primenu u kalkulatorima. Osnovna ideja je bila funkcija integralnog kola odredjuje programom smeštenim u njemu. Firma Intel pravo prodaje tog integralnog sklopa stekla je 1971. godine, prethodno otkupivši licencu od firme BUSICOM koja nije znala kakvo blago poseduje. Te godine se na tržistu pojavio mikroprocesor pod nazivom 4004. To je bio prvi 4- bitni mikroprocesor sa brzinom od 6000 operacija u sekundi. Istorijat -2 U aprilu 1972. godine pojavljuje se na tržistu prvi 8-bitni mikroprocesor pod nazivom 8008, koji je mogao adresirati 16kb memorije, iamo je 45 naredbi i brzinu od 300000 operacija u sekundi. Taj mikroprocesor je bio prethodnica svih danasnjih mikroprocesora. Intel nastavlja razvoj i u aprilu1974. godine iznosi na trziste 8-bitni procesor pod nazivom 8080 koji je mogao adresirati 64Kb memorije, imao je 75 naredbi i početnu cenu od 360 dolara. Istorijalt -3 U to vreme mnoge firme uvidjaju sve veci značaj mikroprocesora i krecu u svoj razvoj. U Motoroli su brzo shvatili šta se dogadja pa su na tržiste izbacili 8-bitni mikroprocesor 6800. Firma MOS Technology radi na razvoju mikroprocesora. Na izložbi WESCON u SAD, godine 1975., Firma MOS Technology objavljuje da prodaje svoje mikroprocesore 6501 i 6502 po ceni od 25 dolara, koje su zainteresovani posetioci mogli odmah da kupe Istorijat -4 Ni drugi se nisu predavali. Frederico Faggin napusta Intel i osniva svoju firmu Zilog Inc. Godine 1976 Zilog najavljuje Z80. Z80 je bio daleko najsnažniji mikroprocesor svoga doba. Godine 1976. Intel izlazi sa poboljšanom verzijom 8-bitnog mikroprocesora pod nazivom 8085. Godine 1993, primenom EEPROM memorija, (prvi put Microchip PIC16x84 familiji) omogućeno je brzo električno brisanje predhodnog sadržaja programske memorije Familije mikrokontrolersa Intele 80x51 i 80x52 Motorola 68x00 i HC- 908 Atmel AVR familija Microchipovi PIC mikrokontroleri Atmel Atmega familija Philips ARM familija ....... Razlike izmedju mikroprocesora i mikrokontrolera Mikrokontroler moze da funkcioniše kao računar bez dodataka spoljnih gradivnih blokova (memorije i U/I uredjaja), dok operativnost mikroprocesora bez spoljne memorije i U/I podsistema nije moguća.
Mikroprocesori su projektovani za brzi prenos podataka iz
programa sa spoljno adresiranih lokacija u čip, dok se kod mikrokontrolera brzi prenos bitova obavlja u okviru čipa.
Za manipulisanje sa podacima tipa bit mikroprocesori
koriste jedan ili dva tipa instrukcija, dok kod mikrokontrolera taj broj je veći. Osnovne karakteristike mikrokontrolera Ugrađeni (bulit-in) ROM u kome se čuva program. Može da se proširi i sa spoljašnjom ROM memorijom. Ugrađeni RAM, koji se koristi za čuvanje atraktivnih podataka, među reziltata, privremenih promenljivih i kao stek memorija. Operacije za rad na nivou bitova. Efikasno upravljanje i laku komunikaciju sa okruženjem pomocu ugrađenih serijskih, paralelnih i drugih interfejsa. Blok sema mikrokontrolera Elemeti arhitekture mikrokontrolera Microchip PIC familije mikrokontrolera Atmel AVR fmilije mikrokontrolera Elementi arhitekture mikrokontrolera U većini mikrokontrolera integrisani su sledeći moduli: Centralna procesorska jedinica (CPU); Oscilator; Memorija; Ulazno/izlazni portovi; Tajmeri i brojači; Analogno/digitalni konvertori; Digitalno/analogni kovertori; Standardizovani interfejsi za periferije (RS 232 C, SPI, ...). Procesor - 1 Procesor, CPU ili mikroprocesor, je obavazan modul svih mikrokontrolera. Arhitektura i orgnizacija procesorske jedinice je specifična za svaki mikrokontroler, dok su njihove osnove obrađene su u predhodnim poglavljima. Procesor -2 Specifičnost kod mikrokontrolera je da se pored registara neophodnih za rad procesora u oviru procesorske jedinice nalaze integrisani i: Registari opšte namene (General Purpose Registers); Registri za specijalne funkcije SFR (Special Function Registers). Procesor -3 Registri opšte namene su lokacije (realizovane kao registri ili lokacije brze namenske memeorije) koje su dostupne procesoru i kojima se znatno brže pristupa nego drugim lokacijama u mikrokontroleru. Procesor – 4 Registri za posebne funkcije (Special Function Registers) su memorijske lokacije koje su najčešće sastavni deo integrisane RAM memorije. Služe samo za posebne unapred određene funkcije (definisanje smera toka podataka ulaz ili izlaz, definisanje brzine kloka, itd.), Oscilator - 1 Eksterni oscilator se realizuje povezivanjem kristala na odovarajuće pinove mikrokontrolera, na koje je povezano oscilatorno kolo integrisano u samom mikrokontroleru. Oscilator – 2 Interni oscilatori se realizuju specifično za svaki mikrokontroler. Neki mikrokontroleri mogu koristiti bilo eksterini bili interni oscolator. Bez obzira koji se tip oscilatora koristi, mikrokontroler može da direktno koristiti frekvenciju oscilatora ili da deli tu frekvenciju. Deljenje se obično vrši upisom odgovarajuće vrednosti u neki predskalar, tj. neki od registara za specijalne funkcije mikrokontrolera Memorija Mikro kontroleri poseduju ugrađene ROM i RAM memorije. U zavisnosti od načina smeštanja podataka i programa razlikuju se dve arhitekture: Von Neumann-ova arhitektura Hardvard arhitektura von Neumann – Princeton Programska memorija i memorija za podatke dele isti adresni prostor, pa se instrukcije mogu izvršavati kako iz programske tako i iz memorije za podatke. Poznati proizvodjaèi ovih tipova mikrokontrolera su Intel, Atmel, Motorola. Ključna osobina ovih proizvoda je povećan broj instrukcija i adresnih načina rada, koji u kombinaciji sa relokatibilnim steckom omoguæavaju efikasno korišæenje programskog jezika visokog nivoa C. Arhitekture ovih mikrokontrolera su tipične za CISC (Complex instruction set computer) pristup. von Neumann – Princeton Harvard arhitektura Harvard tip- karakteriše se razdvojenim memorijama za program i podatke. Svaki tip memorije ima svoj sopstveni fizièki adresni prostor i koristi sopstvenu internu adresnu magistralu. Prednost ove arhitekture je ta što se pristup programskoj memoriji i memoriji za podatke ostvaruje konkurentno. Obvakvim pristupom se skraćuje ukupno vreme izvršenja programa. Proizvođači mikrokontrolera Microchip, Zilog, National Semiconductor i Cypress zasnivaju svoje proizvode na Harvard arhitekturi. Arhitekture ovih mikrokontrolera su tipične za RISC (Reduced instruction set computing) pristup. Harvard arhitektura Digitalni Ulaz/Izlaz -1 Uloga paralelnog interfejsa je da omogući komunikaciju sa spoljašnjim uređajima. Na primer tasteri, prekidači, releja, led diode, itd. Mogu biti hardverski definisani kao ulazni ili izlazni pinovi mikrokontolera. Mnogo češće se uloga pina (I/O) definiše kroz bitove konfiguracionog registar. Ulazi prihvataju dok izlazi generišu signale. Digitalni Ulaz/Izlaz -2 Najčešće su ulzno/izlazni pinovi grupisani u portove od po 8 bita. Često su multipleksirani tj. jedan pin može da imaju dve ili tri funkcije. Koju će funkciju imati konkretan pin deffiniše se upisom odgovarajućeg sadrzja u neki od programski vidljivh refistara specijalnih funkcija. Pored ovih konfiguracionih registara postoji i registar čiji sadržaj definiše vrednosti izlaznih pinova, odnosno odražava stanje na ulaznim pinovima. Digitalni Ulaz/Izlaz -3 Led dioda Povezivanje led diode Prekidač Pull down Pull up Rele Tajmeri – Brojači - 1 Uloga tajmera merenje vremena (interno genierisanog takta). Uloga brojača merenje broja impulsa (spoljašnji signal). Da li će se neki registr koristiti kao tajmer ili brojač definiše se upisom odgovarajućih vrednosti u konfiguracione registre Tajmeri – Brojači - 2 Registar tjmera može imati različitu dužinu pa se tajmeri prema tome dele na: 8 – bitne tajmere (Broje između 0-255) 16 – bitne tajmere (Broje između 0-65535) 32 – bitne tajmere (Broje između 0-4294967296)
Kada se dostigne konačna vrednost (0 ili
maksimlna moguća) tajmer genreiše signal prekida Tajmer
Može još da ima signal Up/Down
8051 Timer
Može da bude brojač ili tajmer
Da generiše prekid Da radi ciklično (u modu 1) Da bude baud rate generaor. Watchdog timer Posebnu vrstu tajmera predstavlja WDT (Watchdog timer). WDT se koristi da bi se automatski detektovale greške pri izvršenju programa. WDT je baziran na brojaču koji broji od neke inicijalne vrednosti do nule sa određenim taktom. Inicijalna vrednost se postavlja softersi i progam je periodično osvežava. Ako bilo kog trenutka vrednost WDT postane nula generiše se prekidni signal koji signalizira grešku u izvršrnju programa. A/D konvertori -1 Određeni pinovi mikrokontrolera mogu da se konfigurišu da budu analogni ulazi. Cela procedura merenja i konvertovanja odvija se u posebnom modulu mikrokontrolera koji se naziva Analogno/Digitalni konvertor. Rezolucija predstavlja broj mogućih vrednosti kojima A/D konvertor može predstaviti opseg signala koji meri. A/D konvetor ima i još dva dodatna ulaza Vref+ i Vref-. To znači da se celokupan opseg A/D konvertora raspodeljuje na naponski opseg koji je doveden između ulaza Vref+ i Vref-. A/D konvertori - 2 D/A Konvertori Pojedini mikrokontroleri imaju u sebi integrisan i DAC (Digital to Analog Convertor), što im omogućava da generišu analogni izlaz. Vrednost signala na ulazu zavisi od vrednosti upisane u odgovarajući registar mikrokontrolera. Ovo se pre svega odnosi na namenske mikrokontrolere koji služe za obradu signala (DSP - Digital Signal Processor). Interfejsi Mikrokontroleri veoma često imaju potrebu za komunikaciju sa PC računarima, drugim mikrokontrolerima ili periferijama. RS 232 C
Paralleni port
USB
Sa inteligentnim senzorima i aktuatorima:
I2C SPI Kontakt
dr Danilo Oklobdžija danilo.oklobdzija@vpskp.edu.rs Hvala na pažnji