Principali caratteristiche dei sistemi embedded.
Cenni su architetture di sistemi, tipologie di processori, i microcontrollori, sistemi corredati da sensori e attuatori, principali protocolli di comunicazione.
Scheda di sviluppo Arduino Due e processore Atmel SAM3X, principali caratteristiche, architettura, funzionalità principali.
Progetto di semplici sistemi utilizzando le schede Arduino Due, sensori e attuatori.
Sviluppo di codice utilizzando le piattaforme Arduino e PlatformIO.
Il materiale del docente, slides, esercizi e riferimenti disponibili in internet costituiscono il materiale necessario e sufficiente.
Per approfondimenti molti testi sono disponibili, tra cui i seguenti:
• Real-Time Concepts for Embedded Systems, LI QING, 2017
• Embedded Systems Architecture: Explore architectural concepts, pragmatic design patterns, and best practices to produce robust systems, Daniele Lacamera, 2018
• Better Embedded System Software, Philip Koopman, 2021
• Embedded System Design With Arm Cortex-m Microcontrollers: Applications With C, C++ and Micropython, Cem nsalan, Hseyin Deniz Grhan, e al., 2022
• Embedded Software Development: The Open-Source Approach, Ivan Cibrario Bertolotti e Tingting Hu, 2020
• STM32 Arm Programming for Embedded Systems: Vol. 6, Muhammad Ali Mazidi , Shujen Chen, e al., 2018
• A Comprehensive Guide for Engineers and Programmers, Embedded Systems Architecture (2 ed.), T Noergaard. 2013
• Engineering Embedded Systems: Physics, Programs, Circuits, Peter Hintenaus. 2014
Obiettivi Formativi
Conoscenza e comprensione:
• cosa è un Sistema embedded e quali sono le sue principali caratteristiche;
• specificità e potenzialità di tali sistemi;
• Schema a blocchi e funzionalità scheda Arduino Due;
• Architettura e principali funzionalità del processore Atmel SAM3X
• (cenni) dei più comuni sensori e attuatori;
• (cenni) dei protocolli di comunicazioni tra dispositivi e l’unità centrale.
• uso di ambienti di sviluppo Arduino/PlatformIO
Capacità:
- comprendere la struttura di un sistema basato su scheda di sviluppo e relative interfacce
- sapere utilizzare la scheda Arduino Due e uno degli ambienti di sviluppo illustrati.
- Sapere sviluppare un semplice programma per tale scheda e stabilire il colloquio tra unità centrale e sensori/attuatori
- sviluppare un piccolo sistema embedded
Competenze trasversali
- Comunicazione tecnica scritta (redazione di relazioni tecniche individuali o di gruppo)
- Rispetto di impegni e tempi (partecipazione alle attività di laboratorio nei tempi e nei modi programmati)
Prerequisiti
Conoscenza della programmazione in linguaggio C.
Inoltre, sono indicate le seguenti:
• Familiarità con l'analisi di semplici circuiti analogici/digitali e nozioni di fisica
• Conoscenza di base dell'uso di un PC
Metodi Didattici
- Lezioni in aula
- Esercitazioni in laboratorio
- Sviluppo di un sistema embedded
- Elaborato finale
Altre Informazioni
Approfondimenti: consultare le pagine del corso su http://e-l.unifi.it.
Iscrizione esami: tramite il Servizio Prenotazione Esami di Ateneo
Esami: tutte le prove, sia scritte che orali, si terranno presso il lab. didattico exForno.
Modalità di verifica apprendimento
L'esame consiste in una presentazione orale sul progetto realizzato, volta a verificare la conoscenza degli aspetti generali dei sistemi embedded, dei sistemi utilizzati durante le esercitazioni nonché del setup e del software realizzati.