Elettronica dei Sistemi Programmabili

Codice: 20802093

Scheda insegnamento

Anno Accademico di erogazione
2026/2027
Periodo di erogazione
Secondo semestre
CFU
9 CFU
Lingua
Italiano
SSD
IINF-01/A

Scopri il programma didattico

Programma, testi adottati e modalità d’esame sono quelli pubblicati dai docenti per l’anno accademico 2026/2027.

Curriculum
Curriculum unico
Anno di corso
1
Periodo
Secondo semestre
Ore
72
CUIN
260008910

Programma

Introduzione ai sistemi embedded
- Classificazione dei dispositivi e dei sistemi elettronici programmabili
- Caratteristiche dei sistemi embedded
- Tecnologie e principali campi di applicazione
- Flusso di progettazione hardware–software

Sistemi di numerazione e rappresentazione dei dati
- Sistemi di numerazione binario ed esadecimale
- Conversioni e operazioni aritmetiche
- Rappresentazione binaria dei numeri interi
- Rappresentazione in virgola mobile dei numeri reali
- Tipi di dati e loro rappresentazione in memoria

Programmazione embedded in linguaggio C
- Struttura di un programma C
- Compilazione e organizzazione del codice
- Variabili, operatori e strutture di controllo
- Funzioni, puntatori e accesso alla memoria
- Operazioni bitwise e gestione dei registri
- Esempi di programmazione per sistemi embedded

Architettura ARM e microcontrollori STM32
- Architettura dei processori ARM Cortex-M
- Organizzazione della memoria e registri
- Eccezioni e interrupt
- Caratteristiche della famiglia di microcontrollori STM32
- Schede di sviluppo STM32 Nucleo

Strumenti di sviluppo
- Ambiente di sviluppo STM32CubeIDE
- Strumento di configurazione STM32CubeMX
- Compilazione, programmazione e debugging
- Consultazione di datasheet, reference manual e documentazione tecnica

Configurazione e programmazione delle periferiche
- Hardware Abstraction Layer
- Clock system
- Ingressi e uscite digitali (GPIO)
- Gestione degli interrupt
- Timer e Real-Time Clock
- Accesso diretto alla memoria (DMA)
- Interfacce seriali USART
- Conversione analogico-digitale e digitale-analogica
- Interfacce I²C e SPI
- CAN bus

Progettazione di sistemi embedded
- Definizione delle specifiche
- Integrazione hardware–software
- Verifica sperimentale e debugging
- Esercitazioni di laboratorio
- Sviluppo di un progetto individuale

Prerequisiti

Sono richieste conoscenze di base di elettronica analogica e digitale, teoria dei circuiti e programmazione. Una conoscenza preliminare del linguaggio C è utile, ma i concetti necessari saranno richiamati durante il corso.

Testi adottati

- Joseph Yiu, *The Definitive Guide to ARM® Cortex®-M3 and Cortex®-M4 Processors*, 3rd ed., Newnes–Elsevier, 2014, ISBN 978-0-12-408082-9, DOI: 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.

Bibliografia di riferimento

Materiale didattico e documentazione tecnica forniti dal docente;

Modalità di erogazione

L’insegnamento si articola in lezioni frontali, esercitazioni guidate e attività pratiche di laboratorio. Le lezioni introducono i fondamenti teorici e metodologici della progettazione di sistemi embedded; le esercitazioni e le attività di laboratorio consentono di applicare tali conoscenze alla configurazione e alla programmazione di microcontrollori STM32.
Durante la parte finale del corso, ciascuno studente sviluppa individualmente un progetto, sotto la supervisione del docente. Il progetto è finalizzato all’integrazione delle competenze acquisite e comprende attività di progettazione, programmazione, debugging e verifica sperimentale.
Il materiale didattico, la documentazione tecnica e gli esempi di codice utilizzati durante il corso sono messi a disposizione attraverso la piattaforma didattica di Ateneo.

Modalità di frequenza

La frequenza non è obbligatoria, ma è fortemente consigliata. Il corso prevede due lezioni settimanali, ciascuna della durata di tre ore.

Modalità di valutazione

La valutazione si basa sullo sviluppo individuale di un progetto relativo a un sistema elettronico programmabile e su una prova orale.
L’argomento del progetto può essere assegnato dal docente oppure proposto dallo studente e preventivamente approvato. Il progetto viene sviluppato durante la parte finale del corso e prevede, di norma, la progettazione e l’implementazione di un sistema embedded, la verifica sperimentale del suo funzionamento e l’analisi critica dei risultati.
In occasione della prova orale, lo studente presenta il progetto svolto e la relativa relazione tecnica. La discussione è finalizzata a verificare la comprensione delle scelte progettuali, la capacità di interpretare i risultati ottenuti e il livello di autonomia raggiunto. La prova orale comprende inoltre domande sull’intero programma dell’insegnamento ed è pertanto volta ad accertare anche la conoscenza e la comprensione complessiva degli argomenti trattati durante il corso, indipendentemente da quelli direttamente affrontati nel progetto.
La valutazione tiene conto della correttezza e completezza del progetto, della qualità dell’implementazione e della verifica sperimentale, della padronanza degli argomenti del corso e della chiarezza della relazione e della presentazione.

Prove previste

  • Prova orale
  • Prova pratica

Esplora gli obiettivi dell’insegnamento

Ambito disciplinare: Ingegneria elettronica

L’insegnamento consente allo studente di apprendere e applicare le tecniche di progettazione dei sistemi digitali in generale e di approfondire in particolare gli aspetti che riguardano l’implementazione tramite piattaforme programmabili. Il corso analizza la struttura tipica e la tecnologia dei moderni componenti elettronici programmabili, sviluppa la capacità di progettare un sistema elettronico digitale dalle specifiche fino all’implementazione e alla verifica sperimentale del comportamento, la capacità di redazione di un rapporto tecnico relativo al progetto e alla caratterizzazione di un componente o sistema elettronico digitale.

Risultati di apprendimento attesi

Al termine dell’insegnamento, lo studente avrà acquisito conoscenze relative all’architettura e al funzionamento dei moderni microcontrollori e dei sistemi elettronici programmabili per applicazioni embedded. Sarà in grado di:
- analizzare le specifiche funzionali di un sistema embedded;
- selezionare le risorse hardware e software necessarie alla sua realizzazione;
- configurare e utilizzare le principali periferiche di un microcontrollore, incluse porte di ingresso/uscita, timer, convertitori analogico-digitali e digitale-analogici, DMA e interfacce seriali;
- sviluppare, verificare e sottoporre a debug programmi embedded in linguaggio C;
- progettare e realizzare un sistema elettronico basato su microcontrollore, integrando componenti hardware e software;
- verificare sperimentalmente il funzionamento del sistema e interpretare criticamente i risultati ottenuti;
- documentare e presentare il lavoro svolto utilizzando un linguaggio tecnico appropriato.

Lo studente svilupperà inoltre autonomia nella consultazione della documentazione tecnica e nell’individuazione di soluzioni progettuali adeguate alle specifiche assegnate.

Informazioni utili

Per questo insegnamento non sono pubblicate informazioni aggiuntive. Materiale didattico e documenti si trovano sulla piattaforma del corso.

I corsi che comprendono questo insegnamento nell’A.A. 2026/2027

Ingegneria Industriale, Elettronica e Meccanica

Biomedical Engineering

Cod 198325

  • Laurea magistrale
  • 2 anni
  • 120 CFU
  • LM-21 R
API