Embedded Systems and Microprocessors
FEKT-BPC-MICAcad. year: 2021/2022
The course is focused on fundamentals of microprocessor and embedded systems. Students are familiarized with basic principals of microprocessor function, on-chip peripheral subsystems of microcontrollers, memory systems and memory management. The students will achieve practical experience with programing of the embedded systems in assembler and C language.
Learning outcomes of the course unit
Graduate should be able to:
- explain difference between microprocessor, microcontroller, DSP and signal controller,
- enumerat and describe methods of I/O peripherals.
- create software for simple embedded system in assembly and C language,
- expaline principles and describe characteristics of SRAM, DRAM, SDRAM, DDR RAM, ROM, EPROM, EEPROM, FLASH (NOR, NAND FLASH), FeRAM, MRAM memories,
- describe memory hierarchy and explain usage of cache memory,
- explain segmentation, paging, swapping and virtual memory,
- design connection of external memory with microcontroller,
The student should be able to create simple C language program and explaine function of the elementary electronic parts.
- compulsory prerequisite
Recommended optional programme components
Recommended or required reading
MACHO, T.: Vestavné systémy a mikroprocesory. Učební text FEKT VUT v Brně. 2021. Dostupné v el. podobě. (CS)
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)
Planned learning activities and teaching methods
Techning methods include lectures and laboratory lectures. Students have to create assignments during the laboratory lectures.
Assesment methods and criteria linked to learning outcomes
Up to 40 points for the laboratory lectures (2 tests up to 30 points, assignments up to 10 points).
Up to 60 points for the final oral examination. Minimal needed points from oral examination is 25.
Language of instruction
1. Introduction to the course. Von Neumann architecture, base parts of the computer. Base computer cycle. Harvard architecture, modified Harvard architecture. Microprocessor, microcontroller, digital signal processor, digital signal controller.
2. Instruction set, type of instructions. Addressing modes. Machine code.
3. Assembly language: mnemonic codes, assembly directives, labels. Instruction set of microcontrollers used in laboratory lectures.
4. Subroutines, arguments passing, saving return values, stack. Subroutine vs. macro.
5. Principles of I/O handling: busy waiting, interrupt, DMA. Memory map, separated and hybrid peripherals. Interrupt servicing. Mask, non-mask and pseudo-mask interrupts. Nested interrupts. Processor RESET.
6. Using of C language for embedded programming and programming of I/O operations. Peripheral subsystems of microcontrollers: ports, system clock generating units, real-time clocks, watchdogs.
7. Peripheral subsystems of microcontrollers: counters and timers, Input Capture and Output Compare functions, time interval measurement. PWM subsystems.
8. Peripheral subsystems of microcontrollers: A/D, D/A convertors, SCI (UART), SPI, IIC.
9. Principle a characteristics SRAM, DRAM, SDRAM, DDR RAM memories.
10. Principle a characteristics ROM, EPROM, EEPROM, FLASH (NOR, NAND FLASH), FeRAM, MRAM memories.
11. Embedded system memory subsystem: Serial vs. parallel memory interface. Address decoder. Incomplete address decoding – memory mirroring. Memory hierarchy. Cache memories.
12. Pipelining. Superscalar architecture. Multiprocessor systems. CISC, RISC and Post RISC processors.
13. Memory management: Address space. Logical and physical address, MMU. Contiguous memory allocation, segmentation, paging. TLB. Swapping. Virtual memory.
The aim of the course is to give base information about principles of the microprocessors systems, subsystems of microcontrollers and design of embedded system software.
Specification of controlled education, way of implementation and compensation for absences
The laboratory lectures are mandatory, the properly excused missed laboratory lectures can be compensate.
Classification of course in study plans
- Programme BPC-AMT Bachelor's, 2. year of study, summer semester, 6 credits, compulsory