Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
PROGRAMMA ESD (prof. Andrea Scorzoni)
- Introduzione ai sistemi elettronici digitali: principi di funzionamento e campi d'applicazione. Modelli per lo studio dei 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. Codici binari e alfanumerici. 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. Sommatoti e sottrattori binari. Overflow. Cenni su 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 delle alee statische. 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 di stato futuro e uscita, schema logico. Reti sincrone con ingressi sincroni e asincroni. Moduli elementari di elaborazione sequenziale: registri e contatori. Esercizi di verifica del profitto sulle reti sequenziali sincrone.
- Unità didattica n.2: Elettronica digitale (26 ore)
- Circuiti per l'elaborazione di segnali digitali: principi operativi e cifre di merito. Caratterizzazione statica: livelli logici e livelli elettrici, transcaratteristica, margini di rumore, caratteristiche statiche di ingresso (e diodi di protezione) e di uscita. Caratterizzazione dinamica: ritardo di propagazione e tempo di transizione. Consumo di potenza a regime 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 e sui BiCMOS. Interfacciamento fra diverse famiglie. Esempi di memorie a semiconduttore volatili e non volatili: ROM, RAM, FLASH. Esempi di circuiti a logica programmabile: PAL, CPLD.
- Unità didattica n.3: Introduzione all'uso del microcontrollore e alle interfacce seriali di comunicazione (15 ore).
- Protocolli seriali, interfacce RS232, RS485, I2C, cenni sulla SPI. Introduzione all'architettura e alle funzionalità di un microcontrollore dotato di core ARM7: I/O, interrupt, bus. Esercitazioni guidate di laboratorio basate sul linguaggio C. Verranno utilizzati software gratuiti e schede di sviluppo basate su ARM7.
- Le operazioni tra ottali o tra esadecimali vengono effettuate utilizzando gli equivalenti binari e riconvertendo il risultato
- Le conversioni tra le basi 8, 10, 16 avvengono convertendo il numero in base 2 e poi nella base desiderata
Conversione di frazioni decimali
- In binario: si moltiplica la parte frazionaria per 2, ottenendo una parte intera ed una frazionaria
- La parte intera sarà la cifra più significativa del binario
- Ripeto il procedimento per la parte frazionaria
- In ottale: stesso procedimento ma si moltiplica per 8
Codici binario-decimali
Un codice binario è un gruppo di n bit che può assumere fino a 2n combinazioni distinte di 1 e 0 in cui ciascuna combinazione rappresenta un elemento dell'insieme da codificare.
Se il numero di elementi dell'insieme considerato non è una potenza di 2, alcune combinazioni del codice non saranno utilizzate.
Consideriamo l'insieme composto dalle 10 cifre decimali.
Il codice binario che codificherà tali elementi sarà composto da 4 bit (24=16 combinazioni distinte)
Una espressione logica può essere espressa a partire dalla relativa tabella di verità, sommando tutti i mintermini che fanno assumere il valore 1 alla funzione. (Somma di mintermini)
Analogamente, o meglio dualmente, si definisce il prodotto di maxtermini
Tali espressioni logiche contengono tuttavia il massimo numero di eterami in ciascun addendo, e sicuramente più addendi del necessario.
L'implementazione in porte logiche inoltre può essere distinta in base ai livelli.
Una scelta dell'implementazione a 2 livelli o multivello è una decisione importante dal punto di vista progettuale.
Mappe di Karnaugh
Una mappa di Karnaugh è un diagramma composto da celle nel quale ogni singola cella rappresenta un mintermine della funzione in oggetto.
Poiché qualunque funzione può essere espressa come somma di mintermini, una qualunque funzione è identificabile su una mappa-K
Mappa a 2 variabili:
Per una funzione booleana di 2 variabili esistono 4 mintermini, pertanto a mappa a 2 variabili è formata da 4 celle.
| 0 | 1 | |:--:|:--:| | XY | XY | | XY | XY |
Mappa a 3 variabili:
Una mappa a 3 variabili è formata da 8 celle
| 00 | 01 | 11 | 10 | |:--:|:--:|:--:|:--:| | 0 | 1 | 3 | 2 | | 4 | 5 | 7 | 6 |
Per localizzare un mintermine si utilizzano delle etichette di riga e di colonna per comporre l'equivalente binario del mintermine
Converter di codice
Decoder
Un decoder (o decodificatore) è un circuito combinatorio che converte le informazioni binarie codificate a m bit applicate agli ingressi nelle corrispondenti 2m che si trovano in uscita.
In pratica ciascuna delle uscite del decoder è un mintermo e perciò varrà 1 solo per un'unica disposizione degli ingressi.
Es. decoder 2-4
D0 = E A̅1 A̅0
D1 = E A̅1 A0
D2 = E A1 A̅0
D3 = E A1 A0
ES: COMPLEMENTO A 2 DI 1010 CON m=10 BIT
AGGIUNGO I BIT NON ESPRESSI:
1) 0000001010
1111111010
FACCIO IL COMPLEMENTO A 1
SOMMO 1 AL COMPLEMENTO A 1
1111111011
2) 0000001010
1111111011
COPIO LO 0 MENO SIGNIFICATIVO E INVERTO TUTTO CIO' CHE STA A SINISTRA
LA SOTTRAZIONE MEDIANTE COMPLEMENTO DI 2 NUMERI SENZA SEGNO M-N PUÒ ESSERE ESEGUITA
1) SOMMO IL COMPLEMENTO A 2 DEL SOTTRAENDO N AL MINUENDO M,
M + (2m-N) = M-N + 2m
2) SE M ≥ N
- LA SOMMA GENERA UN RIPORTO (VA IGNORATO)
SE M < N
- LA SOMMA NON GENERA RIPORTO, COMPLEMENTO A 2 E AGGIUNGO IL SEGNO MENO
es: X=1010100 Y=1000011
(X-Y) 1010100 = X
0111101
FACCIO IL COMPLEMENTO 2 DI Y
X0010001
SOMMO E IGNORO IL RIPORTO FINALE
(Y-X) 1000011 = Y
0101100 COMPL.2 DI X
-1101111
POICHE' NON C'È RIPORTO FINALE AGGIUNGO IL MENO
NUMERI BINARI CON SEGNO
CONVENZIONALMENTE IL SEGNO DI UN NUMERO A m BIT SI RAPPRESENTA UTILIZZANDO IL BIT PIÙ SIGNIFICATIVO:
- POSTO A ZERO SE POSITIVO: S=0
- POSTO A UNO SE NEGATIVO: S=1
QUESTA RAPPRESENTAZIONE E' CHIAMATA MODULO E SEGNO POICHÉ I NUMERI TRATTATI CONSISTONO DI UN MODULO E DI UN SIMBOLO (+, -)
es: 01111111 = +127 UN n°POSITIVO INIZIA SEMPRE CON UNO ZERO
11111111 = -127 UN n° NEGATIVO INIZIA SEMPRE CON UNO