Microprocessors and Embedded Systems
IMP Acad. year 2022/2023 Winter semester 6 credits
Embedded systems, introduction, applications. Microcontroller architecture. Memory subsystem. Programmersmodel, programming of the ARM core, Stack, Interrupt subsystem and its programming. On chip peripheraldevices and their programming: system clock generator, timers, communication interface UART, IIC and SPI,analogue and digital input and output. Programming techniques for embedded systems inC language.
Language of instruction
- 39 hrs lectures
- 6 hrs exercises
- 8 hrs laboratories
- 12 hrs projects
- 51 pts final exam (written part)
- 19 pts mid-term test (written part)
- 16 pts labs
- 14 pts projects
Course Web Pages
Subject specific learning outcomes and competences
- 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. Understanding of design specificity of embedded systems using microcontrollers and techniques of application debugging.
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.
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.
Prerequisite knowledge and skills
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.
- Přednáškové materiály, materiály z democvičení a HW cvičení.
- KL05 Sub-Family Reference Manual, dostupné on-line: https://www.nxp.com/docs/en/reference-manual/KL05P48M48SF1RM.pdf
- K60 Sub-Family Reference Manual, dostupné on-line: https://www.nxp.com/docs/en/reference-manual/K60P144M100SF2V2RM.pdf
- Cortex-M0+ Devices Generic Users Guide, dostupné on-line: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0662b/index.html
- Predko, M.: "Handbook of Microcontrollers", McGraw-Hill, ISBN 0079137164, 1998.
- ARM Cortex-M4 Processor Technical Reference Manual, dostupné on-line: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.100166_0001_00_en/index.html
- J.W. Valvano, Embedded Systems: Real Time Interfacing to ARM Cortex-M Microcontrollers, ISBN 978-1463590154, 2017.
- J.W.Valvano, Embedded Systems: Introduction to ARM Cortex-M Microcontrollers, Volume 1, ISBN 978-1477508992.
Syllabus of lectures
- Introduction to Embedded systems.
- ARM Core for microcontrollers.
- Memory subsystem and interrupts.
- Programming in C.
- Communication interfaces.
- Digital inputs and outputs, ports.
- Timers, counters.
- Analogue input and output.
- System clock and clock generation.
- Power supply and power consumption of embedded systems.
- Practical aspects of embedded systems design.
- Real-time system.
Syllabus of laboratory exercises
- Introduction to lab kit, serial communication.
- Digital input/output.
- Timer, PWM.
- Analogue input.
Syllabus - others, projects and individual work of students
Compulsory individual or team twelve-hour project.
- 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.
Within this course, attendance on the lectures and group practice are not monitored. Laboratory practice and project are monitored.
Project designing with obligatory storing into IS and getting at least 5 points for the project.
|Mon||laboratory||5., 7., 9., 11. of lectures||L306.1 L306.2||09:00||10:50||20||3BIT||xx||Šimek|
|Mon||laboratory||6., 8., 10., 12. of lectures||L306.1 L306.2||09:00||10:50||20||3BIT||xx||Šimek|
|Mon||laboratory||5., 7., 9., 11. of lectures||L306.1 L306.2||11:00||12:50||20||3BIT||xx||Šimek|
|Mon||laboratory||6., 8., 10., 12. of lectures||L306.1 L306.2||11:00||12:50||20||3BIT||xx||Šimek|
|Tue||laboratory||5., 7., 9., 11. of lectures||L306.1 L306.2||07:00||08:50||20||3BIT||xx||Strnadel|
|Tue||laboratory||6., 8., 10., 12. of lectures||L306.1 L306.2||07:00||08:50||20||3BIT||xx||Strnadel|
|Tue||exam||2023-01-03||D0206 D0207 D105 E104 E105 E112 G202||09:00||10:30||řádná|
|Tue||laboratory||5., 7., 9., 11. of lectures||L306.1 L306.2||09:00||10:50||20||3BIT||xx||Strnadel|
|Tue||laboratory||6., 8., 10., 12. of lectures||L306.1 L306.2||09:00||10:50||20||3BIT||xx||Strnadel|
|Tue||laboratory||5., 7., 9., 11. of lectures||L306.1 L306.2||11:00||12:50||21||3BIT||xx||Šimek|
|Tue||laboratory||6., 8., 10., 12. of lectures||L306.1 L306.2||11:00||12:50||20||3BIT||xx||Šimek|
|Tue||laboratory||5., 7., 9., 11. of lectures||L306.1 L306.2||13:00||14:50||20||3BIT||xx||Šimek|
|Tue||laboratory||6., 8., 10., 12. of lectures||L306.1 L306.2||13:00||14:50||20||3BIT||xx||Šimek|
|Tue||exam||2023-01-17||D0206 D105||16:00||17:30||1. oprava|
|Wed||laboratory||5., 7., 9., 11. of lectures||L306.1 L306.2||11:00||12:50||20||3BIT||xx||Mrázek|
|Wed||laboratory||6., 8., 10., 12. of lectures||L306.1 L306.2||11:00||12:50||20||3BIT||xx||Mrázek|
|Wed||laboratory||5., 7., 9., 11. of lectures||L306.1 L306.2||13:00||14:50||20||3BIT||xx||Strnadel|
|Wed||laboratory||6., 8., 10., 12. of lectures||L306.1 L306.2||13:00||14:50||20||3BIT||xx||Strnadel|
|Wed||laboratory||5., 7., 9., 11. of lectures||L306.1 L306.2||15:00||16:50||20||3BIT||xx||Strnadel|
|Wed||laboratory||6., 8., 10., 12. of lectures||L306.1 L306.2||15:00||16:50||20||3BIT||xx||Strnadel|
|Thu||laboratory||5., 7., 11., 13. of lectures||L306.1 L306.2||11:00||12:50||20||3BIT||xx||Mrázek|
|Thu||laboratory||6., 8., 10., 12. of lectures||L306.1 L306.2||11:00||12:50||20||3BIT||xx||Mrázek|
|Thu||laboratory||5., 7., 13. of lectures||L306.1 L306.2||13:00||14:50||20||3BIT||xx||Šimek|
|Thu||laboratory||8., 10., 12. of lectures||L306.1 L306.2||13:00||14:50||20||3BIT||xx||Šimek|
|Fri||lecture||1., 2., 5., 7., 8., 10., 11., 12., 13. of lectures||D0206 D105||10:00||12:50||9999||3BIT||10 - 19||Růžička|
|Fri||lecture||4., 9. of lectures||D0206 D105||10:00||12:50||9999||3BIT||10 - 19||Bidlo|
|Fri||lecture||2022-10-07||D0206 D105||10:00||12:50||9999||3BIT||10 - 19||Strnadel|
|Fri||exercise||3., 8., 10. of lectures||D0206 D105||13:00||13:50||9999||3BIT||10 - 19||Strnadel|
|Fri||exercise||5., 11. of lectures||D0206 D105||13:00||13:50||9999||3BIT||10 - 19||Růžička|
|Fri||exercise||2022-09-30||D0206 D105||13:00||13:50||9999||3BIT||10 - 19||Šimek|
Course inclusion in study plans