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
-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
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
Mutuazione: 20802093 ELETTRONICA DEI SISTEMI PROGRAMMABILI in Ingegneria elettronica per l'industria e l'innovazione LM-29 N0 SAVOIA ALESSANDRO STUART, DE IACOVO ANDREA
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
Testi Adottati
Libro 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
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
scheda docente
materiale didattico
Classificazione dei sistemi programmabili
Campi di applicazione
Richiami di elettronica digitale:
Reti logiche
Circuiti combinatori
Circuiti sequenziali
Logiche programmabili
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
Organizzazione di un microcomputer:
Struttura di base
Microcontrollori vs. microprocessori
CPU
Bus
Organizzazione della memoria
Organizzazione dell’I/O
Instruction set
Introduzione agli interrupt
Programmazione embedded in linguaggio assembly:
Programmazione a basso livello
Assembler
Caratteristiche delle istruzioni assembly
Operazioni di moltiplicazione e divisione
Allocazione dati e variabili
Subroutines e Interrupt Service Routines
Programmazione embedded in linguaggio C:
Programmazione ad alto livello
Compilatori
Struttura di programmi C
Esempi
Integrazione di codice C e assembly
Principi base di interfacciamento:
Alimentazione
Clock
Power-on reset
Bootstrap
Periferiche embedded:
Tipologie di interrupt
Gestione degli interrupt
Timer e contatori
Memorie embedded
Arbitraggio del bus
Accesso diretto alla memoria (DMA)
Interfacciamento con il mondo esterno:
Porte di ingresso-uscita general purpose (GPIO)
Interfacciamento di dispositivi tramite GPIO
Interfacciamento di interruttori e pulsanti
Interfacciamento di LED
Interfacciamento di display
Interfacciamento di carichi in corrente continua
Interfacciamento di carichi in corrente alternata
Interfacciamento di motori
Comunicazione seriale:
Comunicazione di dati
Tipologie di canali seriali
UART
USB
SPI
I2C
1-Wire
Elaborazione di segnali analogici:
Sensori, Interfacciamento e condizionamento dei segnali
Amplificatori Operazionali
Comparatori
Campionamento
Convertitori ADC e DAC
Manuel Jiménez, Rogelio Palomera, Isidoro Couvertier, “Introduction to Embedded Systems: Using Microcontrollers and the MSP430“, Springer Science & Business Media, 11 set 2013.
Paolo Spirito, “Elettronica digitale”, McGraw-Hill Companies, 2002.
Materiale per le esercitazioni:
PAGINA WEB SCHEDA DI SVILUPPO - Texas Instruments MSP-EXP430FR5739
http://www.ti.com/tool/msp-exp430fr5739
GUIDA SCHEDA DI SVILUPPO - MSP-EXP430FR5739 Experimenter Board User's Guide (Rev. B)
http://www.ti.com/lit/ug/slau343b/slau343b.pdf
GUIDA MICROCONTROLLORE- MSP430FR57xx Family User's Guide (Rev. C)
http://www.ti.com.cn/cn/lit/ug/slau272c/slau272c.pdf
DATASHEET MICROCONTROLLORE - MSP430FR573x Mixed-Signal Microcontrollers (Rev. J)
http://www.ti.com/lit/ds/slas639j/slas639j.pdf
AMBIENTE DI SVILUPPO -Texas Instruments Code Composer Studio (IDE) v5 Windows/Linux
http://www.ti.com/tool/ccstudio
Mutuazione: 20802093 ELETTRONICA DEI SISTEMI PROGRAMMABILI in Ingegneria elettronica per l'industria e l'innovazione LM-29 N0 SAVOIA ALESSANDRO STUART, DE IACOVO ANDREA
Programma
Introduzione ai sistemi programmabili:Classificazione dei sistemi programmabili
Campi di applicazione
Richiami di elettronica digitale:
Reti logiche
Circuiti combinatori
Circuiti sequenziali
Logiche programmabili
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
Organizzazione di un microcomputer:
Struttura di base
Microcontrollori vs. microprocessori
CPU
Bus
Organizzazione della memoria
Organizzazione dell’I/O
Instruction set
Introduzione agli interrupt
Programmazione embedded in linguaggio assembly:
Programmazione a basso livello
Assembler
Caratteristiche delle istruzioni assembly
Operazioni di moltiplicazione e divisione
Allocazione dati e variabili
Subroutines e Interrupt Service Routines
Programmazione embedded in linguaggio C:
Programmazione ad alto livello
Compilatori
Struttura di programmi C
Esempi
Integrazione di codice C e assembly
Principi base di interfacciamento:
Alimentazione
Clock
Power-on reset
Bootstrap
Periferiche embedded:
Tipologie di interrupt
Gestione degli interrupt
Timer e contatori
Memorie embedded
Arbitraggio del bus
Accesso diretto alla memoria (DMA)
Interfacciamento con il mondo esterno:
Porte di ingresso-uscita general purpose (GPIO)
Interfacciamento di dispositivi tramite GPIO
Interfacciamento di interruttori e pulsanti
Interfacciamento di LED
Interfacciamento di display
Interfacciamento di carichi in corrente continua
Interfacciamento di carichi in corrente alternata
Interfacciamento di motori
Comunicazione seriale:
Comunicazione di dati
Tipologie di canali seriali
UART
USB
SPI
I2C
1-Wire
Elaborazione di segnali analogici:
Sensori, Interfacciamento e condizionamento dei segnali
Amplificatori Operazionali
Comparatori
Campionamento
Convertitori ADC e DAC
Testi Adottati
Libro di testo consigliati:Manuel Jiménez, Rogelio Palomera, Isidoro Couvertier, “Introduction to Embedded Systems: Using Microcontrollers and the MSP430“, Springer Science & Business Media, 11 set 2013.
Paolo Spirito, “Elettronica digitale”, McGraw-Hill Companies, 2002.
Materiale per le esercitazioni:
PAGINA WEB SCHEDA DI SVILUPPO - Texas Instruments MSP-EXP430FR5739
http://www.ti.com/tool/msp-exp430fr5739
GUIDA SCHEDA DI SVILUPPO - MSP-EXP430FR5739 Experimenter Board User's Guide (Rev. B)
http://www.ti.com/lit/ug/slau343b/slau343b.pdf
GUIDA MICROCONTROLLORE- MSP430FR57xx Family User's Guide (Rev. C)
http://www.ti.com.cn/cn/lit/ug/slau272c/slau272c.pdf
DATASHEET MICROCONTROLLORE - MSP430FR573x Mixed-Signal Microcontrollers (Rev. J)
http://www.ti.com/lit/ds/slas639j/slas639j.pdf
AMBIENTE DI SVILUPPO -Texas Instruments Code Composer Studio (IDE) v5 Windows/Linux
http://www.ti.com/tool/ccstudio
Modalità Erogazione
Lezioni frontali ed esercitazioni in aulaModalità Valutazione
La verifica dell'apprendimento avviene attraverso due modalità distinte, a scelta dello studente: a. Sviluppo e discussione di un progetto, concordato con il docente, di un sistema elettronico basato su microcontrollore. b. Esame orale sul programma completo del corso.