Detail předmětu
Mikrokontroléry a embedded systémy
FEKT-MPC-MKSAk. rok: 2020/2021
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
Výsledky učení předmětu
Prerekvizity
- 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.
Způsob a kritéria hodnocení
Osnovy výuky
2. Jazyk C: bitové operace, inline, volatile, naked, stavový automat, Makefile a oddělený překlad.
3. Jazyk C: úvod do knihoven libc, kompilátor arm-none-eabi-gcc, printf a stdout.
4. Jazyk C: speciality v libc a gcc, kombinace s ASM, základní knihovny.
5. Zdrojový kód a styl: Subversion, Doxygen; styl psaní kódu.
6. Zásady návrhu embedded systémů, úvod do RTOS, kooperativní RTOS se supersmyčkou.
7. Jádro ARM Cortex-M: architektura, možnosti, NVIC, GPIO.
8. STM32 periferie: čítače/časovače (SysTick, generování tónu, PWM apod.), RTC, ADC, DAC.
9. STM32 komunikace: UART (RS232/485), SPI, I2C, 1-wire, DMA.
10. High-level vývoj firmwaru, middlewares, nástroj STM32CubeMX.
11. Preemptivní operační systém FreeRTOS, ladění aplikací přes SWD.
12. Periferie: tlačítka, LED normální, LED multiplexní, rotační enkodér, textový displej, pípák, posuvné registry.
13. Periferie: grafický displej (drivery, vektorová grafika, TV displeje); motory (DC motor, můstky, krokový motor, servo, BLDC).
Učební cíle
Základní literatura
MARTIN, T. The Insider's Guide To The STM32 ARM Based Microcontroller. Hitex Ltd., UK, 2008. (EN)
Elearning
Zařazení předmětu ve studijních plánech
Typ (způsob) výuky
Elearning