Detail předmětu
Microcontrollers for Advanced Applications
FEKT-GMIAAk. 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 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
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
1. Zdrojový kód a styl: Subversion, Doxygen; styl psaní kódu.
2. Jazyk C: konstanty a operátory, řídicí struktury, preprocesor, funkce, paměť a třídy, ukazatele, pole, řetězce, struct, union, enum.
3. Jazyk C: bitové operace, inline, volatile, naked, stavový automat, Makefile a oddělený překlad.
4. Zásady návrhu embedded systémů, RTOS (kooperativní RTOS se supersmyčkou, preemptivní FreeRTOS, CMSIS-RTOS).
5. 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.
6. AVR periferie a komunikace: čítače/časovače, RTC, ADC, UART, SPI, I2C, 1-wire.
7. Periferie: tlačítka, LED normální, LED multiplexní, rotační enkodér, textový displej, pípák, posuvné registry.
Cvičení na počítači:
1. Subversion, styl C, ukazatele, C pro AVR, Makefile.
2. ISR, tlačítka se zákmity, časovače.
3. Textový displej a UART.
4. LED displej multiplexní, rotační enkodér.
5. Posuvný registr pro LED, had řízený tlačítky.
6. Kooperativní RTOS, kombinace C s assemblerem.
7. A/D převodník na textový displej a bargraf, pípák.
8. Teplotní čidla DS18B20 a KTY81.
9. Práce s EEPROM a sběrnicí I2C.
10. Hodiny reálného času a úsporné režimy.
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
Typ (způsob) výuky
Přednáška
Vyučující / Lektor
Osnova
2. Jazyk C: konstanty a operátory, řídicí struktury, preprocesor, funkce, paměť a třídy, ukazatele, pole, řetězce, struct, union, enum.
3. Jazyk C: bitové operace, inline, volatile, naked, stavový automat, Makefile a oddělený překlad.
4. Zásady návrhu embedded systémů, RTOS (kooperativní RTOS se supersmyčkou, preemptivní FreeRTOS, CMSIS-RTOS).
5. 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.
6. AVR periferie a komunikace: čítače/časovače, RTC, ADC, UART, SPI, I2C, 1-wire.
7. Periferie: tlačítka, LED normální, LED multiplexní, rotační enkodér, textový displej, pípák, posuvné registry.
Cvičení na počítači
Vyučující / Lektor
Osnova
2. ISR, tlačítka se zákmity, časovače.
3. Textový displej a UART.
4. LED displej multiplexní, rotační enkodér.
5. Posuvný registr pro LED, had řízený tlačítky.
6. Kooperativní RTOS, kombinace C s assemblerem.
7. A/D převodník na textový displej a bargraf, pípák.
8. Teplotní čidla DS18B20 a KTY81.
9. Práce s EEPROM a sběrnicí I2C.
10. Hodiny reálného času a úsporné režimy.