Detail předmětu
Mikrokontroléry pro pokročilé aplikace
FEKT-MMIAAk. rok: 2018/2019
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 a periferií mikrokontrolérů Atmel AVR. 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 AVR, 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
- popsat jednotlivé bloky mikrokontroléru AVR včetně pokročilých funkcí
- vytvářet firmware v jazyce C včetně specifik jazyka pro AVR-GCC
- diskutovat vhodnost různých druhů displejů v aplikaci s mikrokontrolerem
- diskutovat výhody a nevýhody jednoduchých sběrnic pro použití s mikrokontrolerem
- navrhnout připojení různých periferií k mikrokontroleru
- navrhnout a sestavit vlastní zařízení s mikrokontrolerem včetně firmwaru
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.
Plánované vzdělávací činnosti a výukové metody
Způsob a kritéria hodnocení
Osnovy výuky
jazyk C: konstanty a operátory, řídicí struktury, preprocesor, funkce, paměť a třídy, ukazatele, pole, řetězce, struct, union, enum
jazyk C: bitové operace, inline, volatile, naked, stavový automat, Makefile a oddělený překlad
jazyk C: úvod do knihoven avr-libc, GCC, C pro AVR (ISR, PROGMEM apod.), printf a stdout
jazyk C: speciality v avr-libc, kombinace s ASM, knihovny pro LCD, UART, I2C, šifrování
Zásady návrhu embedded systémů, RTOS (kooperativní RTOS se supersmyčkou, preemptivní FreeRTOS, CMSIS-RTOS)
AVR jádro: jádro a paměti, zdroje hodin, úsporné režimy, WDT, BOR, přerušení, I/O porty; JTAG, ISP, bootloader, fuses, signature, calibration
AVR periferie: čítače/časovače (SysTick, pípák, PWM apod.), RTC, ADC
AVR komunikace: UART (RS232/485), SPI, I2C, 1-wire
periferie: tlačítka, LED normální, LED multiplexní, rotační enkodér, textový displej, pípák, posuvné registry
periferie: grafický displej (KS0108, vektorová grafika, TV displeje); motory (DC motor, můstky, krokový motor, servo, BLDC)
Učební cíle
Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky
Základní literatura
Zařazení předmětu ve studijních plánech
- Program EEKR-M1 magisterský navazující
obor M1-EST , 1 ročník, letní semestr, volitelný oborový
- Program AUDIO-P magisterský navazující
obor P-AUD , 1 ročník, letní semestr, volitelný mimooborový
- Program EEKR-CZV celoživotní vzdělávání (není studentem)
obor ET-CZV , 1 ročník, letní semestr, volitelný oborový
Typ (způsob) výuky
Přednáška
Vyučující / Lektor
Osnova
jazyk C: konstanty a operátory, řídicí struktury, preprocesor, funkce, paměť a třídy, ukazatele, pole, řetězce, struct, union, enum
jazyk C: bitové operace, inline, volatile, naked, stavový automat, Makefile a oddělený překlad
jazyk C: úvod do knihoven avr-libc, GCC, C pro AVR (ISR, PROGMEM apod.), printf a stdout
jazyk C: speciality v avr-libc, kombinace s ASM, knihovny pro LCD, UART, I2C, šifrování
Zásady návrhu embedded systémů, RTOS (kooperativní RTOS se supersmyčkou, preemptivní FreeRTOS, CMSIS-RTOS)
AVR jádro: jádro a paměti, zdroje hodin, úsporné režimy, WDT, BOR, přerušení, I/O porty; JTAG, ISP, bootloader, fuses, signature, calibration
AVR periferie: čítače/časovače (SysTick, pípák, PWM apod.), RTC, ADC
AVR komunikace: UART (RS232/485), SPI, I2C, 1-wire
periferie: tlačítka, LED normální, LED multiplexní, rotační enkodér, textový displej, pípák, posuvné registry
periferie: grafický displej (KS0108, vektorová grafika, TV displeje); motory (DC motor, můstky, krokový motor, servo, BLDC)
Cvičení na počítači
Vyučující / Lektor
Osnova
ISR, tlačítka se zákmity, časovače
textový displej a UART
LED displej multiplexní, rotační enkodér
posuvný registr pro LED, had řízený tlačítky
kooperativní RTOS, kombinace C s assemblerem
A/D převodník na textový displej a bargraf, pípák
teplotní čidla DS18B20 a KTY81
práce s EEPROM a sběrnicí I2C
hodiny reálného času a úsporné režimy