Top Banner
Ú Ú vod do vod do mikrokontrol mikrokontrol é é r r ů ů ATMEL AVR ATMEL AVR Konkr Konkr é é tn tn ě ě klon klon ů ů ř ř ady ady ATmega ATmega Č Č ESK ESK É É VYSOK VYSOK É É U U Č Č EN EN Í Í TECHNICK TECHNICK É É V V PRAZE PRAZE Fakulta elektrotechnick Fakulta elektrotechnick á á Katedra teorie obvod Katedra teorie obvod ů ů Martin Pokorný 31SCS – 2004
19

Úvod do mikrokontrolérů ATMEL AVR Konkrétn ěklon ...noel.feld.cvut.cz/vyu/scs/prezentace2005/ATmega/ATmega.pdf · Úvod do mikrokontrolérů ATMEL AVR Konkrétn ěklon ůřady

Feb 15, 2018

Download

Documents

voliem
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Úvod do mikrokontrolérů ATMEL AVR Konkrétn ěklon ...noel.feld.cvut.cz/vyu/scs/prezentace2005/ATmega/ATmega.pdf · Úvod do mikrokontrolérů ATMEL AVR Konkrétn ěklon ůřady

ÚÚvod do vod do mikrokontrolmikrokontroléérrůůATMEL AVRATMEL AVR

KonkrKonkréétntněě klonklonůů řřady ady ATmegaATmega

ČČESKESKÉÉ VYSOKVYSOKÉÉ UUČČENENÍÍ TECHNICKTECHNICKÉÉVV PRAZEPRAZE

Fakulta elektrotechnickFakulta elektrotechnickááKatedra teorie obvodKatedra teorie obvodůů

Martin Pokorný31SCS – 2004

Page 2: Úvod do mikrokontrolérů ATMEL AVR Konkrétn ěklon ...noel.feld.cvut.cz/vyu/scs/prezentace2005/ATmega/ATmega.pdf · Úvod do mikrokontrolérů ATMEL AVR Konkrétn ěklon ůřady

ÚVODRodina mikrokontrolérů AVR s RISC architekturou je velmi zdařilým

výsledkem architektury mikrokontrolérů přizpůsobených jazyku C. Rodina AVR se ovšem se 120-ti instrukcemi u výkonnějších typů velmi přibližuje CPU s architekturou CISC. Všechny ostatní charakteristiky, jako stejná bitová šířka instrukcí a zpracování instrukcí v jednom hodinovém cyklu jsou naopak typické vlastnosti architektury RISC. Proto je možno říci, že rodina AVR využívá výhod obou architektur: výkonnosti RISC s rozsahem instrukční sady blížící se CISC. Zdá se, že to je klíčem k moderním architekturám MCU. Tak je možno udržet nízkou velikost programu, při větší rychlosti zpracování. Instrukční kód má šířku 16 bitůa je tedy dostatečně velký, aby mohl v jednom instrukčním slověpojmout jak instrukci, tak operand.

Jednostupňové zřetězení instrukcí (pipeline) podporuje zpracováníinstrukčního slova, přečtení, interpretaci a provedení v jediném hodinovém cyklu.

32 univerzálních pracovních registrů, které všechny mohou pracovat jako 8-bitový akumulátor, umožňuje vyhnout se zbytečnému přemísťování obsahu registrů u aritmetických operací.

Page 3: Úvod do mikrokontrolérů ATMEL AVR Konkrétn ěklon ...noel.feld.cvut.cz/vyu/scs/prezentace2005/ATmega/ATmega.pdf · Úvod do mikrokontrolérů ATMEL AVR Konkrétn ěklon ůřady

•• HarwardskHarwardskáá architekturaarchitekturaoddodděělenlenéé sbsběěrnice pamrnice paměěti programu a datti programu a dat

•• VonVon NeumannovskNeumannovskáá architekturaarchitekturaspolespoleččnnáá sbsběěrnice programovrnice programovéé a datova datovéé pampaměětiti

•• CISC ( CISC ( ComplexComplex InstructionInstruction Set Set ComputerComputer ))kompletnkompletníí instrukinstrukččnníí sadasada

•• RISC ( RISC ( ReducedReduced InstructionInstruction Set Set ComputerComputer ))redukovanredukovanáá instrukinstrukččnníí sadasada

•• CISP ( CISP ( ConfigurableConfigurable InstructionInstruction Set Set ProcessorProcessor ))instrukinstrukččnníí sada a architektura registrsada a architektura registrůů jsou volnjsou volněědefinovatelndefinovatelnéé uužživatelemivatelem

ZZáákladnkladníí rozdrozděělenleníí architektur MCUarchitektur MCU

Page 4: Úvod do mikrokontrolérů ATMEL AVR Konkrétn ěklon ...noel.feld.cvut.cz/vyu/scs/prezentace2005/ATmega/ATmega.pdf · Úvod do mikrokontrolérů ATMEL AVR Konkrétn ěklon ůřady

ZZáákladnkladníí charakteristika ATMEL AVRcharakteristika ATMEL AVR•• Architektura typu Architektura typu HarwardHarward a RISCa RISC•• 32 identických 832 identických 8--bitových registrbitových registrůů pro vpro vššeobecneobecnéé poupoužžititíí, kter, kteréé jsou jsou

vvššechny pouechny použžitelnitelnéé jako akumuljako akumuláátortor•• Ukazatel na zUkazatel na záásobnsobníík (k (stackstack pointer) a tpointer) a třři adresni adresníí ukazatele X, Y, Z, ukazatele X, Y, Z,

kterkteréé jsou vytvjsou vytváářřeny z registreny z registrůů R26/27=X, R28/29=Y, R30/31=ZR26/27=X, R28/29=Y, R30/31=Z•• Pro registry ukazatelPro registry ukazatelůů Y a Z je moY a Z je možžnnáá indexace polindexace políí pomocpomocíí 66--ti bitovti bitovéé

relativnrelativníí adresy (adresy (displacementdisplacement))•• VVššechny registry jsou adresovatelnechny registry jsou adresovatelnéé prostprostřřednictvednictvíím standardnm standardníích ch

pampaměťěťových pových přříístupstupůů•• BitovBitovéé adresovadresováánníí pro vpro vššechny registryechny registry•• S výjimkou S výjimkou ččtytyřř 32bitových instrukc32bitových instrukcíí majmajíí vvššechny dechny déélku 16 bitlku 16 bitůů•• LineLineáárnrníí adresnadresníí prostor pro datovou pamprostor pro datovou paměťěť navzdory funknavzdory funkččnníímu mu

rozdrozděělenleníí•• InternInterníí pampaměťěť:: FLASH pro programFLASH pro program

SRAM pro registry, oblast I/O a dataSRAM pro registry, oblast I/O a dataEEPROM pro uklEEPROM pro uklááddáánníí datdat

Page 5: Úvod do mikrokontrolérů ATMEL AVR Konkrétn ěklon ...noel.feld.cvut.cz/vyu/scs/prezentace2005/ATmega/ATmega.pdf · Úvod do mikrokontrolérů ATMEL AVR Konkrétn ěklon ůřady

•• ExternExterníí pampaměťěť:: RAM rozRAM rozšíšířřitelnitelnáá v zv záávislosti na typu MCUvislosti na typu MCU•• 64 pam64 paměťěťových mových mííst vstupu/výstupu (prostst vstupu/výstupu (prostřřednictvednictvíím instrukce I/O m instrukce I/O

nebo adresnnebo adresníí ppřříístup 0x20 astup 0x20 ažž 0x5F)0x5F)•• Ochrana pOchrana přřed poklesem naped poklesem napáájecjecíího napho napěěttíí ((brownbrown--outout))•• ŽŽáádndnéé daldalšíší dděělenleníí hodinovhodinovéého cyklu krystaluho cyklu krystalu•• K dispozici jsou jK dispozici jsou jáádra RTOSdra RTOS•• AVR 1200 mAVR 1200 máá jen 3jen 3úúrovrovňňový zový záásobnsobníík a k a žžáádnou pdnou přříídavnou RAMdavnou RAM•• Mnoho funkMnoho funkččnníích blokch blokůů a perifa perifééririíí podle typu MCUpodle typu MCU

Základní charakteristika AVR -pokračování

Page 6: Úvod do mikrokontrolérů ATMEL AVR Konkrétn ěklon ...noel.feld.cvut.cz/vyu/scs/prezentace2005/ATmega/ATmega.pdf · Úvod do mikrokontrolérů ATMEL AVR Konkrétn ěklon ůřady

FunkFunkččnníí bloky u jednotek MCU typu AVRbloky u jednotek MCU typu AVR

Page 7: Úvod do mikrokontrolérů ATMEL AVR Konkrétn ěklon ...noel.feld.cvut.cz/vyu/scs/prezentace2005/ATmega/ATmega.pdf · Úvod do mikrokontrolérů ATMEL AVR Konkrétn ěklon ůřady

StruStruččný popis jednotlivých funkný popis jednotlivých funkččnníích blokch blokůů•• UARTUART –– UniverzUniverzáálnlníí sséériový priový přřijijíímamačč/vys/vysíílalačč

PlnPlněě duplexnduplexníí sséériový kanriový kanáál, umol, umožňžňujujííccíí komunikaci ve standardnkomunikaci ve standardníím 8 a m 8 a 9bitov9bitovéém asynchronnm asynchronníím rem režžimu. Obsahuje detekci faleimu. Obsahuje detekci faleššnnéého startho start--bitu, bitu, detekci chybndetekci chybnéého znaku a pho znaku a přřeteeteččeneníí datovdatovéého registru, filtraci ho registru, filtraci ššumu. umu. Disponuje 3 vektory pDisponuje 3 vektory přřerueruššeneníí: : vysvysíílláánníí dokondokonččeno, vyseno, vysíílaclacíí vyrovnvyrovnáávacvacííregistr prregistr práázdný a pzdný a přřííjem kompletnjem kompletníí..

•• ISPISP –– InIn--systemsystem programmingprogrammingTento blok umoTento blok umožňžňuje programovuje programováánníí MCU pMCU přřes jednoduches jednoduchéé sséériovriovéé rozhranrozhranííppřříímo v aplikacimo v aplikaci

•• BrownBrown OutOut –– PodpPodpěťěťovováá ochranaochrana

•• WatchdogWatchdog –– HlHlíídacdacíí obvodobvodJe Je ččasovaasovačč, který je spu, který je spuššttěěn po n po reseturesetu, nebo pozd, nebo pozděěji z programu a po ji z programu a po vyprvyprššeneníí ččasovasovéého limitu vyvolho limitu vyvoláá automatickautomatickéé ppřřerueruššeneníí, pokud ho n, pokud ho něějakým jakým podmpodměětem (signtem (signáálem, hodnotou zapsanou do lem, hodnotou zapsanou do řřííddííccíího registru, speciho registru, speciáálnlnííinstrukcinstrukcíí) nevr) nevrááttííme do pome do poččááteteččnníího stavuho stavu

Page 8: Úvod do mikrokontrolérů ATMEL AVR Konkrétn ěklon ...noel.feld.cvut.cz/vyu/scs/prezentace2005/ATmega/ATmega.pdf · Úvod do mikrokontrolérů ATMEL AVR Konkrétn ěklon ůřady

StruStruččný popis jednotlivých funkný popis jednotlivých funkččnníích blokch blokůů

•• ČČíítatačč//ččasovaasovačč -- mmůžůže me míít nt něěkolik funkckolik funkcíí::Klasický čítač/časovač

1. Output Compare - Porovnává hodnotu čítače s hodnotou v OutputCompare Registru a v případě shody může vyvolat přerušení

2. Input Capture - Jednotka záchytu hrany - zachycuje stav čítače okamžiku kdy se změní stav na pinu ICP do aktivní úrovně

3. PWM – Tento blok může sloučit i ke generování signálu PWM (PulsněŠířková Modulace)

•• SPI SPI –– SynchronnSynchronníí sséériový port (riový port (SerialSerial PeriphalPeriphal Interface) Interface) Master/Master/SlaveSlave, r, růůznznéé ppřřenosovenosovéé rychlosti + dalrychlosti + dalšíší standardnstandardníí momožžnosti nosti nastavennastaveníí tohoto rozhranntohoto rozhranníí

Page 9: Úvod do mikrokontrolérů ATMEL AVR Konkrétn ěklon ...noel.feld.cvut.cz/vyu/scs/prezentace2005/ATmega/ATmega.pdf · Úvod do mikrokontrolérů ATMEL AVR Konkrétn ěklon ůřady

StruStruččný popis jednotlivých funkný popis jednotlivých funkččnníích blokch blokůů

•• Analogový komparAnalogový komparáátor tor –– mmůžůže se vyue se využžíít napt napřřííklad pro mklad pro méénněě řřesnýesný A/D A/D ppřřevodnevodnííkk

•• A/D A/D ppřřevodnevodníík k –– ve vve věěttššininěě MCU MCU ATmegaATmega kombinace 10 bitový + 8 bitový kombinace 10 bitový + 8 bitový ppřřevodnevodníík s nk s něěkolika pkolika přřepepíínatelnými vstupy, s monatelnými vstupy, s možžnostnostíí omezenomezeníí ššumuumu

•• PPřřerueruššovacovacíí systsystéém (m (InterruptsInterrupts))Adresy vektorAdresy vektorůů ppřřerueruššeneníí (pomoc(pomocíí kterých se pkterých se přřerueruššeneníí obsluhuje) jsou obsluhuje) jsou uspouspořřááddáány za sebou od zany za sebou od začčáátku pamtku paměťěťovovéého prostoru.ho prostoru.Jejich poJejich poččet a funkce zet a funkce záávisvisíí na dostupných perifna dostupných perifééririíích danch danéého MCU. ho MCU.

Page 10: Úvod do mikrokontrolérů ATMEL AVR Konkrétn ěklon ...noel.feld.cvut.cz/vyu/scs/prezentace2005/ATmega/ATmega.pdf · Úvod do mikrokontrolérů ATMEL AVR Konkrétn ěklon ůřady

UkUkáázka vektorzka vektorůů ppřřerueruššeneníí a jejich uma jejich umííststěěnníí pro pro ATmega8ATmega8

Page 11: Úvod do mikrokontrolérů ATMEL AVR Konkrétn ěklon ...noel.feld.cvut.cz/vyu/scs/prezentace2005/ATmega/ATmega.pdf · Úvod do mikrokontrolérů ATMEL AVR Konkrétn ěklon ůřady

AdresovacAdresovacíí mmóódy pro pdy pro přříístup k programovstup k programovéé a a datovdatovéé pampaměětiti

Page 12: Úvod do mikrokontrolérů ATMEL AVR Konkrétn ěklon ...noel.feld.cvut.cz/vyu/scs/prezentace2005/ATmega/ATmega.pdf · Úvod do mikrokontrolérů ATMEL AVR Konkrétn ěklon ůřady

AdresovacAdresovacíí mmóódy pro pdy pro přříístup k programovstup k programovéé a a datovdatovéé pampaměětiti

Page 13: Úvod do mikrokontrolérů ATMEL AVR Konkrétn ěklon ...noel.feld.cvut.cz/vyu/scs/prezentace2005/ATmega/ATmega.pdf · Úvod do mikrokontrolérů ATMEL AVR Konkrétn ěklon ůřady

AdresovacAdresovacíí mmóódy pro pdy pro přříístup k programovstup k programovéé a a datovdatovéé pampaměětiti

Page 14: Úvod do mikrokontrolérů ATMEL AVR Konkrétn ěklon ...noel.feld.cvut.cz/vyu/scs/prezentace2005/ATmega/ATmega.pdf · Úvod do mikrokontrolérů ATMEL AVR Konkrétn ěklon ůřady

AdresovacAdresovacíí mmóódy pro pdy pro přříístup k programovstup k programovéé a a datovdatovéé pampaměětiti

Page 15: Úvod do mikrokontrolérů ATMEL AVR Konkrétn ěklon ...noel.feld.cvut.cz/vyu/scs/prezentace2005/ATmega/ATmega.pdf · Úvod do mikrokontrolérů ATMEL AVR Konkrétn ěklon ůřady

AdresovacAdresovacíí mmóódy pro pdy pro přříístup k programovstup k programovéé a a datovdatovéé pampaměětiti

Page 16: Úvod do mikrokontrolérů ATMEL AVR Konkrétn ěklon ...noel.feld.cvut.cz/vyu/scs/prezentace2005/ATmega/ATmega.pdf · Úvod do mikrokontrolérů ATMEL AVR Konkrétn ěklon ůřady

PPřřehled vyrehled vyráábběěných typných typůů MCU MCU ATmegaATmega

OriginOrigináálnlníí tabulka výrobcetabulka výrobce

Page 17: Úvod do mikrokontrolérů ATMEL AVR Konkrétn ěklon ...noel.feld.cvut.cz/vyu/scs/prezentace2005/ATmega/ATmega.pdf · Úvod do mikrokontrolérů ATMEL AVR Konkrétn ěklon ůřady

Podpora vývoje aplikacPodpora vývoje aplikacíí

•• DDííky ISP snadnky ISP snadnéé programovprogramováánníí ppřříímo ve vyvmo ve vyvííjenjenéé aplikaci pomocaplikaci pomocííjednoduchjednoduchéého programho programáátorutoru

•• Od MCU Mega16 Od MCU Mega16 jeje implementovimplementováánono univerzuniverzáálnlníí programovacprogramovacíí a lada ladííccíírozhrannrozhranníí JTAG JTAG

•• K dispozici jsou rK dispozici jsou růůznznéé vývojovvývojovéé desky od rdesky od růůzných výrobczných výrobcůů

SoftwareSoftware•• AVR studioAVR studio

•• Zdarma ke staZdarma ke stažženeníí na na www.atmel.comwww.atmel.com

•• IntegrovanIntegrovanéé vývojovvývojovéé prostprostřřededíí (Simul(Simuláátor, tor, debuggerdebugger, program, programáátor) tor)

•• Assembler zdarmaAssembler zdarma

•• WinAvrWinAvr•• Zdarma ke staZdarma ke stažženeníí na na www.avrfreaks.netwww.avrfreaks.net

•• ProgramProgramáátortor, , simulsimuláátortor, p, přřekladaekladačč CC

Page 18: Úvod do mikrokontrolérů ATMEL AVR Konkrétn ěklon ...noel.feld.cvut.cz/vyu/scs/prezentace2005/ATmega/ATmega.pdf · Úvod do mikrokontrolérů ATMEL AVR Konkrétn ěklon ůřady

ZajZajíímavmavéé odkazyodkazy

•• http://www.atmel.com/products/avr/http://www.atmel.com/products/avr/OficiOficiáálnlníí strstráánky výrobcenky výrobceDatasheetyDatasheety, aplika, aplikaččnníí zprzpráávy + mnoho dalvy + mnoho dalšíšíhoho

•• http://www.avrfreaks.net/http://www.avrfreaks.net/Po zaregistrovPo zaregistrováánníí mnoho projektmnoho projektůů, p, přřííkladkladůů a pa přříídavných knihoven davných knihoven (nap(napřř. ovl. ovlááddáánníí znakových a grafických displejznakových a grafických displejůů a mnoho dala mnoho dalšíších) z ch) z rrůůzných oblastzných oblastíí poupoužžititíí

•• http://www.avrhttp://www.avr--forum.com/forum.com/projekty, knihovny a podpora vývojprojekty, knihovny a podpora vývojáářřee

•• http://www.mcu.czhttp://www.mcu.cz•• http://www.hw.cz/http://www.hw.cz/

ččeskeskéé strstráánky nejen o nky nejen o mikrokontrolmikrokontroléérechrech a jejich programova jejich programováánníí

Page 19: Úvod do mikrokontrolérů ATMEL AVR Konkrétn ěklon ...noel.feld.cvut.cz/vyu/scs/prezentace2005/ATmega/ATmega.pdf · Úvod do mikrokontrolérů ATMEL AVR Konkrétn ěklon ůřady

PouPoužžititáá literaturaliteratura

•• VladimVladimíír Vr Vááňňa, a, MikrokontrolMikrokontrolééryry AtmelAtmel AVR, AVR, BenBen 20032003

•• BurkhardBurkhard Mann, C pro Mann, C pro mikrokontrolmikrokontrolééryry, , BenBen 20032003

•• RRůůznznéé internetovinternetovéé strstráánky, viz. výnky, viz. výššee