logo-polimi
Loading...
Risorse bibliografiche
Risorsa bibliografica obbligatoria
Risorsa bibliografica facoltativa
Scheda Riassuntiva
Anno Accademico 2019/2020
Scuola Scuola di Ingegneria Industriale e dell'Informazione
Insegnamento 054076 - MICROCONTROLLORI
Docente Zappa Franco
Cfu 5.00 Tipo insegnamento Monodisciplinare
Didattica innovativa L'insegnamento prevede  3.0  CFU erogati con Didattica Innovativa come segue:
  • Blended Learning & Flipped Classroom

Corso di Studi Codice Piano di Studio preventivamente approvato Da (compreso) A (escluso) Insegnamento
Ing Ind - Inf (1 liv.)(ord. 270) - MI (357) INGEGNERIA ELETTRONICA*AZZZZ054076 - MICROCONTROLLORI
Ing Ind - Inf (Mag.)(ord. 270) - MI (474) TELECOMMUNICATION ENGINEERING - INGEGNERIA DELLE TELECOMUNICAZIONI*AZZZZ054076 - MICROCONTROLLORI
Ing Ind - Inf (Mag.)(ord. 270) - MI (486) ENGINEERING PHYSICS - INGEGNERIA FISICA*AZZZZ054076 - MICROCONTROLLORI

Obiettivi dell'insegnamento

   Obiettivo dell’insegnamento è permettere agli studenti di acquisire competenze di progettazione di sistemi elettronici basati su microcontrollori, sia per quanto riguarda la progettazione hardware di schede che per lo sviluppo del firmware (in Assembly) e del software di più alto livello (in linguaggio C). L’insegnamento presenta le architetture interne dei microcontrollori ad 8 bit di Microchip e di STMicroelectronics ed accenna alle architetture dei microcontrollori di fascia più alta a 32 bit della serie ARM-Cortex.

   Oltre alle lezioni teoriche su architetture, memorie e periferiche interne (16 ore in aula), l’insegnamento verterà su esercitazioni pratiche (16 ore) per lo sviluppo di firmware e routine e su laboratori sperimentali di tipo “hands-on” (18 ore), in cui ogni singolo studente utilizzerà una scheda di sviluppo a microcontrollore, ambiente CAD di sviluppo, e linguaggi di programmazione (assembler e C). In particolare verranno impiegate schede di sviluppo di MikroElektronika, basate su microcontrollori PIC della Microchip.

   Nei laboratori pratici, gli studenti saranno divisi in sezioni di circa 20 studenti; ogni sezione frequenterà un laboratorio di 2 ore consecutive a settimana (a scelta tra lunedì, martedì, mercoledì o giovedì pomeriggio), per circa 2 mesi, ovvero un totale di 9 laboratori di 2 ore ciascuno, per un totale di 18 ore di laboratorio sperimentale pratico, per ciascuno studente.

   Dei 5 CFU dell’insegnamento, 3 CFU saranno erogati in modalità Didattica Innovativa di tipo “Blended Learning” e “Flipped Classroom”, in cui lo studente sarà coinvolto attivamente nelle esercitazioni e nelle attività pratiche di laboratorio sperimentale, mentre l’esercitatore ed i responsabili di laboratorio supervisioneranno lo studente durante lo svolgimento degli esercizi di programmazione Assembly ad esercitazione e di linguaggio C in laboratorio.


Risultati di apprendimento attesi

Conoscenza e Comprensione (Descrittore di Dublino #1)

Al termine del corso e dopo aver superato l’esame, lo studente:

  • saprà illustrare le architetture ed il funzionamento delle periferiche dei microcontrollori, comprenderà come programmarle e saprà confrontare le prestazioni tra microcontrollori diversi;
  • saprà scegliere gli strumenti più adeguati (sistemi di sviluppo, IDE, linguaggi di programmazione) per progettare un sistema elettronico basato su microcontrollore;
  • saprà selezionare il microcontrollore adatto al sistema elettronico da sviluppare, consultando il data-sheet di diverse famiglie di prodotti e case costruttrici;
  • saprà programmare in Assembly ed in linguaggio C i microcontrollori ad 8 bit di Microchip;

Capacità di Applicare Competenza e Comprensione (Descrittore di Dublino #2)

Al termine del corso e dopo aver superato l’esame, lo studente:

  • sarà capace di comprendere i data-sheet di microcontrollori commerciali e valutarne l’impiego;
  • comprenderà quali specifiche del microcontrollore impatteranno sulle prestazioni di sistema;
  • saprà progettare circuiti a microcontrollore, programmandoli e debuggandone il firmware, per individuarne problemi e risolverli;
  • saprà applicare soluzioni innovative all’hardware e al firmware di sistemi a microcontrollore.

Autonomia di Giudizio (Descrittore di Dublino #3)

Grazie alla modalità di Didattica Innovativa di tipo “flipped classroom”, lo studente:

  • acquisirà l'autonomia di giudizio nell’analizzare e nel progettare l’hardware ed il firmware di una scheda a microcontrollore, valutando pro e contro delle varie implementazioni possibili.

Capacità di Apprendimento (Descrittore di Dublino #5)

Grazie alla modalità di Didattica Innovativa di tipo “flipped classroom”, lo studente:

  • imparerà ad apprendere in autonomia i miglioramenti introdotti da microcontrollori di futura generazione e i vantaggi di nuove implementazioni firmware;
  • capirà come affrontare studi successivi di prodotti e soluzioni progettuali che diverranno disponibili durante la sua attività professionale.

Argomenti trattati

Microcontrollori (16 ore di lezione)

  • Microcontrollori a 8bit: architetture, data-sheet di prodotti commerciali, famiglie e prestazioni.
  • Memorie dati (RAM e flash) e programmi (ROM, OTP, E2PROM, flash) e registri di configurazione.
  • Periferiche interne: porte di I/O, counter, timer, convertitori Analogico-Digitale (ADC) e Digitale-Analogico (DAC), modulazione impulsiva (PWM), comunicazione seriale.
  • Circuiti ausiliari: reset, oscillatore, interrupt, watchdog.
  • Confronti tra famiglie a 8 bit e 32 bit ARM-CORTEX: accenno ad alcune architetture e istruzioni.

Firmware e software (16 ore di esercitazione)

  • Schemi circuitali del sistema di sviluppo utilizzato a laboratorio e ambiente di simulazione.
  • Linguaggio Assembly: istruzioni, cicli macchina, sviluppo di codice.
  • Linguaggio C: esempi di codice, compilazione, portabilità.
  • Esempi pratici: modalità di indirizzamento; gestione banchi di memoria; gestione periferiche; routine di interrupt.

Progetti pratici “hands-on” (18 ore di laboratori sperimentali)

  • Esempi pratici con scheda di sviluppo dedicata a ciascun studente e ambiente di sviluppo.
  • Gestione di ingressi/uscite digitali e ingressi analogici; pilotaggio di relè e LED; interfacciamento con memorie e DAC/ADC esterni; gestione degli interrupt; gestione tastiere e display:
  • Temporizzazione mediante timer interni; polling, loop e interrupt; modalità low-power e sleep.
  • Comunicazioni seriali: SPI, I2C, RS232; gestione memorie e ADC e DAC esterni e altri dispositivi.
  • Schermi LCD grafici: interfacciamento; temporizzazioni; data-sheet di prodotti commerciali.

Prerequisiti

   Lo studente deve possedere delle conoscenze di elettronica digitale (porte logiche, flip-flop, registri, contatori, mux, memorie) e delle basilari conoscenze di circuiti elettronici (segnali di tensione e corrente, alimentazione, componenti passivi, legge di Ohm) e di componenti analogici (passivi, diodi e transistori MOS e/o BJT). Questi concetti si acquisiscono in normali corsi di studio di Laurea di primo livello, ad esempio in “Fondamenti di Elettronica”, “Elettronica analogica” e “Elettronica digitale”.


Modalità di valutazione

   Lo studente dovrà superare una prima prova SCRITTA, seguita da una prova pratica di LABORATORIO che terminerà con una discussione ORALE.

   La prova scritta durerà 1 ora e mezza e si svolgerà in un’aula assegnata il giorno stabilito dello scritto (disponibile online sul sito POLIMI). La prova consisterà in domande sulle periferiche dei microcontrollori viste a lezione e a esercitazione e sulla loro programmazione in Assembly. Il voto della prova scritta verrà comunicato per email a tutti gli studenti partecipanti: solo i sufficienti (con voto maggiore di 18/30) saranno ammessi alla successiva prova pratica.

   La prova pratica di laboratorio durerà 2 ore e avverrà in un’aula attrezzata con circa 15 computer connessi alle stesse schede a microcontrollore usate nei laboratori e con lo stesso ambiente di sviluppo. Lo studente dovrà mostrare di saper comprendere e modificare un codice C, per assolvere ad una funzione assegnata. Al termine della prova pratica, lo studente effettuerà la discussione orale, di circa 15-20 minuti, in cui gli verrà chiesto di illustrare come e perché ha implementato il suo codice e risponderà ad altre domande riguardanti gli argomenti presentati a lezione.

   Il voto finale sarà la somma del voto dello scritto (peso di 10/30), della prova di laboratorio (peso di 15/30) e della discussione orale (peso 10/30), e saturerà a 30/30 e lode. L’esame si intenderà superato se il voto finale risulterà maggiore o uguale a 18/30.


Bibliografia
Risorsa bibliografica obbligatoriaFranco ZAPPA, MICROCONTROLLERS, Editore: Esculapio, Bologna, Anno edizione: 2017, ISBN: 978-88-9385-022-3

Software utilizzato
Nessun software richiesto

Forme didattiche
Tipo Forma Didattica Ore di attività svolte in aula
(hh:mm)
Ore di studio autonome
(hh:mm)
Lezione
16:00
16:00
Esercitazione
16:00
23:00
Laboratorio Informatico
0:00
0:00
Laboratorio Sperimentale
18:00
36:00
Laboratorio Di Progetto
0:00
0:00
Totale 50:00 75:00

Informazioni in lingua inglese a supporto dell'internazionalizzazione
Insegnamento erogato in lingua Italiano
Disponibilità di libri di testo/bibliografia in lingua inglese
Possibilità di sostenere l'esame in lingua inglese
Disponibilità di supporto didattico in lingua inglese
schedaincarico v. 1.8.3 / 1.8.3
Area Servizi ICT
03/10/2023