MIKROKONTROLÉRY. Jednočipový počítač nebo také angl. Microcontroller (Mikrokontrolér, MCU, µc)



Podobné dokumenty
Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ /14

PŘÍLOHY. PRESTO USB programátor

Mikrokontroléry. Doplňující text pro POS K. D. 2001

Profilová část maturitní zkoušky 2015/2016

Činnost CPU. IMTEE Přednáška č. 2. Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus

Integrovaná střední škola, Sokolnice 496

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Pohled do nitra mikroprocesoru Josef Horálek

Profilová část maturitní zkoušky 2014/2015

MSP 430F1611. Jiří Kašpar. Charakteristika

Nejčastěji pokládané dotazy

Základní uspořádání pamětí MCU

Úvod do mobilní robotiky AIL028

Přednášky o výpočetní technice. Hardware teoreticky. Adam Dominec 2010

PIC PROGRAMÁTOR Milan Obrtlílk 4. ročník SŠPH Uh. Hradiště

Témata profilové maturitní zkoušky

Návrh konstrukce odchovny 2. dil

Mikropočítačová vstupně/výstupní jednotka pro řízení tepelných modelů. Zdeněk Oborný

EduKit84. Výuková deska s programátorem pro mikrokontroléry PIC16F84A firmy Microchip. Uživatelská příručka

PVKpro vývojový kit s programátorem pro mikrokontrolér PIC16F84 Připojení k PC: paralelní port Uživatelská příručka

Přednáška A3B38MMP. Bloky mikropočítače vestavné aplikace, dohlížecí obvody. 2015, kat. měření, ČVUT - FEL, Praha J. Fischer

Semestrální práce z předmětu Speciální číslicové systémy X31SCS

Jak do počítače. aneb. Co je vlastně uvnitř

EduKitBeta Uživatelská příručka

2.8 Procesory. Střední průmyslová škola strojnická Vsetín. Ing. Martin Baričák. Název šablony Název DUMu. Předmět Druh učebního materiálu

Konferenční zařízení. Cíl projektu. Vybavení. Jak jsem postupoval. Projekt Nekoř 2009 Jan Sixta,

ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ. MEIII Paměti konstant

INFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE

Paměti. Paměť je zařízení, které slouží k ukládání programů a dat, s nimiž počítač pracuje

21. Řídící systémy v automatizaci

3. Maturitní otázka PC komponenty 1. Počítačová skříň 2. Základní deska

PRINCIPY POČÍTAČŮ. Schopnost logického uvažování a rešeršní práce v prostředí Internetu.

Manuál přípravku FPGA University Board (FUB)

MIKROPROCESOROVÁ TECHNIKA

FPGA + mikroprocesorové jádro:

1 Osobní počítač Obecně o počítačích Technické a programové vybavení... 4

Základní pojmy. Program: Algoritmus zapsaný v programovacím jazyce, který řeší nějaký konkrétní úkol. Jedná se o posloupnost instrukcí.

Rozšiřující desce s dalšími paralelními porty Rozšiřující desce s motorkem Elektrickém zapojení Principu činnosti Způsobu programování

Logické funkce a obvody, zobrazení výstupů

Technické prostředky počítačové techniky

Tvorba vývojového modulu pro jednočipové počítače Creation of Evaluation Module for Microcontrollers

AVR TESTBOARD. Karel Babický. SPŠ a VOŠ Písek Karla Čapka 402, Písek

Témata profilové maturitní zkoušky

APLIKACE MIKROKONTROLÉRŮ PIC32MX

20. Úvod do řízení Druhy řízení

Struktura a architektura počítačů (BI-SAP) 7

Jízda po čáře pro reklamní robot

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy

) informace o stavu řízené veličiny (předávaná řídícímu systému) - nahrazování člověka při řízení Příklad řízení CNC obráběcího stroje

uz80 Embedded Board ver. 1.0 uz80 Vestavná Řídící Deska ver. 1.0

SEKVENČNÍ LOGICKÉ OBVODY

Návod k obsluze výukové desky CPLD

Architekura mikroprocesoru AVR ATMega ( Pokročilé architektury počítačů )

Programování PICAXE18M2 v Assembleru

DRAK 3 INTELIGENTNÍ A/D PŘEVODNÍK. 3 VSTUPY: 0(4) - 20mA, 0-5/10V VÝSTUP: LINKA RS485 MODUL NA DIN LIŠTU RS485

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

PGSM-M10 - GSM/GPRS moduly s M10

PK Design. Modul USB2xxR-MLW20 v1.0. Uživatelský manuál. Přídavný modul modulárního vývojového systému MVS. Verze dokumentu 1.0 (05.04.

Seznámení s mikropočítačem. Architektura mikropočítače. Instrukce. Paměť. Čítače. Porovnání s AT89C2051

Architektura počítače


DIGITÁLNÍ ODPALOVACÍ PULT

Z{kladní struktura počítače

Ovládání tiskárny BT-100

Principy komunikace s adaptéry periferních zařízení (PZ)

2.9 Vnitřní paměti. Střední průmyslová škola strojnická Vsetín. Ing. Martin Baričák. Název šablony Název DUMu. Předmět Druh učebního materiálu

Počítač jako elektronické, Číslicové zařízení

Arduino Martin Friedl

I N V E S T I C E D O R O Z V O J E V Z D Ě L Á V Á N Í. výstup

Popis obvodu U2403B. Funkce integrovaného obvodu U2403B

Hardware - komponenty počítačů Von Neumannova koncepce počítače. Von Neumannova koncepce počítače

Identifikátor materiálu: ICT-1-08

Programování mikropočítačů platforma Arduino

Základní pojmy informačních technologií

ČEMU ROZUMÍ MIKROPROCESOR?

Architektura počítačů

Konfigurace portů pro MODBUS/JBUS jako RS232 nebo RS485 Řízení dvou nezávislých sériových linek Vhodný pro integraci s hlavními systémy BMS.

WiFi LED informační panel

Program "Světla" pro mikropočítač PMI-80

MĚŘICÍ PŘÍSTROJ PRO PC. 4 VSTUPY: 0 10 V ZESÍLENÍ : 1x, 2x, 4x, 8x VÝSTUP: LINKA RS232 RS232 DRAK 4 U1 U2 U3 U4

ETC Embedded Technology Club setkání 3, 3B zahájení třetího ročníku

PŘÍSTUP. Docházkový terminál itouch. Produktový list : DT - itouch

PVK. Uživatelská příručka. Zařízení určené k odlaďování aplikací s mikrokontroléry PIC16C5x, PIC16C71 a PIC16F84. Strana 1 / 9

KAPITOLA 1 - ZÁKLADNÍ POJMY INFORMAČNÍCH A KOMUNIKAČNÍCH TECHNOLOGIÍ

velikosti vnitřních pamětí? Jaké periferní obvody má na čipu a k čemu slouží? Jaká je minimální sestava mikropočítače z řady 51 pro vestavnou aplikaci

Vestavné systémy BI-VES Přednáška 5

Mikrořadiče společnosti Atmel

Použití programu uscope k simulaci výukového přípravku pro předmět PMP

PRINCIPY POČÍTAČŮ Metodický list číslo 1

FEL ČVUT Praha. Semestrální projekt předmětu X31SCS Struktury číslicových systémů. Jan Kubín

Základní deska (motherboard, mainboard)

Prostředí pro výuku vývoje PCI ovladačů do operačního systému GNU/Linux

Sériový programátor SI Prog

MIKROKONTROLERY PIC16F84

Univerzální software pro programátory ASIX. Uživatelská příručka

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

Převodník Ethernet ARINC 429

Z čeho se sběrnice skládá?

Transkript:

Jednočipový počítač nebo také angl. Microcontroller (Mikrokontrolér, MCU, µc) je většinou monolitický integrovaný obvod obsahující kompletní mikropočítač. Jednočipové počítače se vyznačují velkou spolehlivostí a kompaktností, proto jsou určeny především pro jednoúčelové aplikace jako je řízení, regulace apod. Často jsou jednočipové počítače součástí vestavěných (embedded) systémů. Jednočipový počítač je integrovaný obvod, který v sobě zahrnuje zpravidla vše potřebné k tomu, aby mohl obsáhnout celou aplikaci, aniž by potřeboval další podpůrné obvody. Především jde o paměť pro uložení programu (FLASH, EEPROM nebo ROM) a operační paměť RAM pro uložení aplikačních proměnných a zásobníku. Většina jednočipových počítačů také obsahuje rozsáhlou sadu podpůrných obvodů. Typicky jde o bloky pro logické a analogové vstupy/výstupy, pro komunikační linky, pro rozdělení strojového času a další aplikační logiku. Existují základní dvě architektury mikroprocesorů von Neumannova a Harvardská, každá má svoje výhody i nevýhody. Při současném stupni integrace se zřejmě častěji využívá Harvardská architektura, vysoký stupeň integrace dovoluje připojit různé bloky paměti pomocí vlastních sběrnic. Dělení na Harvardskou a Von Neumannovu architekturu je však při dnešním stupni integrace již poněkud akademické. U moderních architektur se často uživateli adresový prostor jeví navenek jako lineární (Von Neumannovský), zatímco fyzicky jsou paměti k jádru připojeny pomocí několika nezávislých sběrnic (např. jedna sběrnice pro FLASH/ROM (paměť programu), druhá pro uživatelskou vnitřní RAM a zásobník, třetí pro připojení integrovaných paměťově mapovaných periferií, další pro připojení externí RAM). Von Neumannova architektura je architektura, pro kterou je typická společná paměť pro data i program. Toto uspořádání má výhody v tom, že nepotřebujeme rozlišovat instrukce pro přístup k paměti dat a paměti programu, což vede k zjednodušení vlastního čipu. Další výhodou je, že je potřeba pouze jedna datová sběrnice, po které se přenáší oba typy dat, což je výhodné v případě použití externích pamětí, kdy se redukuje potřebný počet nutných vstupů a výstupů. Nevýhodou je, že přenos obou typů dat po jedné sběrnici je pomalejší, než při oddělených sběrnicích pro paměti dat a programu.

Harvardská architektura je typická oddělením paměti programu a paměti dat. Hlavní nevýhodou této architektury je větší technologická náročnost daná nutností vytvořit dvě sběrnice. Za hlavní výhodu lze považovat možnost jiné šířky programové a datové sběrnice. Této možnosti se široce využívá, takže najdeme osmibitové mikrokontroléry s programovou sběrnicí širokou 12, 14 i 16 bitů. Mezi další výhody harvardské architektury patří rychlost vykonávání instrukcí, protože instrukci i potřebná data lze číst v jeden okamžik. Co jsou mikrokontroléry PIC a k čemu vlastně slouží? Mikrokontroléry PIC jsou přeprogramovatelné obvody, které mají několik vstupně/výstupních vývodů (portů), řídící procesor běžící na taktovací frekvenci dané oscilátorem, který je tvořen buď RC členem, nebo krystalem a řadu dalších vestavěných "vymožeností". Těmi vymoženostmi myslím v podstatě periferie, které jsou obsaženy přímo v čipu. Jsou to různé časovače, a/d a d/a převodníky, komparátory, paměť RAM, EEPROM a podobně. Mikrokontrolér sám o sobě je vlastně k ničemu, dokud do něj nenaprogramujete pomocí programátoru a pc program (firmware). Ten se píše v jazyku symbolických adres (assembleru) - v jazyku, kterému přímo "rozumí" procesor uvnitř čipu. Procesor toho zas tak moc neumí, takže zapomeňte na příkazy Visual Basicu, Javascriptu a podobných programovacích jazyků. Tady pracujete s čísly od 0 do 255, ať už ve dvojkové (binární), desítkové (decimální) nebo šestnáctkové (hexadecimální) soustavě a nejvyšší operace, kterou procesor dokáže je sečtení nebo odečtení dvou takovýchto čísel. Programem se nastavují a obsluhují i různé části hardware (výše zmíněných vnitřních periferií) a vystupně výstupní porty. K dispozici máte několik desítek byte (8bitových) RAM registrů, několik registrů sloužících pro nastavení vnitřních periferií a hardware a jeden pracovní registr W. Pod pojmem registr si můžete představit malou část paměti RAM obsažené v čipu, konkrétně 1Byte. Do těchto registrů můžete zapisovat nebo z nich číst data. Dále lze jednotlivé registry sčítat, odčítat a provádět logické operace (AND, OR, XOR) s nějakou konstantou nebo s pracovním registrem W nebo testovat zda je daný bit v logické jedničce nebo nule a podle toho třeba větvit program. Jednotlivé instrukce se provádějí s čtvrtinovou frekvencí než je frekvence oscilátoru postupně jedna za druhou. V programu se dá přeskakovat z jednoho místa na druhé pomocí příkazů GOTO nebo CALL. (Programování popíši podrobněji v druhém dílu) Kromě toho, že nějaký ten mikrokontrolér byste našli všude okolo sebe, třeba v digihrách, inteligentních pračkách, televizích, autech, hračkách, mobilech atd... tak se dají použít i v amatérských výrobcích všeho druhu.

Většinou podstatně zjednoduší aplikaci a navíc narozdíl od pevné logiky (desítky čipů CMOS4000 / TTL74 a podobně) jde funkce celé aplikace upravovat během několika desítek vteřin přeprogramováním čipu. Představte si, že byste si chtěli postavit třeba digitální hodiny s logickými TTL čipy. Jenom na obsluhu led displeje byste potřebovali minimálně 8 čipů (4 kusy 7447, 4 kusy 7490) Navíc by bylo téměř nemožné takové hodiny ovládat například čtyřmi tlačítky, které by měli různou funkci, podle toho, zda by se na displeji zrovna zobrazovalo datum nebo nastavoval budík atd. To všechno lze ale udělat jedním jediným integrovaným obvodem - mikrokontrolérem PIC. Snad jedinou nevýhodou mikrokontrolérů je omezení rychlosti provádění instrukcí na 5MHz (20MHz frekvence oscilátoru). Ale ani to není většinou žádnou překážkou. Kdybyste stavěli třeba měřák frekvence a chtěli měřit kmitočty v řádu desítek MHz, tak stačí na vstup mikrokontroléru zapojit nějaký externí dělič frekvence (klidně zmíněný 7490 a pod.) a problém je vyřešený. Mikrokontroléry jsou co se týče logických úrovní na vstupech/výstupech a i napájení kompatibilní s logickými čipy TTL74 a CMOS4000. Pokud "TTL74, CMOS4000" slyšíte (čtete) prvně, tak doporučuji kouknout se na článek 024 a jeho pokračování. Alespoň okrajové základy digitální techniky budete určitě potřebovat. Jako příklad (abych zastrašil ty, kteří zvažují, že by začali programovat uvedu jednoduchý prográmek, který po naprogramování do mikrokontroléru PIC16F84 a připojení 4MHz krystalu, 2 15pF kondenzátorů, napájení 5V a ledky na vstupně/výstupní pin B0 rozbliká led diodu s nějakou rozumnou (viditelnou) frekvencí. prostě blik-blik-blik... (to za středníkem jsou poznámky, které na program nemají žádný vliv)

PROGRAMOVÁNÍ - co budete potřebovat a na kolik to přijde? Programátor PIC Programátor zprostředkovává komunikaci mezi mikrokontrolérem a počítačem. K PC se připojuje většinou přes paralelní nebo sériový port, vyjímečně přes USB. Mikrokontrolér se zastrčí buď přímo do patice programátoru nebo se připojí pomocí programovacího kablíku ICSP a programování pak probíhá po dvou datových drátech (a samozřejmě jsou potřeba ještě další kablíky pro napájení). Druhá možnost je podle mě pro vývoj (tedy neustálé přeprogramovávání jednoho čipu) daleko lepší a efektivnější, protože nemusíte čip stále vyndavat a zandavat do patic. Paradoxně ICSP podporují ty nejlevnější programátory a naopak chybí u některých dražších. Programátor seženete na www.asix.cz, www.elnec.sk, www.xeltek.cz nebo v některých prodejnách se součástkami. Osobně doporučuji PICCOLO od Asixu, protože ho pořídíte za cca 550 Kč a pomocí ICSP kablíku umí programovat většinu mikrokontrolérů PIC od Microchipu. Je pravda, že se dá programátor vyrobit i po domácku, ale pak k němu nemáte tak komfortní obslužný program pro PC jako poskytují výše zmíněné firmy, tedy pokud si ho sami nenaprogramujete... Jenom dodám, že software pro PC je při koupi programátoru pochopitelně v ceně. Mikrokontrolér PIC Mikrokontroléry PIC se prodávají v prodejnách s elektronickými součástkami za cenu přibližně od 100 do 250 Kč podle typu. Velmi populární je mezi amatéry PIC16F84, ale má poměrně omezené možnosti, hlavně co se týče "vnitřního vybavení". Časem stejně budete potřebovat interní a/d převodníky, časovače, eeprom a podobné věci a hlavně vám nejspíš nebude stačit počet vstupně-výstupních pinů. Těch má 84ka "jenom" 13. Pro začátek bych doporučoval koupit buď tento PIC16F84 nebo kterýkoli jiný z řady PIC16. Například takový PIC16F877 toho "umí" daleko víc. Dokumentace od výrobce I kdybyste si koupili několik knih o PIC, tak bez dokumentace (data sheet) k danému čipu se rozhodně neobejdete. Stáhnout se dá (pochopitelně zdarma) na stránkách výrobce www.microchip.com a je psána jak jinak než v angličtině. Neděste se toho, že mívá přes 100 stran, protože časem zjistíte, že je hodně zestručněná a je potřeba postahovat ještě hodně dalších textů) (například o různých standardech sériové komunikace s externími zařízeními a podobně).

Assembler Assembler je program, který převádí soubory *.asm do *.hex. Tedy soubory, které napíšete v textovém editoru pomocí příkazů (MOVLW,BSF...) do souboru obsahujícího ty samé instrukce, ale v hexadecimální soustavě a bez vašich poznámek za středníkem tak, aby tomu rozuměl mikrokontrolér, ale ne vy. Assembler si můžete stáhnout (také zdarma) na stránkách Microchipu www.microchip.com/1010/pline/tools/archive/other/index.htm Počítač O tom asi není potřeba nic moc psát. Stačí i stará 486, ale musí mít paralelní port (nebo jiný port pro připojení programátoru), nějaký textový editor (poznámkový blok a pod.) a musí podporovat software dodávaný s programátorem. Zdroj a další... Na odzkoušení mikrokontroléru budete pochopitelně ještě potřebovat stabilizovaný napájecí zdroj 5V (konstrukce stabilizátorů s 7805 už byla na elweb.cz popsána), krystal (např. 4MHz), 2 kondenzátory 15pF (případně jiné hodbnoty pro jiné krystaly) a další součástky podle konkrétní aplikace (led, rezistory, displeje...), ale věřím, že většinu z toho už najdete doma v šuplíku nebo třeba (v mém případě) i na stole, pod skříní a podobně. Doporučoval bych taky zakoupit nepájivé kontaktní pole (teda jestli nejste již dávno jeho vlastníky). To se skládá ze stovek různě popropojovaných direk s roztečí 0,1 inch (rozteč pinů čipů a většiny součástek) a slouží jako zkušební deska. Nic na něm nemusíte pájet, součástky do něj pouze zastrkáte a propojíte je mezi sebou krátkými drátky, které také strkáte do direk vedle nich. Prodávají ho například v GM za cenu od 100 do 600 Kč podle velikosti.