Fondamenti di elettronica
Contenuto del corso (sinteticamente):
- Circuiti elettronici digitali (logica combinatoria e sequenziale)
 i circuiti con cui sono fatti i computer
- Memorie (RAM/DRAM)
- Le interfacce fra il mondo digitale e analogico: DAC e ADC
- Amplificatori operazionali
1
Fondamenti di elettronica
Scopo:
Alla fine del corso lo studente dovrebbe essere in grado di
realizzare circuiti digitali non banali.
Esempi di circuiti non banali:
- interfaccia display
- impianto di allarme
- microcontroller di ADC e DAC
- cronometro e orologio digitale
- multimetro digitale
- interfaccia VGA
- microprocessore RISC
2
Fondamenti di elettronica
N.B. Realizzare, non studiare in termini astratti un’arida teoria
Corso predominantemente pratico:
Ogni argomento o concetto verrà accompagnato da dimostrazioni
pratiche
 scheda elettronica, oscilloscopio digitale (uno dei principali
strumenti del mestiere)
3
Fondamenti di elettronica
Il vostro feedback e la vostra cooperazione importante
importante seguire il corso passo passo
 prove durante il corso
 esame: 2 prove durante il corso + 1-2 domande veloci (max)
alla fine del corso
4
Fondamenti di elettronica
Realizzazione e test pratico di tutti i circuiti:
Circuito logico programmabile FPGA
 altro scopo del corso: imparare sul campo con una FPGA, uno
dei dispositivi più avanzati attualmente usati in elettronica digitale
Potete e dovete provare, testare e ideare circuiti (esercizi) voi:
 software di disegno elettronico QUARTUS
 Versione “educational” scaricabile dal sito web www.altera.com
Permette di implementare i vostri circuiti nella scheda e verificarne
il funzionamento!
5
Fondamenti di elettronica
La domanda fondamentale:
Perchè dovreste seguire questo corso?
Posso dare varie risposte:
- L’elettronica domina il nostro mondo in una infinità di applicazioni
- Una conoscenza dell’elettronica, unita alla capacità di risolvere
problemi tipica dei fisici, aiuta a trovare un lavoro
- Un fisico (vedi il mio caso di fisico delle particelle) deve spesso
realizzare i propri strumenti (rivelatori, sistemi di acquisizione, coprocessori, ...)
- L’ultimo punto non è certamente il meno importante: può essere
estremamente divertente (anche se a volte bisogna sudare 7
camicie per ottenere un circuito funzionante)!
6
La rivoluzione digitale
o Computer digitali (dal 1940 fino ad internet)
o Fotocamere digitali (la pellicola è morta!)
o Registrazione video (DVD, MPEG, ...)
o Registrazione audio (CD, disco in vinile morto già da 20 anni)
o Carburatori, elettronica nei veicoli
o Il sistema telefonico
o Sistemi di controllo del traffico (semafori)
o Effetti speciali dei film
o Apparecchiature mediche
o Sicuramente molto altro che non mi viene in mente adesso
PERCHE’ una tale esplosione?
7
I vantaggi dei circuiti digitali
Riproducibilità dati gli stessi input un circuito digitale produce
sempre gli stessi output – l’ouput di un circuito analogico dipende
da temperatura, invecchiamento, alimentazione, ...
Semplicità di progettazione: il disegno digitale è logico. Non è
necessaria una conoscenza dettagliata del comportamento
elettrico di tutti i singoli elementi di circuito.
Flessibilità e funzionalità implementazione di funzioni molto
complesse (e.g. Voice scrambler) impossibili con circuiti analogici
Programabilità i circuiti digitali possono essere modellati e simulati
con linguaggi di programmazione di alto livello.
Velocità
Economia
Tecnologia in continua evoluzione
8
Analogico e digitale a confronto
Dispositivi analogici: processano segnali che possono assumere
qualunque valore in un intervallo continuo di tensioni, correnti, o
qualche altra grandezza.
Circuiti digitali: processano e producono segnali che possono
assumere solo due valori discreti:
0V–5V
0–1
LOW – HIGH
FALSE – TRUE
(una finzione in realtà: anche questi sono segnali analogici che
possono variare entro due range distinti – più o meno ristretti)9
Aspetti elettronici del disegno digitale
I circuiti digitali processano tensioni e correnti analogiche e sono
fatti con componenti analogici
Astrazione digitale: il comportamento analogico può essere
ignorato (quasi sempre)
 circuiti modellati come se processassero davvero zeri e uni.
Perchè ciò è possibile?
10
11
Consideriamo due inverter in cascata
Nel circuito logico (secondo inverter) c’è un intervallo di tensioni di IN che è
interpretato come uno 0 logico e un altro intervallo, disgiunto, che è interpretato
come un uno logico: IN in questi intervalli produce un OUT corretto.
Esempio: un circuito CMOS funzionante con un’alimentazione di 5V:
Tensione di input nel range 0-1.5 V  0 logico
Tensione di input nel range 3.5-5 V  1 logico
Astrazione digitale: i dispositivi (il primo inverter) devono generare tensioni di
12
ouput entro gli intervalli sopra in modo che vengano riconosciute correttamente
Intervalli in cui deve variare il
segnale di output del primo inverter
Intervalli in cui puo’ variare il
segnale di input del secondo
inverter affinchè il circuito produca
un output corretto
VOHmin
VIHmin
VILmax
VOLmax
VOHmin=minima tensione di output
corrispondente a un 1 logico
VIHmin=minima tensione di input
riconosciuta come un 1 logico
VOLmax=massima tensione di ouput
corrispondente a uno 0 logico
VILmax=massima tensione di input
riconosciuta come un 0 logico
13
Funzionamento corretto: deve essere
VOHmin > VIHmin
VOLmax < VILmax
Margini di rumore:
VOHmin - VIHmin
VILmax - VOLmax
VOHmin
VIHmin
VILmax
VOLmax
14
quarzo
Microchip programmabile FPGA
connettore a pettine
15
16 linee di
input/output della
FPGA sono
collegate a questo
connettore
Possiamo vedere
segnali prodotti
dalla FPGA
Possiamo
inviare segnali
alla FPGA
quarzo
Genera un
segnale onda
quadra a 60
MHz che
viene
mandato in
ingresso alla
FPGA
connettore a pettine
16
Disegno “schematico”: rappresentazione
dell’oscillatore
Pin 1 segnale di
abilitazione del chip
Pin 4 alimentazione: VCC=5V
+5 V chip abilitato
Pin 3 segnale di clock
Pin 2 massa
dell’alimentazione a
5V
17
Disegno “schematico”: FPGA
Collegamento FPGA-pettine: linee SPEAR15, ..., SPEAR0
Clock
dall’oscillatore
SPEAR0:
collegato al pin0
18
del connettore
a
pettine
Visualizzazione del segnale di clock o altri segnali
Poggiamo la
sonda
dell’oscilloscopio
al pin 3
dell’oscillatore
Relativamente facile perchè il
chip è grande e i pin ben
separati
Per altri chip può risultare molto
difficile
Poggiamo la
massa al pin 2
Provate a poggiare la sonda su
un pin di uno di questi chip e a
tenerla ferma per più di qualche
secondo ...
19
Soluzione per visualizzare un segnale:
Facciamolo uscire su una delle linee che vanno al pettine e colleghiamo la
sonda al pin del pettine
quarzo
terminale di massa
dell’oscilloscopio
sonda
dell’oscilloscopio
20
Saldati a piazzole
collegate a piste
sul circuito
stampato
Package ad alta integrazione
Pin distribuiti uniformemente sulla
superficie inferiore del package e
saldati su piazzole corrispondenti
presenti sul circuito stampato
21
Problema: dobbiamo collegare internamente alla FPGA il pin CLK (pin 79) al
pin SPEAR0 (pin 104)
Segnale di clock dall’oscillatore
 circuito da implementare nella FPGA
Segnale di clock inviato al pin 0
del pettine
22
Progettazione con software CAD
design entry
sintesi
simulazione funz.
no
Il circuito è sintetizzato in termini di elementi
logici contenuti nel chip  netlist
Il circuito è simulato per verificarne la
correttezza funzionale
disegno corretto?
si
fitting
analisi temporale/
simulazione temp.
no
Il circuito è specificato in termini di un
diagramma schematico o di un linguaggio di
programmazione
prestazioni temporali
soddisfatte?
Il CAD dispone gli LE definiti nella netlist in LE
del chip reale – sceglie anche i fili di
connessione fra i vari LE
Vengono analizzati i ritardi di propagazione
lungo i vari percorsi indicando le prestazioni
del circuito
23
Dispositivi digitali
Tavola della verità
INVERTER
X
X’
C=A·B
B
0
1
0
1
C
0
0
0
1
se A=1 E B=1 allora C=1
altrimenti C=0
C=A+B
A
0
0
1
1
B
0
1
0
1
C
0
1
1
1
se A=1 O B=1 allora C=1
altrimenti C=0
OR
A
B
se X=0 allora X’=1
se X=1 allora X’=0
A
0
0
1
1
AND
A
B
X’
1
0
X
0
1
24