20802093 - ELETTRONICA DEI SISTEMI PROGRAMMABILI

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.
scheda docente | materiale didattico

Programma

Introduzione
-Classificazione dei dispositivi e sistemi elettronici per applicazioni embedded
-Tecnologie e campi di applicazione

Richiami sui sistemi di numerazione e tipi di dati
-Numeri binari ed esadecimali
-Conversioni e operazioni tra numeri binari ed esadecimali
-Rappresentazione binaria di numeri interi
-Rappresentazione binaria di numeri reali

Programmazione embedded in linguaggio C
-Programmazione ad alto livello
-Compilatori
-Struttura di programmi C
-Esempi

Introduzione all’architettura ARM e alla famiglia di microcontrollori STM32
-Introduzione ai processori Cortex e Cortex-M
-Introduzione ai microcontrollori STM32
-Scheda di sviluppo Nucleo

Toolchain
-Ambiente di sviluppo STM32CubeIDE
-Tool di configurazione STM32CubeMX
-Debugging

Hardware Abstraction Layer
-Interfacciamento digitale (GPIO)
-Gestione degli Interrupt
-Clock System
-Accesso diretto alla memoria (DMA)
-Timer e Real-Time Clock
Interfacce seriali (USART)
-Analog-To-Digital Conversion
-Digital-To-Analog Conversion
-I2C
-SPI
-CAN-bus

Progettazione di sistemi embedded
-Esercitazioni
-Sviluppo di progetti

Prerequisiti

Per trarre il massimo beneficio da questo corso, è consigliato avere una solida base in alcune aree fondamentali. - Elementi di base dei circuiti elettrici: comprensione dei principi fondamentali dei circuiti elettrici, inclusa la conoscenza delle leggi di Ohm e Kirchhoff, la capacità di analizzare e risolvere circuiti semplici con resistenze, condensatori e induttori e la comprensione delle caratteristiche dei dispositivi di base come diodi e transistor. - Elettronica analogica: conoscenza delle tipologie di base di amplificatori, filtri e oscillatori e dei dispositivi elettronici per la loro implementazione, tra cui amplificatori operazionali, transistor, e diodi. - Elettronica digitale: comprensione solida delle logiche digitali, dei principi di funzionamento delle porte logiche, dei flip-flop e dei dispositivi di memoria. - Fondamenti di informatica: conoscenza di base dei principi di base dell'informatica e della programmazione.

Testi Adottati

Materiale didattico e libri di testo consigliati:

Appunti a cura del docente

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



Bibliografia Di Riferimento

-

Modalità Frequenza

Il corso prevede tre lezioni a settimana, ognuna della durata di due ore.

Modalità Valutazione

Sviluppo di progetti basati su sistemi programmabili: - Argomenti assegnati oppure proposti - Svolti individualmente durante l’ultima parte del corso Relazione finale da presentare in occasione della prova orale