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., Ph.D. (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
Moncomp.lablecturesL306 08:0009:503BIT
Moncomp.lablecturesL306 10:0011:503BIT
Tuecomp.lablecturesL306 09:0010:503BIT
Tuecomp.lablecturesL306 11:0012:503BIT
Tuecomp.lablecturesL306 13:0014:503BIT
Tuecomp.lablecturesL306 15:0016:503BIT
Tuecomp.lablecturesL306 17:0018:503BIT
Wedcomp.lablecturesL306 14:0015:503BIT
Wedcomp.lablecturesL306 16:0017:503BIT
Thucomp.lablecturesL306 07:0008:503BIT
Thucomp.lablecturesL306 09:0010:503BIT
FrilecturelecturesD0206 D105 11:0013:503BIT
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 the 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 an interpretation is essentially given by the strong binding of an embedded computer to the underlying hardware and surrounding processes in its vicinity. A 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 applications 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 range 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 to Embedded systems.
  2. ARM Core for microcontrollers.
  3. Memory subsystem and interrupts.
  4. Programming in C.
  5. Communication interfaces.
  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 consumption 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: