Obsah
Mikrokontroléry a jejich periferie
Mikrokontrolér (MCU – Microcontroller Unit) je kompletní miniaturní počítač integrovaný na jediném křemíkovém čipu (tzv. SoC – System on a Chip). Na rozdíl od mikroprocesorů (CPU) v běžných počítačích, které ke svému fungování potřebují externí operační paměť, grafickou kartu a řadiče úložišť, obsahuje mikrokontrolér vše potřebné v jednom pouzdře.
Mikrokontroléry jsou navrženy pro vestavěné (embedded) systémy, kde samostatně řídí konkrétní zařízení – od chytrých praček a automobilových systémů až po dálkové senzory v Internetu věcí (IoT).
Základní vnitřní struktura MCU
Každý mikrokontrolér se skládá ze tří hlavních částí, které jsou vzájemně propojeny interní sběrnicí:
- Procesorové jádro (CPU): Vykonává instrukce programu, provádí matematické a logické operace. Mezi nejznámější patří jádra typu ARM Cortex-M, AVR (v čipech ATmega) nebo RISC-V.
- Paměť:
- Flash (ROM): Neanorganická paměť, kde je trvale uložen kód programu (firmware). Data v ní zůstanou i po odpojení napájení.
- SRAM: Rychlá, těkavá paměť pro ukládání proměnných a mezivýsledků během běhu programu. Po vypnutí se vymaže.
- EEPROM: Malá neanorganická paměť pro ukládání uživatelských nastavení (kalibrace, ID zařízení), která se mění jen zřídka.
- Periferie: Integrované hardwarové bloky, které umožňují procesoru komunikovat s okolním světem a odlehčují mu od rutinních úkolů.
Klíčové interní periferie
Právě bohatá výbava periferií dělá z mikrokontroléru ideální nástroj pro řízení elektroniky. Mezi ty nejdůležitější patří:
1. GPIO (General Purpose Input/Output)
Základní digitální piny mikrokontroléru. Každý pin lze softwarově nastavit buď jako vstup (čtení stavu tlačítka, senzoru), nebo jako výstup (ovládání LED, sepnutí relé). Piny pracují v logických úrovních (nejčastěji 3,3 V nebo 5 V).
2. Časovače a čítače (Timers/Counters)
Hardwarové registry, které nezávisle na CPU počítají pulzy vnitřního hodinového oscilátoru. Používají se pro:
- Přesné odměřování času (např. vyvolání akce každých 10 milisekund).
- Generování signálu PWM (Pulse Width Modulation) – šířkově impulzní modulace, která slouží k řízení jasu LED, rychlosti motorů nebo simulaci analogového napětí.
3. ADC (Analog-to-Digital Converter)
Analogově-digitální převodník. Reálný svět je analogový (teplota, tlak, světlo se mění plynule), ale procesor zná jen jedničky a nuly. ADC převádí spojité analogové napětí ze senzorů na digitální číslo (např. 10bitový převodník převede napětí 0–3,3 V na hodnotu 0–1023).
4. DAC (Digital-to-Analog Converter)
Digitálně-analogový převodník. Opak ADC. Převádí digitální hodnotu z procesoru na reálné analogové napětí. Využívá se například pro generování zvuku nebo přesných napěťových průběhů.
5. Komunikační rozhraní (Sériové sběrnice)
Umožňují MCU komunikovat s ostatními čipy a počítači pomocí minima pinů:
- UART: Asynchronní sériová linka (vodiče TX/RX), často využívaná pro ladění (debug) a komunikaci s PC přes USB převodník.
- I2C: Dvouvodičová synchronní sběrnice (SDA/SCL) ideální pro připojení mnoha pomalejších senzorů a displejů na krátkou vzdálenost.
- SPI: Rychlá čtyřvodičová synchronní sběrnice (MOSI/MISO/SCLK/CS) pro paměťové karty nebo rychlé displeje.
- CAN bus: Extrémně spolehlivá průmyslová sběrnice využívaná především v automobilovém průmyslu.
6. Watchdog Timer (WDT)
Bezpečnostní hardwarový časovač. Pokud program zamrzne (např. kvůli chybě v kódu nebo rušení), procesor přestane Watchdog pravidelně nulovat. Watchdog „přeteče“ a automaticky provede tvrdý restart (reset) celého mikrokontroléru. To zajišťuje autonomní spolehlivost bez lidského zásahu.
Srovnání populárních platforem
| Platforma / Čip | Architektura | Napájení | Typické vlastnosti |
|---|---|---|---|
| ATmega328P (Arduino Uno) | 8-bit AVR | 5 V | Velmi jednoduchý, robustní, nízký výkon, ideální pro výuku. |
| ESP32 | 32-bit Xtensa / RISC-V | 3,3 V | Integrované Wi-Fi a Bluetooth, vysoký výkon, skvělý pro IoT. |
| STM32 (Cortex-M) | 32-bit ARM | 3,3 V | Obrovské množství periferií, vysoká rychlost, standard v průmyslu. |
Související články:
Tagy: hardware embedded mcu microcontroller gpio adc pwm uart esp32 arm
