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 In ogni circuito logico c’è un intervallo di tensioni che è interpretato come uno 0 logico e un altro intervallo, disgiunto, che è interpretato come un uno logico. 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 devono generare tensioni di ouput entro gli intervalli sopra in modo che vengano riconosciute correttamente VOHmin VIHmin VILma VOLmax x 11 quarzo Microchip programmabile FPGA connettore a pettine 12 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 13 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 14 Disegno “schematico”: FPGA Collegamento FPGA-pettine: linee SPEAR15, ..., SPEAR0 Clock dall’oscillatore SPEAR0: collegato al pin0 15 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 ... 16 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 17 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 18 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 19 Dispositivi digitali 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 20