Detail předmětu

Microcontrollers and Embedded Systems

FEKT-MPA-MKSAk. rok: 2022/2023

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

angličtina

Počet kreditů

6

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.

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í

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. Povinná závěrečná zkouška se skládá z písemné, praktické a ústní části. 

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).

Učební cíle

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.

Základní 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)

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

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

Typ (způsob) výuky

 

Přednáška

26 hod., nepovinná

Vyučující / Lektor

Cvičení na počítači

39 hod., povinná

Vyučující / Lektor