MICROCONTROLLERS (UNIT 2)
cod. 1010134

Academic year 2023/24
3° year of course - First semester
Professor
Nicola DELMONTE
Academic discipline
Elettronica (ING-INF/01)
Field
Ingegneria elettronica
Type of training activity
Characterising
48 hours
of face-to-face activities
6 credits
hub: PARMA
course unit
in

Integrated course unit module: ELECTRONIC SYSTEM DESIGN + MICROCONTROLLERS

Learning objectives

1) Knowledge and understanding
This course aims to provide knowledge on the principles, models, techniques and tools for programming embedded microcontroller systems. At the end of this course the students will have obtained a real technology transfer with the acquisition of basic knowledge and skills useful for starting a personal work for the development of projects based on embedded system with the ability to autonomously understand hardware and instruction set of a generic microcontroller, as well as being familiar with the integrated development environments currently used for programming this type of integrated circuit.

2) Applying knowledge and understanding
The course aims to put students in a position to start designing and developing customized applications for the control of power converters and/or for the creation of smart IoT nodes. This through the analysis of various case studies and laboratory exercises. Through these exercises, the student will acquire the ability to apply the techniques learned during the theoretical lessons in application contexts where the use of embedded systems is required. He will also be able to understand how to configure a microcontroller and related peripherals for the specific application in which it will be used.

Prerequisites

Students should be familiar with the notions of informatics, as well as digital and analog electronics typically acquired in first-level degrees in Information engineering (class L-8).

Course unit content

Part one:
1) Introduction to the course
2) Historical notes

Second part:
3) Overview of embedded electronics and definition of microcontroller
4) Classification of microcontroller architectures
5) Analysis of a commercial microcontroller
6) Peripherals (sensors, actuators, and displays)

Part Three:
7) Development of projects for the control of power converters and for the realization of IoT nodes.

Full programme

1) Introduction to the course (1 hour):
In-depth description of the syllabus.

2) History with reference to ARM microcontrollers (1 hour).

3) Overview of embedded electronics and definition of microcontroller (2 hours): Differences between CPU and MCU. MCU families. Overview of the peripherals of an MCU. Microcontrollers overview.

4) Classification of microcontroller architectures (1 hour): von Neumann vs Harvard; pipeline and state of the art architectures.

5) Architecture analysis of a commercial microcontroller (2 hours): Cortex M7.

6) The digital I/O peripheral (2 hours): Management and programming of the general purpose I/O ports. Reading an input signal. Writing an output signal.

7) Timers (3 hours): Operating principle of a hardware timer. Time base and prescaler. Auto-reload. Events and Interrupts. Using timers to generate pulse width modulation (PWM) signals. Examples of use with Timers and digital I/O.

8) Programming pattern (2 hours): Finite state machine. Status and event concept. Blocking and non-blocking event polling. Interrupts. Examples of problems with finite state machines.

9) The UART device (2 hours): Operating principle of an UART. UART peripheral programming. Interrupts and polling. Transmission of a character. Receiving a character.

10) Analog-digital converters (2 hours): Operating principle. Sample-and-hold circuit. Programming an ADC converter. Examples of problems with ADC.

11) Communication peripherals (3 hours): I2C, SPI, CAN.

12) IoT protocols (2 hours).

13) Peripherals (1 hour): sensors (conversion of physical units), actuators, and displays.

14) Development of projects for the control of power converters and for the creation of IoT nodes (24 hours):
- Exercises for programming using the STMicroelectronics development environment: STM32Cube platform.
- Circuits making with prototyping boards, sensors, and actuators.


Bibliography

Franco Zappa, “Microcontrollers: Hardware and firmware for 8-bit and 32-bit devices”, Ed. Esculapio, ISBN: 9788893850223

Teaching methods

The course (6 credits) is given with lectures, tutorials, and laboratory work including exercises in a total amount of 48 hours:
• Classroom lectures by the instructor with the aid of slides (available for download to students) projection, web surfing;
• Tutorials and exercises carried out in a laboratory specifically equipped to work with PC and electronic circuits.
During the laboratory activities, a project work to be developed using a board from the STM32 series will be given to each student. The circuit created with this project will be described by the student during the exam.
The instructor is available to answer specific questions on the lessons also by appointment (e-mail).

Assessment methods and criteria

Oral exam.
It will be done in two parts:
- A presentation of a developed project (see "Teaching methods") for a maximum total of 20 points.
- Answer to a couple of questions (maximum 5 points for each question) of the theory part covered in the frontal lessons.
During the exam the student will have to demonstrate:
• Have acquired the basic notions of microcontrollers.
• have acquired the ability to apply the techniques learned during the theoretical lessons in application contexts where the use of embedded systems is required.
• Understand how to configure a microcontroller and related peripherals for the specific application in which it will be used.
• Have acquired basic knowledge and skills useful for starting a personal job for the development of projects for embedded microcontroller systems.
The final vote will be given by the sum of the three partial scores.
Praise is given in the case of achieving the highest score on each topic, which includes some in-depth knowledge of the topics discussed during the lessons and/or the capacity of using a disciplinary language.

Other information

The course web site can be found on the Elly platform.

2030 agenda goals for sustainable development