CODICE 80190 ANNO ACCADEMICO 2024/2025 CFU 6 cfu anno 1 COMPUTER ENGINEERING 11160 (LM-32) - GENOVA 6 cfu anno 2 COMPUTER ENGINEERING 11160 (LM-32) - GENOVA 5 cfu anno 1 ROBOTICS ENGINEERING 10635 (LM-32) - GENOVA SETTORE SCIENTIFICO DISCIPLINARE ING-INF/04 LINGUA Inglese SEDE GENOVA PERIODO 2° 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 This course presents the fundamentals of embedded systems. After a brief review of the most relevant architectures, the course focuses on microcontroller programming for control applications, with a particular attention on peripheral configuration, real time and event-based programming techniques. OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO Per quanto riguarda l'insegnamento a 5 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 Utilizzare un meccanismo di scheduling per strutturare il software di controllo 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 Lo studente avrà inoltre acquisito: Competenza alfabetica funzionale avanzata Competenza personale avanzata Competenza sociale avanzata Competenza in creazione progettuale avanzata Competenza in gestione progettuale base 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. Lo sviluppo del progetto finale (project-based learning) permetterà allo studente di lavorare sulle competenze alfabetica funzionale avanzata personale avanzata sociale avanzata in creazione progettuale avanzata in gestione progettuale base Si consigliano gli studenti lavoratori e gli studenti con certificazione di DSA, di disabilità o di altri bisogni educativi speciali di contattare il docente all’inizio del corso per concordare modalità didattiche e d’esame che, nel rispetto degli obiettivi dell’insegnamento, tengano conto delle modalità di apprendimento individuali PROGRAMMA/CONTENUTO Il programma dell'insegnamento (5 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. 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 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) 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 ENRICO SIMETTI Ricevimento: Su appuntamento, presso il Dipartimento di Informatica, Bioingegneria, Robotica e Ingegneria dei Sistemi (DIBRIS), via all'Opera Pia 13, 16145, secondo piano dell'edificio "Pino Casalino" (Padiglione E), oppure online utilizzando Microsoft Teams. Commissione d'esame ENRICO SIMETTI (Presidente) GIOVANNI INDIVERI FRANCESCO WANDERLINGH (Presidente Supplente) LEZIONI INIZIO LEZIONI https://courses.unige.it/11160/p/students-timetable Orari delle lezioni L'orario di questo insegnamento è consultabile all'indirizzo: Portale 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. Gli studenti con certificazione di DSA, di disabilità o di altri bisogni educativi speciali devono contattare il docente all’inizio del corso per concordare modalità didattiche e d’esame che, nel rispetto degli obiettivi dell’insegnamento, tengano conto delle modalità di apprendimento individuali e forniscano idonei strumenti compensativi. Si ricorda che la richiesta di misure compensative/dispensative per gli esami dovrà essere inviate al docente del corso, al referente della Scuola e al “Settore servizi per l'inclusione degli studenti con disabilità e con DSA” (dsa@unige.it) almeno 10 giorni lavorativi prima della prova, come da linee guida disponibili al link: https://unige.it/disabilita-dsa 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 15% sul continous assessment durante le lezioni e 85% 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 appello Orario Luogo Tipologia Note 14/01/2025 09:30 GENOVA Orale 06/02/2025 09:30 GENOVA Orale 26/06/2025 09:30 GENOVA Orale 24/07/2025 09:30 GENOVA Orale 03/09/2025 09:30 GENOVA Orale Agenda 2030 Istruzione di qualità