Insegnamento RETI LOGICHE E MICROCONTROLLORI CON LABORATORIO

Nome del corso di laurea Ingegneria informatica ed elettronica
Codice insegnamento 70A00077
Curriculum Ingegneria elettronica
Docente responsabile Federico Alimenti
Docenti
  • Federico Alimenti
  • Pisana Placidi (Codocenza)
Ore
  • 69 Ore - Federico Alimenti
  • 45 Ore (Codocenza) - Pisana Placidi
CFU 12
Regolamento Coorte 2020
Erogato Erogato nel 2022/23
Erogato altro regolamento
Attività Caratterizzante
Ambito Ingegneria elettronica
Settore ING-INF/01
Anno 3
Periodo Primo Semestre
Tipo insegnamento
Tipo attività Attività formativa monodisciplinare
Lingua insegnamento ITALIANO
Contenuti Insegnamento da 9 CFU.

Unità #1 (6 CFU). Reti Logiche: parametri di merito dei circuiti logici, sistemi numerici, codici, algebra di Boole, analisi e sintesi di reti combinatorie, funzioni aritmetiche, analisi e sintesi di reti sequenziali. Introduzione ai microcontrollori.
Unità #2 (3 CFU). Elementi di elettronica digitale.

Insegnamento da 12 CFU.

Unità #1 (6CFU): come descritta sopra.
Unità #2 (3CFU): come descritta sopra.
Unità #3 (3 CFU): Laboratorio di elettronica digitale basato su microcontrollore ATmega328 e piattaforma ArduinoUno.
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.
UNITA’ #1: M.Morris Mano, C.R. Kime, Reti Logiche (2a ed.), Pearson-Prentice Hall (in alternativa).
UNITA’ #2: Angelo Geraci, Principi di elettronica dei sistemi digitali, McGraw-Hill http://www.ilovebooks.it/principi-elettronica-p-1652.html (stampa su ordinazione).
UNITA’ #3: https://www.microchip.com/en-us/product/ATmega328
https://www.arduino.cc/reference/en/


TESTI INTEGRATIVI:
UNITA’ #1: J.F. Wakerly, Digital design: principles and practices, Prentice-Hall International Editions.
UNITA’ #1: R. Laschi, Reti Logiche, Progetto Leonardo (Bologna).
UNITA’ #1: F. Fummi, M.G.Sami, C. Silvano, Progettazione digitale 2° ed., Mc Graw Hill Italia.
UNITA’ #3: B. Stroustrup, C++ Guida essenziale per programmatori, Pearson e Hoepli.it, Italia 2014.
UNITA’ #3: B. Stroustrup, Linguaggio, libreria standard, principi di programmazione, Pearson Italia.
UNITA’ #3: B.W. Kernighan, D.M. Ritchie, Il linguaggio C (2a ed.), Pearson-Prentice Hall.

APPROFONDIMENTI:
R. C. Jaeger, Elettronica Digitale (ex Microelettronica), Mc Graw-Hill.
B Riccò, F. Fantini, P. Brambilla, Introduzione ai circuiti integrati digitali, Zanichelli-Telettra.
E. Taub, D. Schilling, Elettronica integrata digitale, Gruppo Editoriale Jackson.
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; 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 a livello logico di semplici circuiti e sistemi digitali; capacità di utilizzo di semplici strumenti di progettazione di sistemi digitali, analisi delle specifiche.

Insegnamento da 12 CFU. Si considerino anche:
Capacità professionali: conoscenza di elementi di microcontrollori, interfaccia di progettazione (IDE) e linguaggio C++ applicato alla piattaforma ArduinoUno
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 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.
Insegnamento da 12 CFU. Si considerino anche:
- esercitazioni presso il Laboratorio Multidisciplinare sulla programmazione di un microcontrollore in linguaggio C++. Si prevede che in ogni esercitazione gli studenti vengono distribuiti su 10 postazioni di lavoro dotate di computer e di strumenti da laboratorio. Gli studenti seguiranno circa 16 laboratori di 2 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.
Altre informazioni Ogni variazione delle informazioni riportate nel Syllabus di questo insegnamento verrà comunicata agli studenti e riportata nelle pagine web dedicate all’insegnamento nel sito https://www.unistudium.unipg.it/ .
Modalità di verifica dell'apprendimento Insegnamento da 9 CFU

L’esame prevede solo una prova scritta, punteggio massimo 32/30, tempo a disposizione 120 minuti. La prova scritta è di norma costituita da n. 2 sezioni sul programma dell’Unità #1 (Reti logiche) e da n. 1 sezione sul programma dell’Unità #2 (Elementi di elettronica digitale).

1) Il primo esercizio (punteggio massimo =10) richiede di progettare il circuito logico combinatorio come, per esempio, la rete di selezione (o decodifica) di un sistema di memoria.
2) Il secondo esercizio (punteggio massimo = 11) propone il progetto di una semplice macchina a stati finiti di tipo sincrono. È diviso in due parti, la prima di progetto del diagramma degli stati, la seconda dedicata a ricavare le equazioni delle reti logiche da impiegare nella macchina.
3) Segue una singola domanda a risposta aperta (punteggio massimo = 11) relativa ai concetti fondamentali dell’elettronica digitale.

Insegnamento da 12 CFU
* Il superamento della prova di laboratorio richiede la partecipazione ad almeno il 75% dei laboratori e la stesura delle relative relazioni di gruppo. Il punteggio verbalizzato è pari a quello ottenuto nella parte di insegnamento da 9 CFU, la verbalizzazione è possibile solo dopo aver partecipato al laboratorio.
La verbalizzazione dell’esame può avvenire solo se si supera anche la verifica di laboratorio.
Programma esteso Insegnamento da 9 CFU.

Unità #1 (6 CFU, 54 h). Reti Logiche e introduzione ai microcontrollori.
- Introduzione ai sistemi elettronici digitali: principi operativi e campi d’applicazione. Modelli per lo studio di sistemi digitali: le Reti Logiche.
- 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. Codici binari e alfanumerici (BCD, Excess 3, Gray, ASCII, 7-segments).
- Esercizi di verifica del profitto sui sistemi numerici.
- 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 linguaggi 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 (glitch). 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 ai microcontrollori. Il microcontrollore ATmega328 e la piattaforma ArduinoUno.

Unità #2 (3 CFU, 27 h). Elementi di elettronica digitale.
- Cifre di merito dei sistemi digitali: livelli logici basati su transcaratteristica statica, caratteristiche statiche di ingresso e di uscita, margini di rumore, caratterizzazione dinamica - tempo di propagazione e transizione - consumo di potenza statico e dinamico, condensatore di bypass, diodi di protezione.

Insegnamento da 12 CFU.

Unità #1 (6 CFU, 54 h). Reti Logiche e introduzione ai microcontrollori. Come sopra.

Unità #2 (3 CFU, 27 h). Elementi di elettronica digitale. Come sopra.

Unità #3 (3CFU, 33 h, laboratorio). Introduzione all’uso di dispositivi elettronici di base e del microcontrollore.
Hardware della scheda ArduinoUno. Integrated Development Environment (IDE) e struttura del firmware. Funzioni setup() e loop(). Uscite e Ingressi digitali. Reti di pull-up; funzioni ArduinoUno per il controllo dei pin digitali: digitalRead(); digitalWrite(). Pulse Width Modulation (PWM); impiego di transistori esterni (MOSFET, BJT) per il controllo di carichi di potenza. Funzionamanto dell' ADC, circuito ad approssimazioni successive, pin AREF. Funzioni ArduinoUno per il controllo delle uscite PWM e per la lettura dell'ADC. Protocolli di comunicazione seriali (SPI e I2C). Prime esercitazioni di laboratorio: generazione di PWM e misura della forma d'onda con oscilloscopio digitale. Acquisizione di un segnale analogico (tensione DC) e confronto con il valore letto dal multimetro digitale. Fattore di conversione tra intero resitituito dall'ADC e tensione; medie nel tempo. Transitorio di carica di un condensatore e rappresentazione grafica mediante plotter seriale. Caratteristica del diodo pn ottenuta sfruttando il generatore di PWM (tensione variabile) e 2 input analogici, uno per la tensione e uno per la corrente. Determinazione della risposta impulsiva: caso del circuito RC; confronto con la teoria. Utilizzo dei transistori per la gestione di correnti elevate; MOSFET e BJT con PWM su un carico resistivo. Pilotaggio di carichi induttivi e diodo di ricircolo: caso del relé. Il problema del rimbalzo negli switch meccanici: metodi di debouncing. Interruzioni interne ed esterne. Interruzione associate ai pin esterni; interrupt mode: LOW, HIGH, CHANGE, RISING, FALLING. Routine di servizio delle interruzioni (ISR). Il timer/counter a 8-bit TC0: impiego del timer, prescaler e registri di controllo. Interrupt Mask e Interrupt Flag registers. Misure accurate di tempo; esempio: generazione di un'interruzione ogni ms.
Condividi su