Course detail
Embedded Systems and Microprocessors
FEKT-BPC-MICAcad. year: 2024/2025
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.
Guarantor
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.
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.
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
- compulsory prerequisite
Introduction to Programming
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)
PINKER, J., POUPA, M.: Číslicové systémy a jazyk VHDL. Praha: BEN, 2006. 349 s. ISBN 80-7300-198-5. (CS)
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).
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