Mikrokontrolery
Transkript
Mikrokontrolery Úvod do obvodů Atmega 328 a PIC16F88 Texty sestavili Petr Nejedlý a Lukáš Čížek, 4EA, 2013 Nejedlý Petr a Čížek Lukáš 4. EA Atmega 328 Vlastnosti a funkce: Flash 32Kbyte Max. Frequence 20Mhz SRAM 2Kbyte EEPROM 1024 byte 2x 8bit časovač/čítač 1x 16bit časovač/čítač Sledovač reálného času 6x PWM kanály 6x 10bit ADC Programovatelné Synchronní / asynchronní sériové rozhraní USART Master/Slave SPI rozhraní -sériové periferní rozhraní synchroní režim USART I2C multi-masterová počítačová sériová sběrnice 2vodičová Watchdog timer počítačová periferie, která resetuje systém při jeho zaseknutí Vnitřní oscilátor externí interupty 24 1 Nejedlý Petr a Čížek Lukáš 4. EA Mikroprocesory AVR je možné programovat jak paralelně, tak i sériově a to přímo v systému. Při paralelním programování se využívá toho, že obvod je navržen tak, aby po připojení programovacího napětí na určitý pin obvodu se provede přepnutí vývodů z normálního režimu I/O portů na adresové a datové vývody vnitřní paměti. Pak je možné do paměti paralelně zaznamenat data. Po naprogramování se obvod opět přepne zpět. Nevýhoda tohoto programování je, že je nutné mikroprocesor odpojit od jakýchkoliv obvodů a umístit ho do programátoru. Toto nevýhoda odpadá při sériovém programování. Při tomto programování mikroprocesor zůstává v aplikaci a pomocí několika signálů připojených na programátor ho lze jednoduše naprogramovat. Využívá se převážně signálů MOSI, MISO, SCK a RESET. Tomuto programování se říká ISP. 2 Nejedlý Petr a Čížek Lukáš 4. EA Skládá se ze 32 stejných 8bitových registrů, které mohou obsahovat jak data, tak i adresy. Vzhledem k propojení registrů s ALU (aritmeticko logická jednotka) provede ALU za jeden hodinový cyklus jednu operaci. Mikroprocesory AVR využívají koncepci Harwardské architektury. To znamená, že mají oddělenou paměť pro program a pro data. 3 Nejedlý Petr a Čížek Lukáš 4. EA Způsoby komunikace s okolím: SPI (Serial Peripheral Interface) je sériové periferní rozhraní. Používá se pro komunikaci mezi řídícími mikroprocesory a ostatními integrovanými obvody.Komunikace je realizována pomocí společné sběrnice. Adresace se provádí pomocí zvláštních vodičů, které při logické nule aktivují příjem a vysílání zvoleného zařízení (piny SS nebo CS). Průběh komunikace Pro komunikaci Master nastaví log. 0 na SS zařízení, se kterým chce komunikovat. Pak začne generovat hodinový signál na SCLK a v té chvíli vyšlou obě zařízení svoje data, přičemž MOSI (Master Out, Slave In) je vždy Master výstup, Slave vstup a MISO (Master In, Slave Out) je Master Vstup, Slave výstup. Jakmile jsou data vyslána, může komunikace dále pokračovat: Master dále dodává hodinový signál, hodnota SS se nemění nebo může být ukončena: Master přestane vysílat hodinový signál a nastaví SS do log. 1. Délka vyslaných dat je buď 8bit (Byte) a nebo 16bit (Word). 4 Nejedlý Petr a Čížek Lukáš 4. EA I2C je multi-masterová počítačová sériová sběrnice vyvinutá firmou Philips, která je používána k připojování nízkorychlostních periferií Umožňuje propojení až 128 různých zařízení s pomocí pouze dvou obousměrných vodičů. Jeden tvoří hodinový signál SCL (Synchronous Clock) a druhý datový kanál SDA (Synchronous Data). Každá stanice připojená na I2C má přidělenou 7 bitovou adresu. Po zachycení podmínky START porovnávají všechny obvody svou adresu s adresou, která je vysílána na sběrnici. Zjistí-li některý z obvodů shodu, je vysílání určeno právě jemu a musí přijetí adresy potvrdit bitem ACK. Potom přijímá nebo vysílá další data. Každý vysílaný byte a vyslaná adresa je následována vysláním jednoho bitu ACK. Vysílající stanice jej vysílá v úrovni H. Přijímající stanice potvrzuje přijetí tím, že v době vysílání ACK připojí SDA na úroveň L. Pokud vysílající stanice nedostane potvrzení příjmu, ukončí vysílání podmínkou STOP. Časový diagram Přenos dat se zahajuje START bitom (S), když je SDA nízká, zatímco SCL zůstává vysoká. Pak, SDA nastaví přenášaný bit zatímco SCL je nízká (modrá) a jsou odebrány vzorky dat (přijaté) při SCL stoupá (zelená). Když je přenos dokončen, je poslaný STOP bit (P) pro uvolnění datové linky, změnou SDA na vysokou, zatímco SCL je trvale vysoký. Aby se zabránilo falešně detekci, je úroveň na SDA změněn na negativní hraně a je zachycen na kladné hrany SCL. 5 Nejedlý Petr a Čížek Lukáš 4. EA ARDUINO je open-source platforma založená na mikrokontroleru ATMega od firmy Atmel a grafickém vývojovém prostředí, které vychází z prostředí Wiring 6 Nejedlý Petr a Čížek Lukáš 4. EA Programování v jazyce Wiring Cíl rozblikat LED připojenou na pin 13 Program: int led = 13; void setup() { pinMode(led, OUTPUT); } void loop() { digitalWrite(led, HIGH); delay(1000); digitalWrite(led, LOW); delay(1000); } 7 Nejedlý Petr a Čížek Lukáš 4. EA MIKROPROCESORY PIC Úvodem Princip funkce a stručný popis bude prezentován na 8 bitovém mikroprocesoru PIC16F88, který spadá mezi nejjednodušší procesory od firmy Michrochip, ale i přes to obsahuje i složitější pokročilé funkce, které může programátor používat. Procesor PIC16F88 se doporučuje napájet napětím 3,3V až 5,0V. Spotřeba naprázdno (není-li z procesoru odebírán proud z vývodů) se pohybuje do 5mA. Pro taktování lze použít nastavitelný interní oscilátor s frekvencí 31kHz až 8MHz, ale lze připojit i externí krystalový oscilátor s frekvencí až 20MHz. Cena tohoto procesoru se pohybuje kolem 70Kč. Procesor má 18 vývodů, z nichž dva slouží pro napájení. Uživateli tedy zbývá k použití 16 vývodů, které může konfigurovat podle potřeby. Řada těchto vývodů je použita pro několik různých periferií. Jedná se např. o obsluhu vnějšího přerušení, vstup čítače, režim CCP (PWM), SPI/I2C, analogové komparátory. Jejich podrobnější popis naleznete v příloze na konci Organizace paměťového prostoru Mikroprocesory PIC16F88 mají tři oddělené bloky paměti. Jedná se o paměť programu FLASH (56kB), paměť dat RWM (368B) a paměť dat EEPROM (256B). Paměť dat RWM a paměť programu FLASH mají oddělené sběrnice, což umožňuje současně nezávisle na sobě přístup k obou částem paměti, čímž se značně urychlí chod programu. Jsou tedy založeny na harvardské architektuře, která předpokládá oddělenou paměť pro data a řídící program. Paměť typu EEPROM a paměť typu FLASH je sice přístupná pro zápis i čtení během výkonu programu, ale nelze k ní přistupovat přímo, ale pomocí speciálních funkčních registrů. Je to z toho důvodu, že v této paměti je uložen program a tímto způsobem lze jednoduše zabránit nechtěnému přepsání programu. Speciálními funkčními registry (SFR) lze řídit veškerou činnost mikroprocesoru a jeho periferií. Přepsání této paměti lze zakázat pomocí konfiguračních bitů WRT1 a WRT2. V paměti RWM se nachází mnoho registrů pro všeobecné použití. Můžeme je adresovat buď přímo a nebo nepřímo FSR a INDF. Paměť dat RWM slouží právě primárně pro ukládání dat, jako např. výsledků programu nebo stavů vstupů. 8 Nejedlý Petr a Čížek Lukáš 4. EA Ovládání vstupů a výstupů procesoru Blokové schéma vývodu RA0 u procesoru PIC16F88 Jak je vidět, vývod lze programem nastavit na úroveň logické 0 a 1, čímž ho lze použíte jako výstup, ale také ho lze nechat odpojený (stav vysoké impedance) a použít ho jako vstup digitálního nebo analogového signálu. K obsluze vývodů se používají registry PORT a TRIS (PORTA, TRISA - brána PortA a POTRB , TRISB - brána PortB ). Obdobným způsobem jsou realizovány všechny vývody procesoru. Jen se liší dalšími funkcemi. Pro detaily doporučuji nahlédnout do datasheetu. Registr PORTX Registr PORTX je záchytný pracovní registr portu. Obsahuje 8 funkčních bitů. Zápisem do něj se nastaví hodnoty na bráně, čtením z něj získáváme hodnoty na bráně procesoru. Registr TRISX 9 Nejedlý Petr a Čížek Lukáš 4. EA Registr TRISX je konfiguračním registrem brány. Obsahuje také 8 bitů. Pokud se do bitu zapíše 1, bude se příslušný vývod chovat jako výstup. Pokud se zapíše do bitu 0, bude se vývod nacházet ve stavu vysoké impedance a bude sloužit jako vstup. Architektura RISC Procesory PIC16F88 patří mezi procesory s architekturou RISC (Reduced Instruction Set Computing). To znamená, že mají redukovanou instrukční sadu. Návrh této instrukční sady poté počítá s málo jednoduchými strojovými instrukcemi (např. neexistuje strojová instrukce pro násobení a dělení). Tato architektura umožňuje hardwarovou implementaci mikroinstrukcí přímo na procesoru, čímž se podstatně zvýší výsledná rychlost provádění instrukcí. Instrukční sada Instrukční kód má délku 14 bitů. V kódu je obsažen operační znak instrukce, jeden nebo dva operandy a specifikovaný cílový registr. Instrukce jsou logicky rozděleny na bytové, bitové a řídící. Přehled všech instrukcí i s popisem najdete v datasheetu procesoru. Obecný formát instrukcí procesoru PIC16F88 10 Nejedlý Petr a Čížek Lukáš 4. EA Blokové schéma procesoru PIC16F88 Zapojení vývodů procesoru PIC16F88 v pouzdru DIP 11 Nejedlý Petr a Čížek Lukáš 4. EA Popis blokového schéma Jak lze vidět z blokového schématu mikroprocesoru, obsahuje v sobě integrovaný obvod krom procesorové jednotky i další pomocné obvody, jako je např. časovač, USART, AD převodník a komparátor. S těmito obvody se komunikuje pomocí vnitřní 8 bit sběrnice procesoru, což umožňuje i komunikaci přímo s jednotlivými vývody. Při programování je potřeba zjistit, který vývod má jaké funkce. U vývodu však nemusí být využita pouze jedna funkce, ale lze jich použít víc zároveň, ale ne ve stejném časovém okamžiku, musí se mezi nimi v programu přepínat. Činnost procesoru: Z paměti flash, kde je uložen program, je instrukce přesunuta do registru instrukce. Ten ji rozdělí na část s operačním znakem a hodnotami, kterou odešle do multiplexoru MUX, a část s adresou, kterou odešle do paměťového multiplexoru. Na základě vrácených dat pošle multiplexor MUX data do aritmeticko-logické jednotky ALU, kde se provede daná instrukce. Poté lze data výsledku odeslat po sběrnici nebo dočasně uložit ve střadači W a výsledek opětovně použít v aritmeticko-logické jednotce ALU, čímž se značně zvyšuje rychlost, chceme-li data z předchozích výpočtů použít i ve výpočtech dalších. Po provedení instrukce se zvýší hodnota v programovém čítači. Tím se vybere následující instrukce. Vývojové prostředky Pro vývoj aplikací s procesorem pic je potřeba tzv. programátor. Jedná se o modul, který se připojí k počítači a k procesoru a umožní tzv. vypálit program do procesoru. Rozšířený je např. programátor PicKit2, který má jako jeden z mála programátoru USB rozhraní pro komunikaci s počítačem. Jeho kopie (např. od firmy UST) lze zakoupit od 900 Kč. Krom programátoru lze použít i převodník na sériovou komunikaci a program nahrávat po sériové lince. Toto řešení však vyžaduje, aby byl v procesoru nahrán bootloader, který umožní nahrání 12 Nejedlý Petr a Čížek Lukáš 4. EA programu. V tomto případě je nutné v programu zarezervovat místo pro bootloader, jinak by se přepsal při nahrávání. Je možné zakoupit i vývojové kity. Ty v sobě obsahují jak modul s procesorem, tak programátor a zpravidla přidávají i potřebný software na CD nebo DVD. Jejich cena se pohybuje od 2000Kč. Pro psaní programů je k dispozici mnoho vývojových prostředí. Přímo firma Michrochip poskytuje software s názvem MPLAB IDE, který ve freeware verzi umožňuje programování procesorů v assembleru a obsahuje i simulátor procesoru. Pro studentské účely je k dispozici zdarma i licence překladače C++. Mezi nejlepší C++ IDE vývojová prostředí pro procesory PIC patří PCW C Compiler od firmy CCS. Bohužel se jedná o placený program. Jeho licence stojí přibližně 8000 Kč (pro procesory PIC s délkou řídící instrukce 12 a 14 bitů). Licence pro všechny typy procesorů PIC stojí téměř 13 000 Kč. 13 Nejedlý Petr a Čížek Lukáš 4. EA 14
Podobné dokumenty
Návod ke kurzu v PDF formátu ke stažení. - Experimental Car
frekvenci 200 MHz. Je zde i speciální operační systém. Je vybaveno portem RS-232, USB a
konektorem RJ-45 pro síťovou komunikaci. Pro napájení se používá stejnosměrné napětí 9 až
30 V.
POPIS A VLASTNOSTI AROMAT
Tento,výrobek,obsahuje,pouze,přísady,povolené,úřady,&U,a,splňuje,kritéria,&šS7
Skladujte,na,temném,a,chladném,místě
Výrobce8,The,Perfumers,7pprenticeý,US7
Mistributor8,&LJQUJMvPRNObfZý,Šťastného,UZ...
3.2. Oživení
Principielní schéma H-můstku
H-můstky většinou pracují tak, že se spínají vždy dva spínače v jedné diagonále (v našem
případě spínače S1 a S4 nebo S2 a S3). Při spínání motoru může dojít k pěti st...
Osmibitové mikrořadiče Microchip
3. Paměť RAM
3.1. Paměť RAM, organizace
Paměť pro uložení dat je implementována jako statická RAM. Paměť může obsahovat až 512
osmibitových registrů. Operandy instrukcí však mohou obsahovat nejvýš...
06. Kazetové klimatizace Gree (cz) - KLIMA-TECH
Stisknìte tlaèítka “FAN+ “ po dobu 5 sekund.
Zobrazí se úsporné menu ve kterém mùžete
zvolit režim Chlazení a Topení.
V prùbìhu nastavení zobrazené údaje blikají.
Stiskem a zvolíte potøebnou teplot...