20810061 - MICROELECTRONICS

Aim of the course is to lead students to get more insight into the fundamentals of digital systems, gaining knowledge for the basic functionality and performances they have for different typical applications. The course is mainly focused on the design of simple digital electronic systems based on programmable devices and practical experiments allow students to understand the fundamental working methodology from a design perspective.
teacher profile | teaching materials

Programme

Introduction
-Classification of electronic devices and systems for embedded applications
-Technologies and fields of application

Recalls on numbering systems and data types
-Binary and hexadecimal numbers
-Conversions and operations between binary and hexadecimal numbers
-Binary representation of integers
-Binary representation of real numbers

Embedded programming in the C language
-High-level programming
-Compilers
-Structure of C programs
-Examples

Introduction to the ARM architecture and the STM32 family of microcontrollers
-Introduction to Cortex and Cortex-M processors
-Introduction to STM32 microcontrollers
-Core development board

Toolchain
-STM32CubeIDE Development Environment
-STM32CubeMX Configuration Tool
-Debugging

Hardware Abstraction Layer
-Digital Interfacing (GPIO)
-Interrupt Management
-Clock System
-Direct Memory Access (DMA)
-Timer and Real-Time Clock
-Serial Interfaces (USART)
-Analog-To-Digital Conversion
-Digital-To-Analog Conversion
-I2C
-SPI
-CAN-bus

Design of embedded systems
-Laboratory
-Project development

Core Documentation

Recommended readings:

Notes from the instructor

Joseph You, “The Definitive Guide to ARM® Cortex®-M3 and Cortex®-M4 Processors,” Third Edition 2014, Elsevier, 2014, ISBN 978-0-12-408082-9, https://doi.org/10.1016/C2012-0-01372-5

Carmine Noviello, “Mastering STM32 - Second Edition, A step-by-step guide to the most complete ARM Cortex-M platform, using the official STM32Cube development environment,” Leanpub, 2022, http://leanpub.com/mastering-stm32-2nd



Type of evaluation

Development of projects based on programmable systems: - Assigned or proposed topics - Conducted individually during the last part of the course Final report to be presented at the oral examination