Detail předmětu

Microcontrollers and Embedded Systems

FEKT-MPA-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.

Výsledky učení předmětu

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.

Prerekvizity

Student, který si zapíše předmět, by měl být schopen: - 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.

Doporučená nebo povinná literatura

MARTIN, T. The Insider's Guide To The STM32 ARM Based Microcontroller. Hitex Ltd., UK, 2008. (EN)
BROWN, G. Discovering the STM32 Microcontroller [online]. 2016 [cit. 2018-08-13]. Available: https://www.cs.indiana.edu/~geobrown/book.pdf (EN)

Plánované vzdělávací činnosti a výukové metody

Metody vyučování závisejí na způsobu výuky, zahrnují přednášky a cvičení a jsou popsány článkem 7 Studijního a zkušebního řádu VUT.

Způsob a kritéria hodnocení

Za aktivní práci v počítačových cvičeních lze získat maximálně 40 bodů. Závěrečná zkouška se skládá z písemného testu za 30 bodů a z praktické části za 30 bodů.

Jazyk výuky

angličtina

Osnovy výuky

1. Jazyk C: konstanty a operátory, řídicí struktury, preprocesor, funkce, paměť a třídy, ukazatele, pole, řetězce, struct, union, enum.
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).

Cíl

Cílem předmětu je prohloubit znalosti studentů v oblasti mikroprocesorové techniky a programování v jazyce C, seznámit je s jádrem ARM Cortex-M a mikrokontroléry STMicroelectronics STM32, naučit je navrhovat hardware a programovat firmware pro v praxi nejčastěji používané periferie.

Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky

Vymezení kontrolované výuky a způsob jejího provádění stanoví každoročně aktualizovaná vyhláška garanta předmětu.

Zařazení předmětu ve studijních plánech

  • Program MPA-TEC magisterský navazující, 1. ročník, zimní semestr, 4 kredity, povinně volitelný

Typ (způsob) výuky

 

Přednáška

13 hod., nepovinná

Vyučující / Lektor

Cvičení na počítači

26 hod., povinná

Vyučující / Lektor