Microprocessors and Embedded Systems

Language of Instruction:Czech
Private info:http://www.fit.vutbr.cz/study/courses/IMP/private/
Completion:credit+exam (written)
Type of
Guarantor:Růžička Richard, doc. Ing., Ph.D., MBA (DCSY)
Deputy guarantor:Strnadel Josef, Ing., Ph.D. (DCSY)
Lecturer:Bidlo Michal, Ing., Ph.D. (DCSY)
Růžička Richard, doc. Ing., Ph.D., MBA (DCSY)
Strnadel Josef, Ing., Ph.D. (DCSY)
Instructor:Bidlo Michal, Ing., Ph.D. (DCSY)
Mrázek Vojtěch, Ing. (DCSY)
Nevoral Jan, Ing. (DCSY)
Růžička Richard, doc. Ing., Ph.D., MBA (DCSY)
Strnadel Josef, Ing., Ph.D. (DCSY)
Šimek Václav, Ing. (DCSY)
Wiglasz Michal, Ing. (DCSY)
Faculty:Faculty of Information Technology BUT
Department:Department of Computer Systems FIT BUT
Design of Computer Systems (INP), DCSY
Machine Level Programming (ISU), DITS
Peripheral Devices (IPZ), DCSY
Tueexam - řádná2019-01-08D10509:0010:503BIT
Tueexam - řádná2019-01-08D020609:0010:503BIT
Tueexam - řádná2019-01-08D020709:0010:503BIT
Tueexam - řádná2019-01-08E10409:0010:503BIT
Tueexam - řádná2019-01-08E10509:0010:503BIT
Tueexam - 2. oprava2019-01-29D10512:0013:503BIT
Tueexam - 2. oprava2019-01-29D020612:0013:503BIT
Wedcomp.lab - rezerva pro IMP/IEL lab.even weekL30608:0009:503BIT
Wedexam - 1. oprava2019-01-16D10509:0010:503BIT
Wedexam - 1. oprava2019-01-16D020609:0010:503BIT
Friexercise1., 4., 5., 6., 9., 11., 12. of lecturesD020613:0013:50
FriDemo k projektům B2018-10-19D020614:0014:50
FriDemo k projektům N2018-10-26D020614:0014:50
Learning objectives:
  To give the students the knowledge of architecture of different microcontrollers. To acquaint with performance of individual subsystems namely CPU- programming model, flash memory, timer, interrupt subsystem, communication interface, AD converter. Make students familiar with basic rules and programming techniques in a  high-level language C as well as with embedded system design.
  Embedded systems, introduction, applications. Microcontroller architecture. Memory subsystem. Programmers model, programming of the ARM core. Stack. Interrupt subsystem and its programming. On chip peripheral devices and their programming: system clock generator, timer, communication interface UART, IIC and SPI, analogue and digital input and output, RTC module. Programming techniques for embedded systems in C language.
Knowledge and skills required for the course:
  To be familiar with the structure of CPU  and other computer components, basics of electronics and machine-level programming. The basic knowledge of programming in C language.
Subject specific learning outcomes and competencies:
  • Students are familiar with general structure of microcontrollers and with the techniques of embedded systems design.
  • Students are capable to design and debug the routines and initialization routine for each peripheral device. They are skilled in utilizing of basic debugging techniques for the application programs written in C language.
Generic learning outcomes and competencies:
  Understanding of design specificity of embedded systems using microcontrollers and techniques of application debugging.
Why is the course taught:
  Embedded computer systems make up a large and vividly growing market, which is supposed to be expanding even further with the progressive deployment of Internet of Things (IoT) concept. One aspect is comprising application of computers and their programming, just as those are generally known. But in the same time, it is also possible to distinguish certain specifics and particularities related to the application and programming of embedded computer systems which, from the perspective of traditional computers, are deemed to hold just some marginal importance or do not need to be addressed at all. Such interpretation is essentially given by the strong binding of an embedded computer to the underlying hardware and surrounding processes in its vicinity. Typical embodiment of a computer for embedded applications is so called microcontroller, which is a device conceived as an entire computer available on a single chip where it's coupled with various interfaces and range of supporting hardware modules useful for simplification, speed-up or mitigation of the burdens otherwise connected with aplications programming.

The overall volume of microcontrollers fabricated annually on a global scale falls into the range of tens of billions. It is important to highlight the fact that thanks to the flexibility of software solution the microcontrollers not only open a way how to carry out various innovations and achieve price reduction of wide rande of existing systems and applications (from toys to home appliances, vehicles, manufacturing processes and industrial machines), but their utilization constantly unlock also new possibilities, products and entirely new market segments (e.g. previously mentioned IoT concept), which would be otherwise even hard to imagine without the existence of this type of computers. Within the framework of the IMP course students have the chance to make themselves acquainted with various principles behind the programming and deployment of contemporary microcontrollers. They will also become familiar with the typical modules available in those chips, their usage under various application scenarios. Finally, students should get an understanding of fundamental problems connected with embedded systems based on microcontrollers and learn about the approach to their solution.
Syllabus of lectures:
  1. Introduction into Embedded systems.
  2. ARM Core for microcontrollers.
  3. Memory subsystem and interrupts.
  4. Programming in C.
  5. Communication intefraces.
  6. FITkit programming.
  7. Digital inputs and outputs, ports.
  8. Timers, counters.
  9. Analogue input and output.
  10. System clock and clock generation.
  11. Power supply and power consmption of embedded systems.
  12. Practical aspects of embedded systems design.
  13. Real time system.
Syllabus of laboratory exercises:
  1. Introduction to lab kit, serial communication.
  2. Digital input/output.
  3. Timer, PWM.
  4. Analogue input.
Syllabus of computer exercises:
  1. Microcontroller programming.
  2. Lab kit - usage, structure, programming.
  3. Minerva Kit - how to use.
  4. Development tools for embedded systems with microcontroller.
  5. Microcontrollers' debugging interfaces.
  6. Development support for time-critical application.
Syllabus - others, projects and individual work of students:
  • Compulsory individual or team twelve-hour project.
Fundamental literature:
Study literature:
Controlled instruction:
  Within this course, attendance on the lectures and group practice are not monitored. Laboratory practice and project are monitored.
Progress assessment:
  • laboratory assignments with the defense
  • mid-term written examination
Exam prerequisites:
  Project designing with obligatory storing  into IS and getting at least 5 points for the project.

Your IPv4 address:
Switch to IPv6 connection

DNSSEC [dnssec]