Detail předmětu

Vestavné systémy a mikroprocesory

FEKT-BPC-MICAk. rok: 2024/2025

Předmět je zaměřen na hardware a software vestavných systémů. Studenti jsou seznámeni se základní principy mikroprocesorových systémů, paměťovými subsystémy, správou paměti a periferiemi používanými ve vestavných systémech. Ve cvičeních studenti získají praktické zkušenosti s programováním vestavných systémů v assembleru a jazyce C.

Jazyk výuky

čeština

Počet kreditů

6

Garant předmětu

Vstupní znalosti

Povinnou prerekvizitou je předmět BPC-UDP.
Student by měl být schopen vytvořit jednoduchý program v jazyce C..

Pravidla hodnocení a ukončení předmětu

Až 40 bodů za počítačová cvičení (2 testy 30 bodů, zadané úlohy 10 bodů).  Minimální počet bodů pro udělení zápočtu je 20.
Až 60 bodů za závěrečnou zkoušku, která má pouze ústní část. Minimální počet bodů z ústní části je 30.
Počítačová cvičení jsou povinná, řádně omluvené zmeškané počítačové cvičení lze po domluvě s vyučujícím nahradit. 

Učební cíle

Cílem předmětu je seznámit studenty s principy činnosti mikroprocesorových systémů, periferními subsystémy používanými pro vestavné systémy a základy tvorby softwarového vybavení pro vestavné systémy.
Absolvent zná:
- Blokové schéma von Neumannova, funkci jednotlivých bloků, rozdíl mezi Von Neumannovou a Harvardskou architekturou.
- Adresovací módy instrukcí.
- Princip obsluhy V/V periferií pomocí aktivního čekání, přerušení a DMA.
- Periferií používaných v mikrokontrolérech.
- Sériové sběrnice UART (SCI), SPI, IIC.
- Princip a vlastnosti pamětí SRAM, SDRAM, ROM, EEPROM, FLASH, FeRAM, MRAM.
- Správu paměti pomocí stránkování. Princip virtualizace paměti.
Absolvent je schopen:
- Navrhnout jednoduchý vestavný systém s mikrokontrolérem.
- Vytvořit software pro jednoduchý vestavný systém v assembleru a v jazyce C.

Prerekvizity a korekvizity

Základní literatura

MACHO, T.: Vestavné systémy a mikroprocesory. Učební text FEKT VUT v Brně. 2021. Dostupné v el. podobě. (CS)

Doporučená literatura

LIČEV, L., MORKES D.: Procesory - architektura, funkce, použití. Brno: Computer press, 1999. 260 s. ISBN 80-7226-172-X. (CS)
PINKER, J., POUPA, M.: Číslicové systémy a jazyk VHDL. Praha: BEN, 2006. 349 s. ISBN 80-7300-198-5. (CS)

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

  • Program BPC-AMT bakalářský 2 ročník, letní semestr, povinný

Typ (způsob) výuky

 

Přednáška

26 hod., nepovinná

Vyučující / Lektor

Osnova

1. Úvodní informace o předmětu. Vestavný systém. Von Neumannova architektura počítače. Základní cyklus počítače. Organizace paměti.
2. Strojové instrukce, instrukční soubor. Nepodmíněné a podmíněné skoky, podmíněné provádění instrukcí. Adresovací módy.
3. Zásobník. Podprogramy, předávání parametrů funkcím, návratová hodnota. Rozdíl mezi podprogramem a makrem. Inline funkce.
4. Registry periferií. Paměťově mapované, izolované a hybridní periferie. Obsluha periferií: aktivní čekání, přerušení, DMA. Přerušení: řadič přerušení, MSI, činnost procesoru při obsluze přerušení.  Asynchronní a synchronní přerušení. Maskovatelné, nemaskovatelné a pseudomaskovatelné přerušení. Vnořená přerušení. Reset.
5. Použití jazyka C pro programování obsluhy periferií ve vestavných systémech: modifikátor volatile, psaní obslužných rutin přerušení v jazyce C,
6. Práce s registry periferií v assembleru a v jazyce C.
7. Základní součástky pro konstrukci vestavných systémů: mikroprocesor, mikrokontrolér, signálový procesor (DSP), signálový kontrolér (DSC), System on a Chip (SoC), ASIC.
8. Periferní subsystémy mikrokontrolérů: binární porty, řadič přerušení, obvody pro RESET, watchdog, hodiny reálného času,  A/D převodníky, čítače a časovače, funkce Input Capture a Output Compare.
8. Sériová komunikační rozhraní: SCI (UART), SPI, IIC, SMBus.
9. Generování hodinového signálu: princip zpětnovazebních oscilátorů, krystalové oscilátory, vlastnosti krystalových a keramických rezonátorů, fázový závěs.
10. Organizace polovodičových pamětí. Princip a vlastnosti pamětí SRAM a  SDRAM.
11. Princip a vlastnosti pamětí ROM, EEPROM, FLASH (NOR, NAND FLASH), FeRAM, MRAM.  Paměťové subsystém vestavných systémů.
12. Harvardská architektura. Řetězené zpracování instrukcí (pipelining). Procesory CISC, RISC a Post-RISC.
13. Hierarchie paměti. Paměti cache.  Specializované paměti cache. Víceúrovňové paměti cache (L1, L2, L3 cache).

Cvičení na počítači

39 hod., povinná

Vyučující / Lektor

Osnova

1. Úvodní informace. Seznámení s vývojovým prostředím, příklad na zápis programu ve strojovém kódu (sčítání 2 celých čísel). 2. Assembler. Příklady programů v assembleru na použití aritmetických instrukcí a instrukcí větvení. 3. Cykly a práce s poli čísel v assembleru. 4. Použití podprogramů, předávání parametrů funkcím, lokální proměnné, práce se zásobníkem v assembleru. 5. Práce s registry periferií a obsluha přerušení v assembleru. 6. Relativní assembler. Spojování programů v psaných assembleru a v jazyce C. 7. 1. test. 8. Obsluha a konfigurace přerušení v jazyce C. 9. Práce s binárními vstupy a výstupy v assembleru a v jazyce C. 10. Použití hodin reálného času (program v jazyce C). 11. Práce s LCD displejem. s využitím knihovny. Nastavení (Set) a nulování (Reset) bitů pomocí tlačítek (ošetření zákmitů). (Programy v jazyce C). 12. Příklad na použití funkce output compare pro generování časového intervalu (program v jazyce C). 13. 2. test.