Salta al contenuto principale della pagina

EMBEDDED SYSTEMS

CODICE 80190
ANNO ACCADEMICO 2020/2021
CFU
  • 4 cfu al 2° anno di 10635 ROBOTICS ENGINEERING (LM-32) - GENOVA
  • 6 cfu al 2° anno di 8733 INGEGNERIA INFORMATICA (LM-32) - GENOVA
  • SETTORE SCIENTIFICO DISCIPLINARE ING-INF/04
    LINGUA Inglese
    SEDE
  • GENOVA
  • PERIODO 1° Semestre
    MATERIALE DIDATTICO AULAWEB

    PRESENTAZIONE

    Un sistema embedded è un circuito elettronico dotato di calcolatore, progettato per svolgere una funzione specifica, ed integrato (embedded) in una piattaforma di cui ne gestisce il controllo rispettando diversi vincoli progettuali come il costo di produzione, la dimensione e il consumo energetico. Il corso fornirà le competenze necessarie per la progettazione di questi sistemi mostrando come le stesse tecnologie possano essere impiegate per la realizzazione dei moderni dispositivi elettronici.

    OBIETTIVI E CONTENUTI

    OBIETTIVI FORMATIVI

    The goal of the course is to present advanced issues of artificial intelligence from the perspective of a computerized autonomous agent.

    OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO

    Per quanto riguarda l'insegnamento a 4 CFU, la frequenza e la partecipazione attiva alle attività formative proposte (lezioni frontali e attività in laboratorio) e lo studio individuale consentiranno allo studente di:

    • Conoscere che cos'è un sistema embedded, quali siano le principali architetture di tali sistemi ed le loro principali applicazioni
    • Saper programmare un sistema basato su microcontrollore
      • Saper utilizzare i tool di sviluppo per la compilazione e download del codice 
      • Conoscere, configurare e programmare le principali periferiche (I/O digitali, timers, ADC, PWM, SPI, UART)
    • Avere conoscenze di base sulla progettazione dei sistemi embedded
      • Identificare i requisiti per l'applicazione in termini di risorse (memoria, I/O, velocità dei canali di comunicazione, potenza di calcolo)
      • Identificare le periferiche necessarie

    Al termine dell'insegnamento a 6 CFU lo studente sarà inoltre in grado di:

    • Implementare un protocollo di comunicazione seriale ascii o binario verso un altro microcontrollore o PC
    • Utilizzare un meccanismo di scheduling per strutturare il software di controllo

    PREREQUISITI

    Conoscenza della programmazione C.

    MODALITA' DIDATTICHE

    Le modalità didattiche dell'insegnamento sono cosi strutturate:

    • Un paio di lezioni frontali iniziali di introduzione sui sistemi embedded e le loro architetture.
    • In seguito, vengono presentati gli argomenti (le periferiche, la programmazione ad eventi, lo scheduling, i protocolli di comunicazione) con un'alternanza del 50% tra lezione frontale e relativa esercitazione su scheda di sviluppo dsPIC.

    Un continous assessment verrà fatto sugli esercizi sviluppati durante le lezioni.

    PROGRAMMA/CONTENUTO

    Il programma dell'insegnamento (4 CFU) è cosi strutturato:

    • Che cos'è un sistema embedded e quali sono le sue principali caratteristiche
    • Introduzione all'hardware di base per la realizzazione di un sistema embedded
      • Che cos'è un PCB e che cos'è un integrato
      • Porte logiche e circuiti combinatori
      • Latch e Flip flop e circuiti sequenziali
    • Architetture dei sistemi embedded
      • Architettura base di un PC
        • Che cos'è un BUS, una memoria, la CPU e la control unit, i registri e l'ALU
      • Architetture dei sistemi embedded
        • ASIC e ASSP
        • PLD, CPLD e FPGA
        • Microcontrollori e DSP
        • Differenze architetturali tra il mondo dei PC e dei sistemi embedded
    • Strumenti di sviluppo dedicati per i sistemi embedded.
    • Programmazione di sistemi embedded 
      • gestione delle periferiche:
        • I/O digitali
        • Configurazione dell'oscillatore e utilizzo dei timer
        • Acquisizione sensori tramite conversione analogico digitale (ADC)
        • Controllo motori tramite periferica PWM
      • Comunicazione con altri dispositivi.
        • utilizzo del bus SPI per comunicazione con un altro microcontrollore
        • utilizzo della seriale UART per comunicazione con un PC
      • Interrupt e programmazione ad eventi.  

     

    L'insegnamento a 6 CFU prevede inoltre i seguenti argomenti:

    • Protocolli di comunicazione
      • Protocolli di comunicazione ASCII (stile NMEA)
      • Protocolli di comunicazione binaria
      • Gestione delle problematiche di comunicazione a livello fisico e data-link (riconoscimento inizio e fine frame, controllo di errore)
    • Scheduling
      • Sviluppo di un sistema minimale di scheduling di funzioni all'interno del programma principale
      • Uitlizzo dello scheduling per la semplificazione e migliore strutturazione del programma

     

    TESTI/BIBLIOGRAFIA

    Tutte le slides utilizzate durante le lezioni e altro materiale didattico saranno disponibili su aulaweb. In generale, gli appunti presi durante le lezioni e il materiale su aulaweb sono sufficienti per la preparazione dell'esame.

    I seguenti testi possono essere utilizzati per approfondimenti sulla materia:

    • Q. Li, C. Yao, Real-Time Concepts for Embedded Systems, CMP Books, 2003. (ISBN:1578201241).
    • D. E. Simon, An Embedded Software Primer, Addison-Wesley Professional, 1999. (ISBN: 020161569X).
    • T Noergaard. 2013. A Comprehensive Guide for Engineers and Programmers, Embedded Systems Architecture (2 ed.). Newnes, Newton, MA, USA.
    • Peter Hintenaus. 2014. Engineering Embedded Systems: Physics, Programs, Circuits. Springer Publishing Company, Incorporated.

    DOCENTI E COMMISSIONI

    Commissione d'esame

    ENRICO SIMETTI (Presidente)

    MARCO BAGLIETTO

    GIOVANNI INDIVERI (Presidente Supplente)

    LEZIONI

    Orari delle lezioni

    L'orario di tutti gli insegnamenti è consultabile su EasyAcademy.

    ESAMI

    MODALITA' D'ESAME

    Sviluppo di un progetto assegnato al termine del corso. Discussione del progetto e degli argomenti visti a lezione eventualmente non coperti dal progetto stesso.

    MODALITA' DI ACCERTAMENTO

    La discussione del progetto assegnato permetterà di verificare la capacitò dello studente di progettare e scrivere il firmware di un sistema embedded rispettando le specifiche tecniche.

    La valutazione sarà basata 30% sul continous assessment durante le lezioni e 70% sul progetto finale.

    Saranno valutati:

    • l'aderenza del software alle specifiche tecniche assegnate
    • la capacità di discutere l'implementazione software proposta
    • la conoscenza delle periferiche utilizzate
    • le possibili problematiche da affrontare nel caso di estensione del progetto verso un sistema più realistico

    Calendario appelli

    Data Ora Luogo Tipologia Note
    28/01/2021 09:30 GENOVA Orale EMARO students must attend this exam on: January 28th, 2021
    16/02/2021 09:30 GENOVA Orale EMARO students must attend this exam on: January 28th, 2021
    15/06/2021 09:30 GENOVA Orale EMARO students must attend this exam on: January 28th, 2021
    15/07/2021 09:30 GENOVA Orale EMARO students must attend this exam on: January 28th, 2021
    09/09/2021 09:30 GENOVA Orale EMARO students must attend this exam on: January 28th, 2021