Detail předmětu
Microcontrollers and Embedded Systems
FEKT-MPA-MKSAk. rok: 2025/2026
Studenti se seznámí s pokročilými vlastnostmi jazyka C, s jeho využitím při programování mikrokontrolérů a s detaily architektury ARM Cortex-M a periferií mikrokontrolérů STMicroelectronics STM32. Naučí se zapojovat a programovat ovladače pro nejběžnější periferie, jako jsou tlačítkové vstupy, multiplexní displeje, grafické displeje, posuvné registry, teplotní čidla apod. Kurz seznamuje s postupy potřebnými pro návrh komplexních aplikací s mikrokontroléry STM32, včetně tematiky správy zdrojových kódů a dokumentace.
Jazyk výuky
Počet kreditů
Garant předmětu
Zajišťuje ústav
Vstupní znalosti
- popsat základní bloky mikroprocesoru a jejich funkci
- sestavit jednoduchý program v jazyce C
- sestavit program pro nastavení základních periferií, obsluhu přerušení a obsahující samostatné funkce a jejich volání
- analyzovat jednoduché elektronické obvody s pasivními součástkami a tranzistory a zvolit odpovídající způsob připojení k mikrokontroleru.
Obecně jsou požadovány znalosti na úrovni bakalářského studia.
Pravidla hodnocení a ukončení předmětu
Studenti jsou hodnoceni průběžně během semestru za aktivní práci v počítačových cvičeních a průběžný test. Zápočet je udělen po absolvování výuky s povinnou účastí. Povinná závěrečná zkouška se skládá z písemné, praktické a ústní části.
Vymezení kontrolované výuky a způsob jejího provádění stanoví každoročně aktualizovaná vyhláška garanta předmětu.
Učební cíle
Absolvent předmětu je schopen: (a) ppopsat strukturu jádra ARM Cortex-M; (b) popsat základní bloky mikrokontrolérů STMicroelectronics STM32; (c) vytvářet firmware v jazyce C včetně specifik jazyka pro GCC; (d) navrhnout a obsluhovat vybrané periferie připojené k mikrokontroléru; (e) navrhnout a sestavit vlastní zařízení s mikrokontrolerem včetně firmwaru.
Základní literatura
MARTIN, T. The Insider's Guide To The STM32 ARM Based Microcontroller. Hitex Ltd., UK, 2008. (EN)
Zařazení předmětu ve studijních plánech
- Program MPA-SAP magisterský navazující 2 ročník, zimní semestr, povinný
Typ (způsob) výuky
Přednáška
Vyučující / Lektor
Osnova
jazyk C: bitové operace, inline, volatile, naked, stavový automat, Makefile a oddělený překlad
jazyk C: úvod do knihoven libc, kompilátor arm-none-eabi-gcc, printf a stdout
jazyk C: speciality v libc a gcc, kombinace s ASM, základní knihovny
zdrojový kód a styl: Subversion, Doxygen; styl psaní kódu
jádro ARM Cortex-M: architektura, možnosti, NVIC, GPIO
high-level vývoj firmwaru, middlewares, nástroj STM32CubeMX
STM32 periferie: čítače/časovače (SysTick, generování tónu, PWM apod.), RTC, ADC, DAC
STM32 komunikace: UART (RS232/485), SPI, I2C, 1-wire, DMA
periferie: tlačítka, LED normální, LED multiplexní, rotační enkodér, textový displej, pípák, posuvné registry
periferie: grafický displej (drivery, vektorová grafika, TV displeje); motory (DC motor, můstky, krokový motor, servo, BLDC)
zásady návrhu embedded systémů, úvod do RTOS, kooperativní RTOS se supersmyčkou
preemptivní operační systém FreeRTOS, ladění aplikací přes SWD
Laboratorní cvičení
Vyučující / Lektor
Osnova
F030: ISR, tlačítka se zákmity, časovač SysTick
F030: LED displej na posuvném registru
F030: A/D převodník a bargraf
F030: UART komunikace s DMA, EEPROM na I2C
F030: Teplotní čidla DS18B20 a NTC
F030: FreeRTOS a obsluha akcelerometru
LPC55: externí NXP
LPC55: externí NXP
F429: Maticová klávesnice a kódový zámek
F429: USB myš standardu HID
F429: Ethernet, TCP klient a server