avr mikrokontroleri

Upload: stjepan-bartolovic

Post on 04-Apr-2018

226 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/30/2019 AVR Mikrokontroleri

    1/1

    ELEKTROTEHNIKI FAKULTET BEOGRAD

    KATEDRA ZA RAUNARSKU TEHNIKU I INFORMATIKU

    Atmel AVR mikrokontroleri

    Ana Balevi[ [email protected]] Gvozden Marinkovi[ [email protected]]

    Sadraj

    Uvod Familije AVR mikrokontrolera Arhitektura AVR Mikrokontrolera Softverski alati Programiranje Atmel AVR familije mikrokontrolera Neki od projekata Korisni linkovi

    Uvod

    Familija mikrokontrolera AVR je uvedena na triste tokom 1997 god. od strane Atmel-a, ime predstavlja prvu novu8-bitnu arhitekturu koja se pojavila u poslednjih 20 godina. Kao posledica novina nastalih korienjem interne Flashprogramske memorije, koju je mogue veoma jednostavno programirati ISP (In-System Programming) metodom iveoma povoljnog odnosa cene i performansi ova Atmel-ova familija kontinualno osvaja sve vei deo tritamikrokontrolera.

    U osnovi se nalazi moderni 8-bitni RISC mikroprocesor koji sadri 32 registra opte namene, ali i bogat setinstrukcija. Performanse AVR mikrokontrolera su dosta iznad proseka - AVR mikroprocesore odlikuje velika brzinaizvravanja do 16 MIPS, to je oko 12 puta vise nego kod standardnih 8-bitnih mikroprocesora,dok su sa drugestrane i memorijske performanse znatno poboljane kombinovanim korienjem Flash memorije (trenutno veliine do

    128KB) i EEPROM memorije.

    Familije AVR mikrokontrolera

    Kao posledica uspeha AVR mikrokontrolera nakon pojavljivanja 1997. nastavljen je razvoj arhitekture u nekolikorazliitih pravaca kako bi se postiglo maksimalno prilagoenje potrebama korisnika, ime se izdvojilo nekolikospecifinih klasa AVR mikrokontrolera.

    Slika1. AVR Roadmap

    Kratak pregled karakteristika najee korienih familija AVR mikrokontrolera:

    AVR(Classic) - predstavlja osnovnu familiju AVR mikrokontrolera; tipian predstavnik je ip AT90S8515 kojiposeduje solidan broj mogunosti. Pregled postojeih ipova...

    MEGA AVRfamilija mikrokontrolera ima jedinstvenu memoriju sa mogunou samoprogramiranja (Self-Programming Memory) , kao i mogunost itanja iz memorije tokom upisa (Read while Write). Mikrokontroleri iz ovefamilije se mogu nai u varijantama sa 8-12K Flash memorije, do 4K EEPROM-a i do 4K RAM-a, i dolaze u 32-64pinskom pakovanju. Usmereni su na specijalizovane segmente trita, i esto se koriste kao komponente uprenosivim ureajima, beinoj komunikaciji, bezbednosti Pregled postojeih ipova...

    LCD AVR- pored standardnih mogunosti poseduju 4x25 segmentni LCD drajver, kao i JTAG interfejs za on-chipdebugging. Pregled postojeih ipova...

    DVD AVR sadre ATAPI komaptibilan DVD/CD interfejs kontroler. Pregled postojeih ipova...

    TINY AVR- sadre manje kapacitete Flash memorije 1-2KB,32-128B SRAM,i opcioni EEPROM, dolaze u 8-pinskompakovanju i brzine su od 4-16MIPS,a postoje i varijante sa integrisanim AD konvertorom, USI, kao i pulsno irinskimmodulatorom. TinyAVR mikrokontroleri su projektovani tako da odgovaraju zahtevima prenosnih aplikacija. Pregledpostojeih ipova...

    RF AVRmikrokontroleri predstavljaju kombinaciju AVR mikrokontrolera i RF transmitera visokih performansi, kojiradi na frekvenciji 250-460MHz. Koriste se na tritima koja imaju potrebu za beinom daljinskom kontrolom popristupanoj ceni: alarmi za kola, garage door openers, home convinience controls... Pregled postojeih ipova...

    SECURE AVR u mikrokontroleru su integrisani generator sluajnih brojeva,kripto procesor i on-chip security.Upotreba: omoguuju dizajn embedded sistema koji imaju potrebu za sigurnou i kriptovanjem podataka kao to jeto sluaj kod Internet transakcija,pretplata na TV kanale, bankarstva. Ove smart card aplikacije zahtevaju visokeperformanse da bi se obezbedila enkripcija podataka u relanom vremenu. Pregled postojeih ipova...

    USB AVR - poseduje konfigurabilni low/high speed USB kontroler koji podrzava 5 end pointa i ima integrisan 12-kanalni 10-bitni AD konvertor. Koriste se kod kontrolera za video igrice, ureaja za akviziciju podataka, senzora...Pregled postojeih ipova...

    FPGA AVR ova familija je dizajnirana da omogui brzu imlementaciju visoko zahtevnih projekata sa velikim brojemgejtova (5K-50K) kroz upotrebu alata za sintezu kao to su Synplicity,ModelSim... Upotreba: kao koprocesor zabrzinski zahtevne (DSP/processorbased) projekte implementacijom raunski zahtevnih aritmetikih funkcija.Pregledpostojeih ipova...

    Uporedna tabela osnovnih karakteristika AVR mikrokontrolera...

    Arhitektura AVR Mikrokontrolera

    Posebna prednost AVR familije kontrolera je konzistentna arhitektura - svi Atmelovi AVR mikrokontroleri imajuidentino jezgro (Core), set instrukcija i organizaciju memorije, a razlike koje postoje medju raznim familijama AVRmikrokontrolera odnose se na dodatne specifine mogunosti koje su ugraene u svaku od njih, kapacitetmemorije,radni napon napajanja,nain pakovanja (broj pinova) itdOvo ima za posledicu jednostavnijeprogramiranje u sluaju promene mikrokontrolera u toku faze projektovanja (nema potrebe za izmenom napisanogkoda,ve se pie samo dodatni kod za rad sa specifinim komponentama novog mikrokontrolera).

    Oznake razliitih familija mikrokontrolera, kao sto su tinyAVR, AVR (Classic AVR) i megaAVR se ne odnose naperformanse, ve predstavljaju naznaku kompleksnosti mikrokontrolera. Dok je spektar mogunosti kod megaAVRveoma irok, tako je kod tinyAVR ogranien i predstavlja podskup mogunosti AVR familije.

    Slika2. Opta ema AVR mikrokontrolera

    AVR familija mikrokontrolera je bazirana na novoj, poboljanoj RISC arhitekturi koja je nastala kao rezultat tenje dase maksimalno iskoristi trend visoke integracije poluprovodnika, kao i rapidni razvoj softverskih mogunosti tokomposlednje decenije prolog veka. Kao rezultat su dobijeni AVR mikrokontroleri koji nude najbolji odnos brzineizvravanja instrukcija i potronje (MIPS/mW) na tritu 8-bitnih mikrokontrolera.

    AVR RISC familija mikrokontrolera se proizvodi u Atmelovoj CMOS tehnologiji koju karakterie smanjena potronja -npr. AVR sa brzinom izvravanja 10 MIPS ima potronju oko 40mW.

    U cilju optimizacije veliine koda, performansi i potronje, arhitektura AVR mikroprocesora objedinjuje veliki

    registarski fajl sa kratkim vremenom pristupa i brze instrukcije koje se izvravaju u samo jednom ciklusu. Brzopristupni registarski fajl se sastoji od 32 8-bitna radna registra opte namene. Dok klasine arhitekture bazirane naupotrebi akumulatora zahtevaju veliku koliinu programskog koda za prenos podataka izmeu akumulatora imemorije, kod AVR mikrokontrolera su ovi transferi podataka eliminisani korienjem 32 radna registra, od kojih jesvaki mogue koristiti kao akumulator. Razlika se najbolje moe videti na jednostavnom primeru:

    Slika 3. AVR vs. CISC code

    Svi registri su direktno povezani sa aritmetiko logikom jedinicom (ALU) ime je omoguen pristup do dva nezavisnaregistra u toku izvravanja jedne instrukcije. ALU operacije se dele u tri osnovne kategorije: aritmetike, logike ioperacije nad bitima.

    AVR koristi koncept Harvardske arhitekture postoje posebne memorije i magistrale za programski kod ipodatke,kao to se moe videti na Slici 4. koja predstavlja arhitekturu najpopularnijeg pocesora Classic AVR familije.Programska memorija se izvrava sa dvostepenim pipeline-om. Paralelno sa izvravanjem tekue instrukcije AVRdovlai narednu instrukciju, i zatim je izvrava u sledeem ciklusu takta. Ovaj koncept omoguava da jednainstrukcija bude izvrena u svakom taktu. Kod drugih CISC i RISC arhitektura, eksterni takt oscilatora se deli (do 12puta) i na taj nain se dobija interni izvrni takt. Mora se podvui da je to jedna od glavnih prednosti AVRmikrokontrolera sa poboljanom RISC arhitekturom - na AVR mikroprocesoru od 8MHz izvri se 8 miliona instrukcijau sekundi (MIPS), to je daleko bolje od PIC mikroprocesora na 20MHz koji daje samo 3-4MIPS.

    AVR arhitektura pokriva celo cenovno podruje poev od jeftinih jednostavnih ipova sa malim brojem noica izfamilije tinyAVR, do iroko namenskih mikrokontrolera iz familije megaAVR. Bazirani na Harvard arhitekturi umogunosti su da adresiraju do 8MB programske memorije i i 8MB memorije podataka. Registarski fajl je dvostrukomapiran i moe biti adresiran kao deo on-chip SRAM memorije ime je omoguena brza zamena konteksta.

    Memorijski prostor IO ureaja sadri 64 adrese za periferijske funkcije kao to su kontrolni registri, tajmeri-brojai,A/D konvertori... IO ureajima se pristupa direktno ili preko podruja podataka, budui da se oni takoe mapiraju u

    adresni prostor SRAM memorije.

    IO struktura AVR mikrokontrolera je dobro definisana, ime se znaajno umanjuje potreba za dodavanjem eksternihkomponenti. Komponente koje se najee nalaze u AVR mikrokontrolerima su:

    Interni ili Eksterni Oscilator

    Brown Out Detektor detektor pada napona napajanja

    Jedan ili vie tajmera

    Dva ili vie PWM (Puls Width Modulator) mogu biti korieni za digitalno analognu konverziju

    Jedan ili vise USART-a namenjenih serijskoj komunikaciji

    I2C magistrala

    Sat realnog vremena (Real Time Clock)

    Watchdog Timer detekcija pojedinih vrsta greaka nastalih u radu i resetovanje mikrokontrolera

    10bitni AD Konvertor

    Analogni komparator

    Eksterni Prekidi

    Pulse timing capture

    Dodatni eksterni EEPROM

    USB/CAN/RF

    Za detaljne informacije pogledati DataSheet konkretnog AVR mikrokontrolera koji se moe nai na adresihttp://www.atmel.com/dyn/products/datasheets.asp?family_id=607

    Softverski alati za rad sa Atmel AVR Mikrokontrolerima

    Jezici visokog nivoa postaju standard za programiranje mikrokontrolera zbog jednostavnijeg odravanja i kraegvremena isporuke produkta na trite. Arhitektura AVR mikrokontrolera je od samog poetka razvijana u saradnji saekspertima za programski jezik C kako bi se obezbedila uzajamna kolaboracija hardvera i softvera u cilju dobijanjavisoko efikasnog koda. Kao posledica toga AVR instrukcije su optimizovane u cilju smanjenja veliine programa,nezavisno od toga da li je napisan u C-u ili asembleru. Jednostavan, ali odlian primer programa za mikrokontrolerAT90S8515 iz familije AVR (Classic), kao i rada u integrisanom razvojnom okruenju AVR Studio 4 moe se videti uAtmel Journal-u, publikaciji koja je posebno posveena AVR mikrokontrolerima.

    Karakteristika projektovanja sa Atmel mikrokontrolerima je veoma lak poetak samog procesa projektovanja - namrei se moe nai veliki broj besplatnih i kvalitetnih razvojnih alata, kao to su:

    AVR Studio 4 profesionalno integrisano razvojno okruenje (IDE) za razvoj i testiranje AVR aplikacija u Windowsokruenju,koje sadri asembler, C kompajler i simulator. AVR Studio podrava sledee alate: ICE50, ICE40, JTAGICE,ICE200, STK500/501/502 and AVRISP.

    WinAVR kompletan Win32 instalacioni paket, sadri AVR-GCC kompajler za C i C++, simulator i mnoge dodatnealate.

    Imagecraft's ICCAVR komercijalni C kompajler i moderno grafiko razvojno okruenje. Mogue je besplatno skinuti30-dnevnu potpuno funkcionalnu demo verziju.

    AVRfreaks - na sajtu AVRfreaks.net moe se naci GNU C kompajler za Microsoft Windows (AVR-GCC 3.2)

    ETH Zrich najnovija distribucija GNU C kompajlera za Linux

    GNU Compiler Collection (GCC) - AVR development tools (binaries+source)

    Postoje mnogi operativni sistemi za rad u realnom vremenu (RTOS) za sisteme koji koriste AVR mikrokontrolere ineki od njih su:

    Nut/OS

    FreeRTOS

    AvrX

    Programiranje Atmel AVR familije mikrokontrolera

    Flash i EEPROM memoriju koja se nalazi na AVR mikrokontrolerima mogue je programirati koristei ISP (In SystemProgramming) metodu koja se odnosi na programiranje mikrokontrolera dok su na razvojnom sistemu ili kada su vezalemljeni na plocicu, odnosno bez vaenja i smetanja u programator, kao i na klasian nacin. ISP programiranje jeserijsko da bi se koristio to manji broj pinova. Kombinacijom poboljane RISC arhitekture i downloadable Flashmemorije na istom ipu, AVR familija mikrokontrolera predstavlja mono reenje za embedded kontrolne aplikacije.

    ISP programator, kao i razvojni sistem za AVR se kod nas moe nabaviti preko sajta Mikroelektronika , dok je prekoAtmel-ovog sajta moguce naruiti njihov programator, razvojni sistem STK500, JTAGICE emulator...

    Na adresi http://wiredworld.tripod.com/tronics/atmel_isp.htmlnalazi se ema za samostalnu realizaciju ISPprogramatora.

    Neki od projekata u kojima su korieni AVR Mikrokontroleri

    Ethernut Board kombinacija Atmel-ovog Atmega 128 RISC mikrokontrolera sa Realtek 8019AS mrenimkontrolerom predstavlja odlinu osnovu za razvoj emebedded ureajaza razne vrsta aplikacija kao to su: ureaji zadaljinsku kontrolu, alarmi, daljinska dijagnoza i servis, embedded WebServer-i, industrijske Ethernet aplikacije. Naadresi http://www.ethernut.de/en/appliances.html mogu se nai linkovi na veliki broj interesantnih projekata koji surealizovani korienjem Ethernut Board-a.

    GPS-GSM Mobile Navigator dizajn koji je osvojio tree mesto na Atmel-ovom takmicenju 2001 ureaj se koristiza beino praenje i kontrolu vozila (brodova,kamiona). Srce ureaja predstavlja AT90S8515 Mikrokontroler kojiprima podatke o koordinatama vozila preko GPS risivera i nakon obrade ih alje preko GSM mreze kontrolnom centruu vidu SMS poruka. Osim praenja vozila, implementirane su i druge usluge kao to su alarmi, kontrola statusa iauriranje sistema.

    RF-Controlled Irrigation System primer upotrebe Atmel mikrokontrolera za automatizaciju i pojednostavljenjeaktivnosti navodnjavanja bate, putem beinog ukljuivanja i iskljuivanja pumpi. Atmel AVR 8535 predstavljacentar irigacionog kontrolera, sa preprogramiranim vremenima ukljuivanja i trajanja navodnjavanja, a za beinukomunikaciju su korieni Abacom QMR1 quasi-AM/FM risiver i AT-MT1 AM transmiter.

    AVR and Hobby Robotics ARC 1.1 AVR Robot Controler predstavlja integrisani Robot Control Board sa svimkomponentama koje su potrebne za kontrolu robota i baziran je na 8MHz-nom AVR ATmega 16 procesoru sa 16KBmemorije.

    BtNode autonomna beina komunikaciona raunarska platforma zasnovana na Bluetooth radio prenosu iATmega128 mikrokontroleru. Trenutno se koristi kao demonstraciona platforma u mobilnim i ad-hoc komunikacionimmreama (MANETs), kao i mreama distribuiranih senzora.

    CARACA projekat za automatizaciju kunih ureaja baziran na mrei meusobno povezanih programabilnih kolakoja su u mogunosti da izvravaju razliite poslove ukljuuju/iskljuuju kune aparate, dekoduju komande IRdaljinskih upravljaa, kontroliu termostate, mere temperaturu i sl. Svaki vor mree moe da komunicira saostalima preko robusnog protokola (CANBus), dok se status ureaja moe nadgledati preko PC raunara povezanogna Internet.

    Tiny Planet: a planet-wide, wireless I/O port - alarm i daljinska kontrola ureaja preko GSM-a.

    Korisni linkovi

    http://www.atmel.com ( Official Atmel Corporation WebSite )

    http://www.avrfreaks.com ( Best AVR Site )

    http://www.ethernut.de ( Embedded Ethernet Site )

    http://r.webring.com/hub?ring=avr ( AVR Web Ring )

    http://www.barello.net

    http://ww.mikroelektronika.co.yu

    http://www.openavr.org

    http://www.netrino.com/Publications/Glossary/MemoryTypes.html ( Memory Types Comparison )