Insegnamento RETI LOGICHE E MICROCONTROLLORI CON LABORATORIO

Nome del corso Ingegneria informatica ed elettronica
Codice insegnamento 70A00078
Curriculum Comune a tutti i curricula
Docente responsabile Andrea Scorzoni
Docenti
  • Andrea Scorzoni - Didattica Ufficiale
Ore
  • 114 Ore - Didattica Ufficiale - Andrea Scorzoni
CFU 9
Regolamento Coorte 2018
Erogato Erogato nel 2020/21
Attività Caratterizzante
Ambito Ingegneria elettronica
Settore ING-INF/01
Tipo insegnamento
Tipo attività Attività formativa monodisciplinare
Lingua insegnamento Italiano
Contenuti Insegnamento da 9 CFU.

Unità didattica n.1. Reti Logiche: sistemi numerici, codici, algebra di Boole, analisi e sintesi di reti combinatorie, funzioni aritmetiche, analisi e sintesi di reti sequenziali. Introduzione all'uso del microcontrollore e alle interfacce seriali.

Unità didattica n.2. Laboratorio di elettronica digitale basato su microcontrollore e sistema operativo real time Mbed OS.


Insegnamento da 12 CFU.

Oltre alle unità didattiche n.1 e n.2,
Unità didattica n.3: elettronica digitale con approfondimento sui circuiti CMOS.
Testi di riferimento TESTI CONSIGLIATI: 
Per tutte le unità didattiche: Slides e dispense a cura del docente (vedi unistudium, con password da richiedere al docente).
U.D. #1: M.Morris Mano, C.R. Kime, Reti Logiche (4a o 5a ed.), Pearson-Prentice Hall.
U.D. #1: M.Morris Mano, C.R. Kime, Reti Logiche (2a ed.), Pearson-Prentice Hall (in alternativa).
U.D. #2: STM32F401RE data sheet, da ricercare in:http://www.st.com/
U.D. #3: Angelo Geraci, Principi di elettronica dei sistemi digitali, McGraw-Hill http://www.ilovebooks.it/principi-elettronica-p-1652.html (stampa su ordinazione)

TESTI INTEGRATIVI:
U.D. #1 e #3: J.F. Wakerly, Digital design: principles and practices, Prentice-Hall International Editions.
U.D. #1: R. Laschi, Reti Logiche, Progetto Leonardo (Bologna).
U.D. #1: F. Fummi, M.G.Sami, C. Silvano, Progettazione digitale 2° ed., Mc Graw Hill Italia.
U.D. #2: B. Stroustrup, C++ Guida essenziale per programmatori, Pearson e Hoepli.it, Italia 2014.
U.D. #2: B. Stroustrup, Linguaggio, libreria standard, principi di programmazione, Pearson Italia.
U.D. #2: B.W. Kernighan, D.M. Ritchie, Il linguaggio C (2a ed.), Pearson-Prentice Hall.
U.D. #3: R. C. Jaeger, Elettronica Digitale (ex Microelettronica), Mc Graw-Hill.
U.D. #3: B Riccò, F. Fantini, P. Brambilla, Introduzione ai circuiti integrati digitali, Zanichelli-Telettra.
U.D. #3: E. Taub, D. Schilling, Elettronica integrata digitale, Gruppo Editoriale Jackson.

APPROFONDIMENTI su U.D. #3: 
J. Rabaey, A. Chandrakasan, B. Nicolic, Circuiti integrati digitali - L'ottica del progettista, 2a ed., Pearson-Prentice Hall.
P. Spirito, Elettronica Digitale 3/ed, Mc Graw-Hill Italia.
Zappa, Elettronica Digitale, Esculapio, 2014.
M. Olivieri, Elementi di progettazione dei sistemi VLSI, Vol.1, EdiSES Napoli.
D.A. Hodges, H.G. Jackson, Analysis and design of digital integrated circuits, McGraw-Hill International Editions.
P. Cappelletti, C. Golla, P. Olivo, E. Zanoni, Flash Memories, Kluver Academic Publishers.
Obiettivi formativi Insegnamento da 9 CFU.

Conoscenze metodologiche: conoscenza di circuiti logici combinatori e sequenziali elementari, del flusso di progettazione dei circuiti digitali, del microcontrollore e di alcuni circuiti logici programmabili; conoscenza di elementi del sistema operativo Mbed OS e del linguaggio C++ applicato ai microcontrollori. Uso degli strumenti cognitivi di base acquisiti in questo insegnamento per l'aggiornamento continuo delle proprie conoscenze nel campo dei circuiti elettronici digitali.

Capacità professionali: capacità di progettazione di semplici circuiti e sistemi digitali basati “glue logic” e su microcontrollore, principalmente a livello logico; capacità di utilizzo di strumenti di progettazione di sistemi digitali.


Insegnamento da 12 CFU. Si considerino anche:

Conoscenze metodologiche: conoscenza di base di semplici circuiti elettronici digitali;
capacità di orientarsi nella scelta dei circuiti logici da impiegare in un sistema digitale.

Capacità professionali: capacità di progettazione di semplici circuiti logici a livello elettrico; comprensione dei principali dati presenti nei cataloghi di dispositivi elettronici digitali integrati; abilità nella risoluzione di problemi di interfacciamento fra circuiti logici.
Prerequisiti L’insegnamento non ha propedeuticità dichiarate. Lo studente deve però considerare che per apprendere in pieno i contenuti di questo insegnamento risultano necessarie le competenze fornite in “Fondamenti di informatica e laboratorio”, “Teoria dei circuiti” e “Architetture dei calcolatori e sistemi operativi”. Per coloro che hanno scelto l’insegnamento da 12 CFU sono richieste le conoscenze acquisite in “Tecnologie e dispositivi elettronici con laboratorio”.

Per frequentare il laboratorio bisogna aver concluso il corso sulla sicurezza nei luoghi di lavoro.
Metodi didattici L’insegnamento è organizzato come segue:
- lezioni frontali in aula su tutti gli argomenti dell’insegnamento;
- esercizi in aula per la preparazione della prova scritta;
- esercitazioni presso il Laboratorio Multidisciplinare sulla programmazione di un microcontrollore in linguaggio C++. In ogni esercitazione gli studenti vengono distribuiti su 10 postazioni di lavoro dotate di computer e di strumenti da laboratorio. Gli studenti seguiranno circa 8 laboratori di 3 ore ciascuno. La maggior parte dei laboratori in classe verranno conclusi da una relazione di gruppo: a ciascun team verrà richiesto di preparare in classe una relazione descrittiva del lavoro svolto, sia in forma di testo che grafica. Per considerare concluso positivamente il lavoro di laboratorio ai fini dell’esame, ciascuno studente deve aver prodotto almeno il 75% delle relazioni di gruppo di laboratorio. Al termine delle esercitazioni guidate di laboratorio gli studenti potranno accordarsi con il docente per accedere al laboratorio per ulteriori esercitazioni individuali.
Altre informazioni Per una comprensione non superficiale del funzionamento della strumentazione di misura di laboratorio si consiglia anche agli studenti del curriculum Informatica di seguire le lezioni di “Misure Elettroniche” sull’utilizzo della strumentazione di misura.
Modalità di verifica dell'apprendimento Insegnamento da 9 CFU

L’esame prevede solo una prova scritta, punteggio massimo 32/30, tempo a disposizione 100 minuti. La prova scritta è costituita da n. 4 sezioni sul programma dell'Unità Didattica n.1 (fondamenti di Reti Logiche):
* Il primo esercizio (2 punti) riguarda il complemento a 2. Il secondo esercizio (10 punti) richiede di progettare il circuito logico di selezione/accensione (decodifica) di un sistema di memoria. Il terzo esercizio (10 punti) propone il progetto di una semplice macchina a stati finiti di tipo sincrono.
* Segue una domanda a risposta aperta (10 punti) sulle fondamenta dell’algebra booleana e dei circuiti logici combinatori e sequenziali.

* Gli studenti che non hanno partecipato alla stesura di almeno il 75% delle relazioni di classe in laboratorio dovranno svolgere una tesina da 2 CFU nella quale dovranno dimostrare di avere acquisito le competenze di MbedOS e di utilizzo di strumentazione di misura. La valutazione è on/off. È possibile preparare la tesina anche in appelli di esame e sessioni successivi a quello in cui si svolge il resto del compito. La verbalizzazione dell’esame può avvenire solo se si supera anche la prova on/off di laboratorio.

Insegnamento da 12 CFU

Oltre alla parte da 9 CFU lo studente deve sostenere una prova orale composta da domande aperte sulla unità didattica n.3 (valutata in trentesimi).

Il punteggio complessivo dell’esame da 12 CFU è calcolato come media pesata fra i punteggi della prova scritta e della prova orale. I pesi sono calcolati come segue: la prova scritta pesa 7 CFU, la parte aggiuntiva di elettronica pesa 3 CFU (mentre il laboratorio è on/off senza punteggio). Quindi il punteggio finale è calcolato così:

[(Voto Reti Logiche)*7+(Voto elettronica)*3]/10

La prova orale si può svolgere a partire dal giorno stesso della prova scritta e in ogni caso iscrivendosi ad appelli orali entro la stessa sessione di esami della prova scritta (es. gennaio-febbraio).
Programma esteso Insegnamento da 9 CFU.

Unità didattica n.1 (7 CFU, circa 63 h) Reti Logiche e introduzione al microcontrollore.
- Cifre di merito dei sistemi digitali (livelli logici, margini di rumore, caratterizzazione dinamica - tempo di propagazione e transizione - consumo di potenza statico e dinamico.
- Richiami su rappresentazione posizionale dei numeri (sistema numerico decimale e binario). Sistemi numerici ottale ed esadecimale. Conversione tra sistemi numerici. Operazioni aritmetiche su numeri interi. Esercizi di verifica del profitto sui sistemi numerici. Codici binari e alfanumerici. (BCD, Excess 3, Gray, ASCII, 7-segments).
- Postulati e teoremi dell’algebra di commutazione. Classificazione delle reti logiche. Insiemi funzionalmente completi di reti logiche elementari. Criteri di costo. Semplificazioni a due livelli con l’uso di mappe di Karnaugh, minimizzazione del costo tramite manipolazione algebrica di espressioni (circuiti multi-livello). OR esclusivo e parità. Metodologia classica di progetto di reti logiche combinatori. Progettazione gerarchica. Convertitori di codice. Decoder, encoder, multiplexer. Limiti della metodologia classica di progetto di reti combinatorie: metodologia di progetto con componenti standard MSI e LSI: sintesi con decoder e OR e tramite multiplexer. Funzioni Aritmetiche. Richiami su rappresentazioni in complemento a 1 e in complemento a 2. Sommatori e sottrattori binari. Overflow. Cenni sui un linguaggio di descrizione hardware (VHDL). Esercizi di verifica del profitto su reti logiche combinatorie.
- Circuiti Sequenziali. Latch SR e D, flip-flop master-slave SR e JK, flip flop edge triggered D, JK e T. Classificazione secondo Mealy e Moore. Cenni sulle reti sequenziali asincrone e problema delle alee statiche. Metodologia di progetto di reti sequenziali sincrone. diagramma degli stati e tabella di flusso, codifica degli stati e tabella delle transizioni, mappa delle variabili di stato e di uscita, espressioni, schema logico. Reti sincrone con ingressi sincroni e asincroni. Moduli elementari di elaborazione sequenziale: registri e contatori. Cenni sull'interfaccia SPI. Esercizi di verifica del profitto sulle reti sequenziali sincrone.
- Memorie a semiconduttore. Architettura, Classificazione (RAM, ROM, EPROM, E2PROM, Flash), ROM e loro architettura. Metodologie di indirizzamento (decodifica degli indirizzi).
Esercizi di verifica del profitto sulla decodifica degli indirizzi delle memorie.
- Introduzione all’architettura e alle funzionalità di un microcontrollore dotato di core ARM Cortex M4 (ARM v.7M).

Unità didattica n.2: Introduzione all’uso di dispositivi elettronici e del microcontrollore (2 CFU di laboratorio, circa 24 ore). Le esercitazioni guidate di laboratorio sono basate sul sistema operativo Mbed OS e sul linguaggio C++. Verranno utilizzati software gratuiti e schede di sviluppo basate su ARM Cortex M4 (ARM v.7M).
1. Prime esperienze con la strumentazione di laboratorio: breadboard, partitore di tensione, oscilloscopio, generatore di funzioni, generatore di tensione, multimetro;
2. Multiplexer con 74HC00, pilotaggio di LED, amplificazione di corrente tramite transistor bipolare;
3. Prima esperienza con le board NUCLEO e GPIO: accensione e spegnimento di un LED;
4. comunicazione seriale tramite UART e interazione con il personal computer;
5. Timer; conversione A/D e lettura di un potenziometro su connettore Arduino;
6. SWO, SWD, Real time operating system, thread, tuple, callback and sample programs
7. Mbed-events library, EventQueue, eventflag, external interrupt;
8. PWM: prime esperienze, attenuazione controllata della luce di un LED, pilotaggio di un motore in corrente continua;


Insegnamento da 12 CFU.
Oltre alle unità didattiche n.1 e n.2,
Unità didattica n.3: Elettronica digitale (3 CFU, circa 27 ore)
- Circuiti per l’elaborazione di segnali digitali: principi operativi e cifre di merito. Caratterizzazione statica: livelli logici e livelli elettrici, caratteristiche d’ingresso (e diodi di protezione) e di uscita, funzione di trasferimento, margini di rumore. Caratterizzazione dinamica: ritardo di propagazione. Consumo statico e dinamico. Prodotto ritardo-consumo.
- Il transistore MOS: richiami, principi di funzionamento in regime stazionario. Equazioni approssimate della corrente. Analisi delle principali non-idealità: modulazione della lunghezza di canale, effetto body. Comportamento in regime dinamico: capacità associate al transistore MOS.
- L’invertitore nMOS e CMOS. Logiche CMOS statiche, logiche a porte di trasmissione (pass-transistor, transmission gate). Famiglie logiche CMOS. Cenni sulle famiglie logiche bipolari, sugli stadi di ingresso e di uscita TTL. Interfacciamento fra diverse famiglie.
- Bus, open collector, open drain e tri-state.
- Esempi di celle di memorie a semiconduttore volatili e non volatili: RAM, ROM (FLASH).