Detail předmětu

Mikrokontroléry a embedded systémy

FEKT-MPC-MKSAk. rok: 2019/2020

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

češ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.

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: akrchitektura, 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.

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

  • Program MPC-AUD magisterský navazující

    specializace AUDM-ZVUK , 1 ročník, zimní semestr, povinně volitelný
    specializace AUDM-TECH , 1 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