Course: Microcontrollers and Computers

« Back
Course title Microcontrollers and Computers
Course code KEI/MAP
Organizational form of instruction Lecture + Tutorial
Level of course Bachelor
Year of study not specified
Semester Summer
Number of ECTS credits 5
Language of instruction Czech, English
Status of course Compulsory
Form of instruction Face-to-face
Work placements This is not an internship
Recommended optional programme components None
Course availability The course is available to visiting students
Lecturer(s)
  • Krist Petr, Ing. Ph.D.
  • Weissar Petr, Ing. Ph.D.
  • Pinker Jiří, Prof. Ing. CSc.
  • Kosturik Kamil, Ing. Ph.D.
  • Farkaš Martin, Ing.
Course content
1. Basic parts and functions of microcomputer. Address-, data- and control-bus. Peripheral circuits. Address space and its partition, addressing peripheral circuits, RAM and ROM locations (Von Neumann, Harvard). Memory maps. Address decoders. 2. Computer Details. CISC and RISC processor. Cache. Registers GPR. Arithmetic-logic unit, flag bits. Stack and its control, meaning. 3. Interrupts. Reset, various causes, monitoring of the power voltage. Generation and internal distribution of clock pulses. Low-power modes. Microcontroller internal bus system, connecting matrix. 4. RISC processor, pipeline, its importance and acceleration, requirements to instruction set for optimal operation. Typical 5-stage pipeline, its grades, and their operations. Basic types of instructions and their implementation. Status bits, their creation and use. Jumps conditional and unconditional, call subroutines, meaning of link-register. Stack and its function. Possible conflicts in the pipe and their solution. Empty the pipe, "bubble". Possibility of Jump Acceleration. 5. Interrupts. Typical request path and processing. Priorities, their evaluation, priority levels. Interrupt controller, operation, collaboration with processor. Assigning subroutine start addresses. Usage in programs. Interrupt latency and possibilities of shortening. Structure of the interrupt subroutine. Switching banks, link-register. Using Stack. 6. Memory system, different types of memory. Moving areas of memory space. Overlapping circuits. RAM-ROM overlay. Mirroring. Fullfill memory with different lengths of data. Acceleration of access to data memory - CACHE memory, activity. Speed up access to FLASH. 7. DMA Channel. Operation, co-operation with processor, operation in individual modes, use. Location in computer. 8. Peripheral circuits. Overview and importance of individual peripheral circuits: parallel ports, serial ports, counters and timers, analog inputs and outputs, etc. 3 modes of peripheral circuits control. Multiple use of case pins output blocks, input signal processing circuits. Bus for external chips. Multiplex Bus. Address decoders, programmable chip selection. 9. Parallel inputs/outputs. Addressing, controll the transmission direction. Connection with attached device, principle of "handshake". "Push" and "pull" protocol. Program implementation of protocol, possibly pitfalls. Parallel port circuits. Hardware monitoring of input changes. 10. Serial Inputs/Outputs. Character Synchronization block, Operation, UART and RS-232, Signal timming for 1 Character Transfer. Bit Synchronization Circuits, Function. Serial peripherL bus - SPI. Serial peripheral bus - IIC. 11. Counters and timers. Counting modes, timing, periodic pulse generation. "Input Capture" and "Output Compare" timing unit, cooperation with the interrupt system. Using counters and timers in programs. Pulse Width Modulators. 12. Analog inputs. Chain in full assembly and simplified solution for microcontrollers. Functions, modes of operation, use of converter output registers. Analog outputs assembly, operation. 13. Reserve - adding details in the topics discussed

Learning activities and teaching methods
  • Preparation for an examination (30-60) - 40 hours per semester
  • Undergraduate study programme term essay (20-40) - 25 hours per semester
  • Contact hours - 65 hours per semester
  • unspecified - 45 hours per semester
  • Contact hours - 20 hours per semester
prerequisite
Knowledge
explain basics of Digital Electronics - gate, register, counter, hazard
describe basic parts of Analog Electronics
oreintate in sample codes in C-language
Skills
prove analyze electrical circuits of basic components Digital and Analog Electronics
program basic structures of C (or C++) language
use professional literature (datasheets etc.) in English
Competences
N/A
N/A
N/A
N/A
N/A
N/A
learning outcomes
Knowledge
describe basic parts of microprocessor and microcontroller
explain diferences between RICS and CISC core of processor with respect to conrete HW implementation
explain working of interrupt parts in microcontroller
show basic functionality of ipnut/output circuits including examples of realisation in microcontroller
describe basic communication buses and explain differences in principles, speeds etc.
explain basic contrukctions in C-language with respect their effects in microcontroller
Skills
create working application for microcontroler from task
select appropriate blocks of microcontroller for conrete task solution
apply development tools for effectice application breation
analyze potential sources of mistakes and problems by application creating for microcontrollers
Competences
N/A
N/A
teaching methods
Knowledge
Lecture supplemented with a discussion
Individual study
Skills
Practicum
Individual study
Competences
Lecture supplemented with a discussion
Practicum
Individual study
assessment methods
Knowledge
Oral exam
Written exam
Seminar work
Skills
Seminar work
Competences
Oral exam
Recommended literature
  • texty v Courseware.
  • Donald Norris. Programming with STM32: Getting Started with the Nucleo Board and C/C++. 2018. ISBN 1260031314.
  • Dr. Mark Fisher. ARM Cortex M4 Cookbook. 2016. ISBN 9781782176503.
  • Pinker J. Základy mikrokontrolérů - elektronické učební texty.
  • Pinker, Jiří. Mikroprocesory a mikropočítače. Praha : BEN - technická literatura, 2004. ISBN 80-7300-110-1.


Study plans that include the course
Faculty Study plan (Version) Category of Branch/Specialization Recommended year of study Recommended semester