Microcontroller systems

Subject description

Basic design of microcontroller systems – basic functional principles,

CPU presentation (architecture, function of units, pipeline, MMU),

Programming in assembly language and C, Internal and external interrupts (vector table, stack, nested and nonnested interrupts, priorities),

Real-time execution (use of timers, watchdog timer),

Connecting the periphery to parallel and serial ports (sinhronous, asynhronous),

Memory types and connecting,

Data transfer with direct memory access (DMA),

Development, debugging, test tools and methods,

Specifics of Digital signal processors,

Multicore system on chip (McSoC) basics. 

The subject is taught in programs

Objectives and competences

(a) To become familiar with theoretical background of microcontroller systems.

(b) Use of development system via assembler and C language.

(c) Enhancement of knowledge from Programming I and II courses into functional system.

(d) Independence in use of microcontroller systems, interrupts, timers and watchdog.

Teaching and learning methods

Lectures in various forms, instructions for lab practice, individual lab work. Each student is using powerful development system, its price is in range of one workbook. Practical exercises in form that enable further deep individual work. For specific fields are invited lectureres from internationally renomated slovene industry in the target field.

Expected study results

After sccessful completion of the course, students should be able to:

– understand of the structure of the microcontroller and the embedded system as a whole,

– to design more complex programs of the embedded system in the C language,

– use an assembly language for basic microcontroller programming,

– create programs using timers,

– analyze programs step-by-step and as a whole, by monitoring the status of internal microcontroller units,

– to design interrupt programs.

Basic sources and literature

  1. Tammy Noergaard, Embeded Systems Arhitecture – A Comprehensive Guide for Engineers and Programmers, CreateSpace , 0123821967, 2012.
  2. Jonathan W. Valvano, Real-Time Interfacing to Arm® Cortex(TM)-M Microcontrollers, CreateSpace, 2011, ISBN ISBN-10: 1-463-59015-6.
  3. Steve Furber, ARM System-On-Chip Arhitecture, Addison Wesley, 2000, ISBN 0-201-67519-6.
  4. Abderazek Ben Abdallah, Advanced Multicore Systems-On-Chip, Springer, 2017, ISBN 978-981-10-6091-5.  
  5. Cortex M mikrokrmilnik, zbrano študijsko gradivo, 2023, PDF datoteke na spletni strani predmeta.

Stay up to date

University of Ljubljana, Faculty of Electrical Engineering Tržaška cesta 25, 1000 Ljubljana

E:  dekanat@fe.uni-lj.si T:  01 4768 411