Subject description
Introduction and overview of history and the current state-of-the-art of microprocessor technology. The basic building blocks of digital systems. Memory properties and technologies.
Microprocessor architecture. Architecture of the core. Instruction sets. Elements of microprocessor systems.
Review of Atmel AVR microcontrollers architecture. Overview of development tools. The organization of registers, memory, instruction set and addressing modes.
Supervisory systems in microcontrollers, voltage monitoring. Methods of system clock generation. Methods of programming and debugging, design and realization of microprocessor circuits.
Peripherals units of small microcontrollers.
Typical electronic structure of digital I/O lines, I/O registers. Timers and counters with extended features: CCP, ICP, PWM. The analogue comparator and a reference, the A/D converter.
Interrupts and interrupt routines. Power management.
Data transfer: parallel and serial transfer, clock and synchronization. Asynchronous and synchronous transmissions. Electrical properties of communications signals at the reception and transmission, cables and connectors. Electronic circuits for communication. Serial communication standards.
The subject is taught in programs
Objectives and competences
To achieve deep understanding of microprocessor and microcontroller based electronic systems and develop the ability to integrate different CPU peripherals. The course provides the expertise necessary for programming and debugging of microcontrollers in various applications.
Teaching and learning methods
Lectures, laboratory practice, project work, presentation of the project.
Expected study results
On successful completion of this module, students should be able to
- compare technologies of integrated circuits and memories from different perspectives.
- assess the adequacy and select the appropriate microcontroller architecture.
- analyze simple machine code of the microcontroller.
- present structure, properties and operation of Atmel AVR microprocessor core and its periphery.
- analyze the operation and to recognize the meaning of individual registers of a peripheral unit based on the Atmel AVR datasheet.
- identify potential problems that may arise from ignoring the details of the operation of the periphery and present the solution.
- solve a particular problem using interrupts.
- write working code in C language to achieve the desired operation of a peripheral unit of the Atmel AVR microcontroller.
- properly structure the code in the C programming language to achieve low coupling between modules, code transparency and good interchangeability between different families of microprocessors.
Basic sources and literature
- Jankovec M., Osnove mikroprocesorske elektronike, zapiski in slikovno gradivo predavanj, Ljubljana, 2016.
- Pirc M., Jankovec M., Osnove mikroprocesorske elektronike, navodila za laboratorijske vaje, Ljubljana, 2016.
- John L. Hennessy and David A. Patterson, Computer Architecture, A quantitative approach, Morgan Kaufmann Publishers Inc., ISBN 978-0-12-370490-0, 2006.
- Dhananjay V. Gadre, Programming and customising the AVR microcontroller, McGraw-Hill, ISBN: 0-0713-4666-X, 2001.
- Günther Gridling, Bettina Weiss, Introduction to Microcontrollers, 2006.