LABORATORIO DI ARCHITETTURE DI SISTEMI FISSI E MOBILI
Anno accademico 2017/2018 - 3° annoCrediti: 6
SSD: ING-INF/05 - Sistemi di elaborazione delle informazioni
Organizzazione didattica: 150 ore d'impegno totale, 100 di studio individuale, 35 di lezione frontale, 15 di esercitazione
Semestre: 2°
ENGLISH VERSION
Obiettivi formativi
Conoscere il paradigma IoT. Conoscere e saper programmare un sistema basato su microcontrollori. Saper prototipare sistemi ibridi Hardware/Software mediante l'uso della piattaforma Arduino. Avere una conoscenza di base per l'implementazione su FPGA. Conoscere la problematiche e le soluzioni per l'interfacciamento con il mondo fisico. Conoscere le problematiche di virtualizzazione ed i Sistemi Operativi in ambito IoT.
Prerequisiti richiesti
Conoscenza dell'architettura dei microprocessori RISC, della programmazione assembly e dei sistemi operativi.
Frequenza lezioni
La frequenza alle lezioni non è obbligatoria ma fortemente consigliata.
Contenuti del corso
Introduzione al paradigma IoT
- Trend tecnologici e sistemi embedded
- Dal sensore al sensore “smart”
- Internet of Things e scenari applicativi
Interfaccia con il mondo fisico
- Principi di funzionamento
- Sistemi di acquisizione
- Campionamento, quantizzazione e codifica
- ADC and DAC
- Accesso ai dispositivi di I/O
- Interfaccia di I/O
- Meccanismi per l’Input/Output: memory-mapped I/O, programmed I/O, interrupts, direct memory access.
- Hands-on (Lab)
Microcontrollori per l’IoT
- Generalità sui microcontrollori
- CPU di un microcontrollore: architettura e repertorio di istruzioni.
- Periferiche: porte di I/O, polling, interruzioni, ADC, clocks, timers.
- Interfacciamento: sensori, display LCD, motori
- Protocolli di comunicazione wired: UART/USART, SPI, I2C, 1-wire.
- Principi dell'Open Hardware
- Hands-on (Lab)
Sistemi di Prototipazione
- La piattaforma Arduino
- Le comunicazioni seriali
- Input digitali e analogici semplici
- Ricavare input dai sensori
- Output visivo e audio
- Controllare dispositivi esterni in remoto
- Comunicare utilizzando I2C e SPI
- Generalità sulle FPGA
- Prototipazione su Xilinx FPGA
- Hands-on (Lab)
Smart Sensors
- Embedded microprocessor cores: Microprocessors, microcontrollers, DSP, ASIP, GPU.
- Embedded memory technologies: DRAM, SRAM, FLASH, EPROM.
- I/O controllers
- Hands-on (Lab)
Virtualizzazione e Sistemi Operativi per l’IoT
Testi di riferimento
- Thomas Grace. Programming and Interfacing ATMEL's AVRs. ISBN 978-1305509993.
- Ovidiu Vermesan and Peter Friess. Building the Hyperconnected Society IoT Research and Innovation Value Chains, Ecosystems and Markets. River Publishers Series in Communications
- Michael Margolis. Arduino. Progetti e soluzioni. Tecniche Nuove.
- Pong P. Chu. FPGA Prototyping by VHDL Examples: Xilinx Spartan 3. Wiley.
- Materiale fornito dal docente sottoforma di slides, dispense, e risorse online
Programmazione del corso
Argomenti | Riferimenti testi | |
---|---|---|
1 | Trend tecnologici e sistemi embedded | 5 |
2 | Dal sensore al sensore “smart” | 5 |
3 | Internet of Things e scenari applicativi | 2 |
4 | Interfaccia con il mondo fisico: Principi di funzionamento, Sistemi di acquisizione, Campionamento, quantizzazione e codifica, ADC and DAC, Accesso ai dispositivi di I/O Interfaccia di I/O | 5 |
5 | Interfaccia con il mondo fisico: Meccanismi per l’Input/Output: memory-mapped I/O, programmed I/O, interrupts, direct memory access | 5 |
6 | Microcontrollori per l'IoT: Generalità sui microcontrollori | 1, 3, 5 |
7 | Microcontrollori per l'IoT: CPU di un microcontrollore: architettura e repertorio di istruzioni | 1, 5 |
8 | Microcontrollori per l'IoT: Periferiche: porte di I/O, polling, interruzioni, ADC, clocks, timers | 1, 5 |
9 | Microcontrollori per l'IoT: Interfacciamento: sensori, display LCD, motori | 1, 3, 5 |
10 | Microcontrollori per l'IoT: Protocolli di comunicazione wired: UART/USART, SPI, I2C, 1-wire. | 1, 5 |
11 | Microcontrollori per l'IoT: Principi dell'Open Hardware | 3, 5 |
12 | Sistemi di Prototipazione: La piattaforma Arduino, Le comunicazioni seriali, Input digitali e analogici semplici, Ricavare input dai sensori, Output visivo e audio | 3, 5 |
13 | Sistemi di Prototipazione: Controllare dispositivi esterni in remoto, Comunicare utilizzando I2C e SPI | 3, 5 |
14 | Sistemi di Prototipazione: Generalità sulle FPGA, Prototipazione su Xilinx FPGA | 4, 5 |
15 | Smart Sensors: Embedded microprocessor cores: Microprocessors, microcontrollers, DSP, ASIP, GPU. | 5 |
16 | Smart Sensors: Embedded memory technologies: DRAM, SRAM, FLASH, EPROM. | 5 |
17 | Smart Sensors: I/O controllers | 5 |
18 | Virtualizzazione e Sistemi Operativi per l’IoT | 5 |
Verifica dell'apprendimento
Modalità di verifica dell'apprendimento
Durante il corso delle lezioni (o in una data concordata con il docente) allo studente verrà assegnato un progetto di corso da sviluppare o in autonomia o in gruppo (formato al più da tre componenti). La prova di esame sarà organizzata nella discussione del progetto (opzionale) e in una prova scritta inerente gli argomenti trattati nel corso.
Esempi di domande e/o esercizi frequenti
Il materiale sarà disponibile sulla pagina del corso all'interno della piattaforma Studium.UniCT.