Detail předmětu
Mikroprocesory
FEKT-BMICAk. rok: 2018/2019
Předmět je zaměřen na základy mikroprocesorových a embedded systémů. Studenti se seznámí s principem činnosti mikroprocesorů, použití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 mikrokontrolérů v assembleru a jazyce C.
Jazyk výuky
Počet kreditů
Garant předmětu
Zajišťuje ústav
Výsledky učení předmětu
- navrovat kombinační logické obvody,
- navrhovat sekvenční logické obvody typu Mealy a Moore automat,
- navrhnot připojení externích pamětí k mirokontroléru,
- vytvořit softwarové vybavení pro mirokontrolér v assembleru a jazyce C,
- popsat hierarchii paměti a vysvětlit použití pamětí cache,
- vysvětlit rozdíl mezi mikroprocesorem, mikrokontrolérem, signálovým procesorem a signálovým kontrolérem,
- vysvětlit mechanismus segmentace, stránkování a virtualizace paměti.
Prerekvizity
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
Způsob a kritéria hodnocení
Závěrečná zkouška má ústní část a je hodnocena max. 60 body. Student musí získat minimálně 25 bodů ze závěrečné zkoušky.
Osnovy výuky
2. Program, instrukce, instrukční soubor, typy instrukcí. Adresovací módy. Strojový kód.
3. Assembler: instrukce, pseudoinskrukce, návěští. Instrukční soubor mikrokontrolérů NXP rodiny HCS08.
4. Podprogramy, předávání parametů podprogramům, práce se zásobníkem. Rozdíl mezi podprogramem a makrem.
5. Obsluha periferií: aktivní čekání, přerušení, DMA. Č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. 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. PWM.
8. Periferní subsystémy mikrokontrolérů: A/D, D/A převodníky, SCI, SPI, IIC.
9. Paměti: rozdělení, parametry. Princip a vlastnosti pamětí SRAM, DRAM, SDRAM, DDR RAM.
10. Paměti ROM, EPROM, EEPROM, FLASH (NOR, NAND FLASH), FeRAM, MRAM.
11. Připojování pamětí k mikroprocesoru. Sériové a paralelní rozhraní pamětí. Adresový dekodér. Zrcadlení. Hierarchie paměti. Paměti cache.
12. Řetězení (pipelining). Superskalární architektura. Multiprocesorové systémy. Procesory CISC, RISC, Post RISC.
13. Správa paměti: Adresový prostor. Logická a fyzická adresa. MMU. Bázový registr a registr pro limit, segmentace, stránkování. TLB. Virtualizace paměti.
Učební cíle
Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky
Prerekvizity a korekvizity
- povinná prerekvizita
Počítače a programování 1
Základní literatura
Pinker J., Poupa M. Cí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
Typ (způsob) výuky
Přednáška
Vyučující / Lektor
Osnova
2. Adresovací módy. Typy instrukcí. Programátorský model HCS08.. Adresovací módy HCS08.
3. Adresovací módy HCS08. Jazyk symbolických adres.
4. Podprogramy, přerušení, práce se zásobníkem. Reset. Způsoby obsluhy V/V.
5. Použítí jazyka C pro embedded programování. Mikroprocesor, mikrokontrolér, signálový procesor, signálový kontrolér.
6. Von Neumannova, harvardská a modifikovaná harvardská architektura mikroprocesorů. Přesahování (overlapping), řetězení (pipelining), problémy při řetězeném zpracování instrukcí.
7. Mikrokontroléry Freescale řady HCS08: pracovní módy, paměťová mapa, porty.
8. HCS08: Přerušovací systém. Reset. COP (watchdog). Generování hodinového signálu.
9. HCS08: Časovací subsystém: funkce input capture a output compare, měření časového intervalu. Analogový komparátor.
10. HCS08: A/D převodník. Sériové komunikační kanály SCI, SPI, IIC. PWM.
11. Paměťi: rozdělení, parametry. Principy a vlastnosti pamětí SRAM, DRAM, SDRAM, DDR SDRAM.
12. Principy a vlastnosti pamětí ROM, PROM, EPROM, EEPROM, FLASH, FeRAM, MRAM. Připojování pamětí ke sběrnicím.
13. Správa paměti: jednotka MMU, stránkování, TLB, virtuální paměť.
Cvičení na počítači
Vyučující / Lektor
Osnova
2. Seznámení s vývojovým prostředím CodeWarior. Strojový kód - sčítání 32 bitových čísel..
3. Jazyk symbolických adres - sčítání 32 bitových čísel, adresovací módy HCS08.
4. Program v jazyce symbolických adres pro násobení 16 bitových čísel.
5. Program v jazyce symbolických adres pro přesun pole čísel. Program v jazyce symbolických adres pro setřídění pole čísel.
6. Program v jazyce symbolických adres - podprogramy, práce se zásobníkem.
7. Program v jazyce symbolických adres - obsluha přerušení, start po RESET.
8. Test číslo 1.
9. Program v jazyce C - práce s binárními I/O prorty.
10. Program v jazyce C - obsluha přerušení
11. Program v jazyce C - TOD.
11. Program v jazyce C - PWM.
12. Program v jazyce C - A/D převodník.
13. Test číslo 2.