Course detail

Embedded Systems and Microprocessors

FEKT-BPC-MICAcad. year: 2023/2024

The course is focus on a hardware and a software of embedded systems. Students are familiarized with principles of microprocessor systems, memory subsystems, memory management and embedded system peripherals. Students obtain practical experience in assembly and C language programing of embedded systems.

Language of instruction

Czech

Number of ECTS credits

6

Mode of study

Not applicable.

Entry knowledge

The student should be able to create simple C language program and explaine function of the elementary electronic parts.

Rules for evaluation and completion of the course

Up to 40 points for the computer lectures (2 tests up to 30 points, assignments up to 10 points). Minimal needed points for computer lectures is 20.
Up to 60 points for the final oral examination. Minimal needed points for oral examination is 30.
Computer exercises are mandatory, it is possible to replace the properly excused missed computer exercises.

Aims

The aim of the course is to give base information about principles of the microprocessor systems, peripheral subsystems of embedded systems and design of embedded system software.
Absolvent knows:
- Von Neumann computer block diagram, description of blocks, difference between Von Neumann and Harvard architecture.
- Instruction addressing modes.
- Polling, interrupt, DMA.
- Microcontroller peripherals.
- Serial busses: UART (SCI), SPI, IIC.
- Principle and property SRAM, SDRAM, ROM, EEPROM, FLASH, FeRAM, MRAM.
- Memory management: paging. Memory virtualization.
Absolvent is able to:
- Design simple embedded system.
- Programming simple embedded system in assembly and C language.

Study aids

Not applicable.

Prerequisites and corequisites

Basic literature

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

Recommended reading

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)

Elearning

Classification of course in study plans

  • Programme BPC-AMT Bachelor's 2 year of study, summer semester, compulsory

Type of course unit

 

Lecture

26 hod., optionally

Teacher / Lecturer

Syllabus

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).

Exercise in computer lab

39 hod., compulsory

Teacher / Lecturer

Syllabus

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.

Elearning