SISTEMI EMBEDDED

Gennaro PERCANNELLA SISTEMI EMBEDDED

0622700026
DIPARTIMENTO DI INGEGNERIA DELL'INFORMAZIONE ED ELETTRICA E MATEMATICA APPLICATA
CORSO DI LAUREA MAGISTRALE
INGEGNERIA INFORMATICA
2022/2023



OBBLIGATORIO
ANNO CORSO 1
ANNO ORDINAMENTO 2022
SECONDO SEMESTRE
CFUOREATTIVITÀ
432LEZIONE
216LABORATORIO


Obiettivi
L’INSEGNAMENTO MIRA A FORNIRE LE CONOSCENZE FONDAMENTALI PER LA PROGETTAZIONE E LA REALIZZAZIONE DI FIRMWARE PER SISTEMI EMBEDDED BASATI SU MICROCONTROLLORI ARM E
PER LA REALIZZAZIONE DI FIRMWARE BASATI SU MACCHINE A STATI TRAMITE METODOLOGIE MODEL BASED.
IL CORSO PRESENTA SIA DETTAGLI SULLE PRINCIPALI ARCHITETTURE SOFTWARE CHE SULL’ARCHITETTURA HARDWARE DEI MICROCONTROLLORI ARM CON RIFERIMENTO AD ORGANIZZAZIONE DELLA MEMORIA, BUS, STRUTTURA DEL GPI/O, PRINCIPALI PERIFERICHE ED INTERFACCE DI COMUNICAZIONE.
PER QUANTO RIGUARDA L’INTERFACCIAMENTO CON PERIFERICHE E SISTEMI ESTERNE, DURANTE IL CORSO SONO PRESENTATE LE PIÙ COMUNI INTERFACCE E PROTOCOLLI SERIALI SINCRONI ED ASINCRONI.
L’INSEGNAMENTO FORNISCE, QUINDI, UNA PANORAMICA DEI PRINCIPALI AMBIENTI PER LA MODELLAZIONE VALIDAZIONE DI SOFTWARE EMBEDDED TRAMITE APPROCCI MODEL BASED.
INFINE, IL CORSO DISCUTE LE PRINCIPALI PROBLEMATICHE LEGATE AI DI SISTEMI EMBEDDED REAL-TIME, DEPENDABLE E SAFETY CRITICAL.
Prerequisiti
THE COURSE AIMS TO PROVIDE THE FUNDAMENTAL KNOWLEDGE FOR THE DESIGN AND IMPLEMENTATION OF FIRMWARE FOR EMBEDDED SYSTEMS BASED ON ARM MICROCONTROLLERS. THE COURSE PRESENTS BOTH DETAILS ON THE MAIN SOFTWARE ARCHITECTURES AND ON THE HARDWARE ARCHITECTURE OF ARM MICROCONTROLLERS WITH REFERENCE TO MEMORY ORGANIZATION, BUS, GPI / O STRUCTURE, MAIN PERIPHERALS AND COMMUNICATION INTERFACES.
AS FOR INTERFACING WITH PERIPHERALS AND EXTERNAL SYSTEMS, THE MOST COMMON SYNCHRONOUS AND ASYNCHRONOUS SERIAL INTERFACES AND PROTOCOLS ARE PRESENTED DURING THE COURSE.
THE COURSE, THEREFORE, PROVIDES AN OVERVIEW OF THE MAIN SENSORS AND ACTUATORS FOCUSING ON INTELLIGENT SENSORS WITH SERIAL INTERFACES. IN ADDITION, EXAMPLES OF INTERFACING WITH STEPPER MOTORS AND ROTARY ENCODERS ARE ALSO PRESENTED.
FINALLY, THE COURSE DISCUSSES THE MAIN ISSUES RELATED TO THE REALIZATION OF REAL-TIME EMBEDDED SYSTEMS WITH REFERENCE TO THE REALIZATION OF FIRMWARE BASED ON REAL-TIME OPERATING SYSTEMS.
Contenuti
UNITA' DIDATTICA 1 - Introduzione ai sistemi embedded ed ai microcontrollori ARM
(ORE LEZIONE/ESERCITAZIONE/LABORATORIO 6/2/0)
1 (2 ORE lezione): Introduzione ai sistemi embedded
2 (4 ORE lezione): Archiettura e programmazione di microcontrollori ARM con riferimento a quelli prodotti da ST Microelectronics
3 (2 ORE esercitazione): Introduzione all'ambiente di sviluppo e configurazione di un progetto per il microcontrollore

CONOSCENZE E CAPACITÀ DI COMPRENSIONE: Conoscenza delle principali architetture hardware e software utilizzate per la realizzazione di sistemi embedded.
Approfondimento sulle caratteristiche archietturali dei microcontrollori ARM. Approfondimento della struttura dei bus di sistema di un processore che adotta il memory mapped I/O.
CONOSCENZE E CAPACITÀ DI COMPRENSIONE APPLICATE: Capacità di realizzare un primo semplice firmware per l'accensione di LED su microcontrollore ARM utilizzando l'ambiente di sviluppo integrato distribuito da ST Microelectronics

UNITA' DIDATTICA 2 - I/O su Microcontrollori e Periferiche di Base
(ORE LEZIONE/ESERCITAZIONE/LABORATORIO 6/4/0)
4 (2 ORE lezione): Richiami di elettrotecnica e sui componenti elettronici di base (Diodi, Transistor). Attuatori allo stato solido (relè e LED)
5 (2 ORE esercitazione): Utilizzo della breadboard: dal circuito disegnato a quello reale ed utilizzo del multimetro
6 (2 ORE lezione): Struttura del GPI/O, Intefacciamento OpenDrain ed Push-Pull, Pull-Up e Pull-Down
7 (2 ORE lezione): Gestione dell'I/O tramite Polling, Interruzioni e DMA
8 (2 ORE esercitazione): Hardware Abstraction Layer. Interfacciamento con LED, Pulsanti e relè

CONOSCENZE E CAPACITÀ DI COMPRENSIONE: Conoscenza delle principali interfacce hardware dei microcontrollori adottate per la comunicazione verso dispositivi esterni entrando nel dettaglio della struttura che consente ai PIN del GPI/O di fornire funzionalità definiti a tempo di programmazione. Comprensione delle principali modalità di interfacciamento tra la CPU e le periferiche.
CONOSCENZE E CAPACITÀ DI COMPRENSIONE APPLICATE: Capacità di realizzare un firmware che si interfaccia con periferiche esterne di base come LED, pulsanti e relè. Approfondimento della struttura della libreria Hardware Abstraction Layer fornita da ST Microelectronics e utilizzo della stessa per la strutturazione del firmware.

UNITA' DIDATTICA 3 - Clock e Timers
(ORE LEZIONE/ESERCITAZIONE/LABORATORIO 4/2/0)

9 (2 ORE lezione): Distribuzione del clock su un microcontrollore: architettura dei bus e clock tree, pll e prescaler, selezione di sorgenti di clock interne ed esterne. Architettura di base dei timer hardware
10 (2 ORE lezione): Timer hardware: Utilizzo come timebase generators, gestione dell'I/O di un timer e generazione di forme d'onda periodiche tramite PWM
11 (2 ORE esercitazione): Configurazione del clock di sistema ed utilizzo dei timer hardware per la generazione di interruzioni periodiche. Utilizzo dei timer per controllare l'intensità di luminosità di un led tramite PWM.

CONOSCENZE E CAPACITÀ DI COMPRENSIONE: Comprensione di come avviene e come si può configurare la distribuzione del segnale di clock alla CPU ed alle periferiche. Archiettura generale di un timer hardware general purpose ed utilizzo dei canali di I/O del timer.
CONOSCENZE E CAPACITÀ DI COMPRENSIONE APPLICATE: Capacità di determinare il clock in ingresso ad una periferica. Realizzazione di un firmware che utilizza i timer hardware per la generazione di eventi periodici gestiti tramite interruzioni. Controllo diretto di un LED tramite il timer.
Controllo diretto dell'intensità di luminosità di un LED tramite timer.

UNITA' DIDATTICA 4 - Interfacce seriali
(ORE LEZIONE/ESERCITAZIONE/LABORATORIO 6/6/0)

12 (2 ORE lezione): Introduzione alla comunicazione seriale sincrona ed asincrona. Protocollo RS-232 over TTL, UART
13 (2 ORE lezione): Iterfaccie SPI, I2C
14 (2 ORE esercitazione): Utilizzo dell'interfaccia UART per la comunicazione board-to-board e board-to-pc
15 (2 ORE esercitazione): Interfacciamento con sensori su I2C dotati di memoria: studio del datasheet e realizzazione del driver
16 (2 ORE lezione): CAN BUS
17 (2 ORE esercitazione): Interfacciamento board-to-board tramite SPI ed esempio di utilizzo del CAN BUS

CONOSCENZE E CAPACITÀ DI COMPRENSIONE: Approfondimento sui principali protocolli ed interfaccie per comunicazione seriale sincrona ed asincrona presenti sui microcontrollori. Conoscenza delle caratteristiche delle interfacce I2C, SPI, UART/USART e del loro utilizzo per l'interfacciamento con sensori intelligenti. Conoscenza del CAN BUS.
CONOSCENZE E CAPACITÀ DI COMPRENSIONE APPLICATE: Progetto e realizzazione di firmware che utilizzano la comunicazione seriale per la comunicazione: board-to-board, board-to-pc e board-to-sensor.

UNITA' DIDATTICA 5 - Motori Passo-Passo, Encoder e Servo Motori
(ORE LEZIONE/ESERCITAZIONE/LABORATORIO 2/2/0)

18 (2 ORE lezione): Struttura e principio di funzionamento di un motore passo-passo. Encoder rotativi incrementali ed assoluti. Servo motori
19 (2 ORE lezione): Controllo di un motore passo-passo. Controllo di un servo motore. Lettura di un encoder a 2 canali tramite timer.

CONOSCENZE E CAPACITÀ DI COMPRENSIONE: Principi sul funzionamento e sul controllo di motori passo-passo e servo motori. Approfondimento sull'archiettura e sull'utilizzo degli encoder rotativi incrementali ed assoluti.
CONOSCENZE E CAPACITÀ DI COMPRENSIONE APPLICATE: Capacità di progettare e realizzare un firmware per il controllo di motori passo-passo e servo motori. Capacità di realizzare un firmware per la lettura di un encoder, tramite l'utilizzo di timer hardware.

UNITA' DIDATTICA 6 - Sistemi Operativi Real-Time per Microcontrollori
(ORE LEZIONE/ESERCITAZIONE/LABORATORIO 4/2/0)

20 (2 ORE lezione): Introduzione ai sistemi real-time e sistemi operativi real-time con riferimento a FreeRTOS
21 (2 ORE lezione): Schedulazione di task real-time
22 (2 ORE esercitazione): Realizzazione di un firmware real-time tramite FreeRTOS

CONOSCENZE E CAPACITÀ DI COMPRENSIONE: Concetti di base sui sistemi real-time. Approfondimento sui sistemi operativi real-time e sulle problematiche di scheduling di task real-time periodici ed asincroni. Approfondimento sul sistema operativo FreeRTOS
CONOSCENZE E CAPACITÀ DI COMPRENSIONE APPLICATE: Capacità di progettare e realizzare un firmware basato su sistema operativo FreeRTOS e strutturazione di una soluzione multitask.

UNITA' DIDATTICA 7 - Project Work
(ORE LEZIONE/ESERCITAZIONE/LABORATORIO 0/0/4)

23 (2 ORE esercitazione): Presentazione dei progetti ed inizio project work in aula
24 (2 ORE esercitazione): Project work in aula

TOTALE ORE LEZIONE/ESERCITAZIONE/LABORATORIO 26/18/4
Metodi Didattici
L'INSEGNAMENTO PREVEDE LEZIONI FRONTALI ED ESERCITAZIONI IN AULA E LABORATORIO. UNA PARTE DELLE ORE DI ESERCITAZIONE SARÀ USATA PER LO SVOLGIMENTO DI UN PROGETTO DI GRUPPO.
Verifica dell'apprendimento
L'ESAME PREVEDE LA REALIZZAZIONE DI UN PROGETTO DI GRUPPO E LA STESURA DELLA RELATIVA RELAZIONE. LA VALUTAZIONE DEL RAGGIUNGIMENTO DEGLI OBIETTIVI PREFISSATI AVVERRÀ MEDIANTE UN COLLOQUIO ORALE CON VOTAZIONE IN TRENTESIMI BASATO SUL PROGETTO PRESENTATO.
Testi
MASTERING STM32 - CARMINE NOVIELLO
Altre Informazioni
L'INSEGNAMENTO È EROGATO IN ITALIANO
  BETA VERSION Fonte dati ESSE3 [Ultima Sincronizzazione: 2024-08-21]