Detail předmětu

Vestavné systémy a mikroprocesory

FEKT-BPC-MICAk. rok: 2018/2019

Předmět je zaměřen na základní principy mikroprocesorových a embedded systémů. Studenti se seznámí s principem činnosti mikroprocesorů, periferiemi integrovanými na čipech mikroprocesorů, použitím periferních sybsystémů mikrokontrolérů, paměťovými systémy a správou paměti. Ve cvičeních studenti získají praktické zkušenosti s programováním embedded systémů v assembleru a jazyce C.

Jazyk výuky

čeština

Počet kreditů

6

Garant předmětu

Výsledky učení předmětu

Absolvent předmětu by měl být schopen:
- vysvětlit rozdíl mezi mikroprocesorem, mikrokontrolérem, signálovým procesorem a signálovým kontrolérem,
- vyjmenovat a popsat způsoby obsluhy V/V periferií,
- vytvořit softwarové vybavení pro jednoduchý embedded systém v assembleru a jazyce C,
- vysvětlit principy a popsat vlastnosti pamětí SRAM, DRAM, SDRAM, DDR RAM, ROM, EPROM, EEPROM, FLASH (NOR, NAND FLASH), FeRAM, MRAM,
- popsat hierarchii paměti a vysvětlit použití pamětí cache,
- vysvětlit mechanismus segmentace, stránkování, swapování a virtualizace paměti,
- navrhnot připojení externích pamětí k mirokontroléru.

Prerekvizity

Povinnou prerekvizitou je předmět BPC-UDP.
Student by měl být schopen vytvořit jednoduchý program v jazyce C a vysvětlit funkci základních elektronických součástek.

Plánované vzdělávací činnosti a výukové metody

Metody vyučování zahrnují přednášky a laboratorní cvičení. Student musí ve cvičeních odladit zadané úlohy.

Způsob a kritéria hodnocení

Až 40 bodů za laboratorní cvičení (2 testy 30 bodů, zadané úlohy 10 bodů).
Až 60 bodů za závěrečnou zkoušku, která má pouze ústní část. Minimální počet bodů z ústní části je 20.

Osnovy výuky

1. Von Neumannova architektura, Harvardská architektura, modifikovaná Harvardská architektura. Základní cyklus počítače. Mikroprocesor, mikrokontrolér, signálový procesor, signálový kontrolér.
2. Instrukční soubor, typy instrukcí. Adresovací módy. Strojový kód.
3. Assembler: instrukce, pseudoinstrukce, návěští. Instrukční soubor mikrokontrolérů používaných ve cvičeních.
4. Podprogramy, předávání parametrů podprogramům, práce se zásobníkem. Rozdíl mezi podprogramem a makrem.
5. Obsluha periferií: aktivní čekání, přerušení, DMA. Paměťově mapované, izolované a hybridní periferie. . Maskovatelné, nemaskovatelné a pseudomaskovatelné přerušení. Vnořená přerušení. Reset.
6. Použití jazyka C pro programování vestavných systémů a V/V operací. Periferní subsystémy mikrokontrolérů: porty, jednotky generování hodinového signálu, hodiny reálného času, watchdog.
7. Periferní subsystémy mikrokontrolérů: čítače a časovače, funkce Input Capture a Output Compare, měření časového intervalu. Subsystém pro PWM.
8. Periferní subsystémy mikrokontrolérů: A/D, D/A převodníky, SCI (UART), SPI, IIC.
9. Princip a vlastnosti pamětí SRAM, DRAM, SDRAM, DDR RAM.
10. Princip a vlastnosti pamětí ROM, EPROM, EEPROM, FLASH (NOR, NAND FLASH), FeRAM, MRAM.
11. Paměťový systém vestavných systémů. Sériové a paralelní rozhraní pamětí. Adresový dekodér. Neúplné dekódování adresy - zrcadlení. Hierarchie paměti. Paměti cache.
12. Řetězené zpracování instrukcí (pipelining). Superskalární architektura. Multiprocesorové systémy. Procesory CISC, RISC, Post RISC.
13. Správa paměti: Adresový prostor. Logická a fyzická adresa, jednotka MMU. Spojitá alokace, segmentace, stránkování. TLB. Swapování. Virtuální paměť.

Učební cíle

Cílem předmětu je seznámit studenty s principy činnosti mikroprocesorových systémů, subsystémy mikrokontrolérů a základy tvorby softwarového vybavení pro embedded systémy.

Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky

Laboratorní cvičení jsou povinná, řádně omluvené zmeškané počítačové cvičení lze po domluvě s vyučujícím nahradit.

Prerekvizity a korekvizity

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. Úvod do předmětu. Von Neumannova architektura, základní bloky počítače. Základní cyklus počítače. Harvardská architektura, modifikovaná Harvardská architektura. Mikroprocesor, mikrokontrolér, signálový procesor, signálový kontrolér.
2. Instrukční soubor, typy instrukcí. Adresovací módy. Strojový kód.
3. Assembler: instrukce, pseudoinstrukce, návěští. Instrukční soubor mikrokontrolérů používaných ve cvičeních.
4. Podprogramy, předávání parametrů podprogramům, práce se zásobníkem. Rozdíl mezi podprogramem a makrem.
5. Obsluha periferií: aktivní čekání, přerušení, DMA. Paměťově mapované, izolované a hybridní periferie. Činnost procesoru při obsluze přerušení. Maskovatelné, nemaskovatelné a pseudomaskovatelné přerušení. Vnořená přerušení. Reset procesoru, zahájení činnosti po resetu.
6. Použití jazyka C pro programování vestavných systémů a V/V operací. Periferní subsystémy mikrokontrolérů: porty, jednotky generování hodinového signálu, hodiny reálného času, watchdog.
7. Periferní subsystémy mikrokontrolérů: čítače a časovače, funkce Input Capture a Output Compare, měření časového intervalu. Subsystém pro PWM.
8. Periferní subsystémy mikrokontrolérů: A/D, D/A převodníky, SCI (UART), SPI, IIC.
9. Princip a vlastnosti pamětí SRAM, DRAM, SDRAM, DDR RAM.
10. Princip a vlastnosti pamětí ROM, EPROM, EEPROM, FLASH (NOR, NAND FLASH), FeRAM, MRAM.
11. Paměťový systém vestavných systémů. Sériové a paralelní rozhraní pamětí. Adresový dekodér. Neúplné dekódování adresy - zrcadlení. Hierarchie paměti. Paměti cache.
12. Řetězené zpracování instrukcí (pipelining). Superskalární architektura. Multiprocesorové systémy. Procesory CISC, RISC, Post RISC.
13. Správa paměti: Adresový prostor. Logická a fyzická adresa, jednotka MMU. Spojitá alokace, segmentace, stránkování. TLB. Swapování. Virtuální paměť.

Cvičení na počítači

39 hod., povinná

Vyučující / Lektor

Osnova

1. Úvodní informace. Opakování vyjádření čísel ve dvojkové a šestnáctkové soustavě, druhý doplněk.
2. 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).
3. Přechod ze strojového kódu do assembleru – přepsání příkladu ze cvičení 2 do assembleru. Použití různých adresovacích módů. Příklad v assembleru na testování podmínek a použití podmíněných instrukcí větvení.
4. Příklad na programování cyklů a práci s poli čísel v assembleru.
5. Příklad v assembleru na použití podprogramů a předávání parametrů podprogramům.
6. Příklad na práci s binárními vstupy a výstupy v assembleru. Příklad na zápis obslužné rutiny přerušení, povolení přerušení a definování vektoru přerušení a reset vektoru v assembleru.
7. 1. test.
8. Příklady na programování vestavných systémů v jazyce C - přepsání příkladů ze cvičení 6 do jazyka C.
9. Příklad na použití hodin reálného času (program v jazyce C).
10. Příklad na použití funkce output compare pro generování časového intervalu. (Program v jazyce C).
11. Příklad na použití funkce input capture pro měření časového intervalu. (Program v jazyce C).
12. Příklad na použití modulu PWM. (Program v jazyce C).
13. 2. test.