LABORATORIO DI ARCHITETTURE DI SISTEMI FISSI E MOBILI

Anno accademico 2017/2018 - 3° anno
Docenti: Davide PATTI e Maurizio PALESI
Crediti: 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:
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

  1. Thomas Grace. Programming and Interfacing ATMEL's AVRs. ISBN 978-1305509993.
  2. Ovidiu Vermesan and Peter Friess. Building the Hyperconnected Society IoT Research and Innovation Value Chains, Ecosystems and Markets. River Publishers Series in Communications
  3. Michael Margolis. Arduino. Progetti e soluzioni. Tecniche Nuove.
  4. Pong P. Chu. FPGA Prototyping by VHDL Examples: Xilinx Spartan 3. Wiley.
  5. Materiale fornito dal docente sottoforma di slides, dispense, e risorse online


Programmazione del corso

 ArgomentiRiferimenti testi
1Trend tecnologici e sistemi embedded
2Dal sensore al sensore “smart”
3Internet of Things e scenari applicativi
4Interfaccia 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
5Interfaccia con il mondo fisico: Meccanismi per l’Input/Output: memory-mapped I/O, programmed I/O, interrupts, direct memory access
6Microcontrollori per l'IoT: Generalità sui microcontrollori1, 3, 5 
7Microcontrollori per l'IoT: CPU di un microcontrollore: architettura e repertorio di istruzioni1, 5 
8Microcontrollori per l'IoT: Periferiche: porte di I/O, polling, interruzioni, ADC, clocks, timers1, 5 
9Microcontrollori per l'IoT: Interfacciamento: sensori, display LCD, motori1, 3, 5 
10Microcontrollori per l'IoT: Protocolli di comunicazione wired: UART/USART, SPI, I2C, 1-wire.1, 5 
11Microcontrollori per l'IoT: Principi dell'Open Hardware3, 5 
12Sistemi di Prototipazione: La piattaforma Arduino, Le comunicazioni seriali, Input digitali e analogici semplici, Ricavare input dai sensori, Output visivo e audio3, 5 
13Sistemi di Prototipazione: Controllare dispositivi esterni in remoto, Comunicare utilizzando I2C e SPI3, 5 
14Sistemi di Prototipazione: Generalità sulle FPGA, Prototipazione su Xilinx FPGA4, 5 
15Smart Sensors: Embedded microprocessor cores: Microprocessors, microcontrollers, DSP, ASIP, GPU.
16Smart Sensors: Embedded memory technologies: DRAM, SRAM, FLASH, EPROM.
17Smart Sensors: I/O controllers
18Virtualizzazione e Sistemi Operativi per l’IoT

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.