Docente di riferimento: Dante Del Corso Gruppo A1-10 rev. 10/01/2015 17:05 Lorenzo Miretti 191104 Diana Sotan 193231 Concetto Emanuele Bugliarello 190957 Federico Barusso 194937 23/10/2014 LAB E-1: GENERATORE DI ONDA QUADRA E CONTATORE ASINCRONO Scopo: Realizzare un semplice generatore di onda quadra con comparatore di soglia integrato e usarlo per verificare il comportamento di un contatore asincrono. STRUMENTAZIONE UTILIZZATA Oscilloscopio digitale (Atten ADS 210C) Banda passante: 100MHz, Ri = 1MΩ, Ci = 13pF Generatore di funzioni (Hameg HM8131-2) Range: 0,01Hz to 10MHz, Ru = 50Ω Multimetro digitale da banco (Agilent 34401A) Alimentatore stabilizzato (Labornetzgerat LPS3303A) Cavi BNC-BNC coassiali Cavi BNC-coccodrillo Sonde BNC (Hameg HZ52 X10) Resistori vari 1 x 100kΩ, 1 x 1MΩ, 1 x 10kΩ, 1 x 330Ω Breadboard con jumper Potenziometro 1MΩ Condensatori 1 x 1nF, 1 x pF, 1 x 47pF Diodi Circuiti integrati 1 x 74HC14, 1 x CD4040, 1 x CD4093 1 1. PROGETTO GENERATORE DI ONDA QUADRA E MISURE DESCRIZIONE: a. (Progetto) La prima operazione da eseguire in questa esperienza consiste nel progettare un generatore di onda quadra con le seguenti specifiche: Alimentazione 5V; Uso di comparatore con isteresi (74HC14); Frequenza 10 kHz, duty cycle 50% Lo schema circuitale del generatore dovrà essere come in Fig.1. Il valore della resistenza di reazione è 100 kΩ mentre la capacità dovrà avere un valore per cui la frequenza dell’onda quadra generata sia di 10 kHz. Fig.1 Fig.2 b. (Esperienza opzionale) Modificare il circuito precedente in modo da poter variare il Duty Cycle dal 10% al 90% . Questo può essere realizzato inserendo due diodi sui percorsi di carica e scarica del condensatore mantenendo, per il percorso di carica, il resistore da 100 kΩ e aggiungendo per quello di scarica un potenziometro con resistenza variabile da 10 kΩ a 1 MΩ. c. Verificare il funzionamento del trigger misurando le soglie. d. Verificare il funzionamento del generatore di onda quadra e misurare la frequenza del segnale generato. e. (Esperienza opzionale) Misurare il duty cycle dei segnali generati nel punto b. 2 DIARIO E COMMENTI a. I valori di soglia non sono indicati per tensioni di 5V. Abbiamo quindi deciso di alimentare il comparatore con una tensione di 4,5 V, in modo da avere i valori di tensione di soglia forniti dal data sheet. Utilizziamo per il progetto il valore medio dell’intervallo supponendo una distribuzione rettangolare dei valori nella fascia min e max. La tensione in ingresso è descritta dal grafico di Fig.3. La capacità verso massa introduce un ritardo nel riconoscimento degli stati alti e bassi. Siccome il comparatore che abbiamo utilizzato è invertente, durante il periodo di carica del condensatore lo stato della variabile di uscita è alta, mentre nella fase di scarica l’uscita risulta bassa. Lavorando sulla capacità del condensatore è possibile ottenere un’onda quadra con la frequenza desiderata. Fig.3 Per calcolare la capacità del condensatore necessaria per ottenere un generatore di onda quadra a 10 kHz si scrive l’andamento della tensione nel tempo per la fase di carica e scarica e si ricavano il tempo di salita e discesa troncati ai valori 𝑉𝑇+ 𝑒 𝑉𝑇− . Imponendo il valore del periodo dell’onda quadra generata si ricava la capacità. Siccome il valore dei condensatori presenti in laboratorio ha delle misure standard si sceglie il condensatore con il valore di capacità più prossimo alla capacità calcolata in precedenza. Questo fa inoltre sì che la frequenza del generatore di onda quadra da noi realizzato non abbia esattamente la frequenza di 10 kHz. b. Utilizziamo due diodi per forzare la carica sul ramo con resistenza pari a 100 kΩ e la scarica sul ramo con resistenza variabile. Osserviamo che il tempo di carica rimane lo stesso mentre quello di scarica varia in funzione della resistenza. Aumentando la resistenza il tempo di scarica risulta maggiore e il Duty Cycle diminuisce, mentre inserendo una resistenza maggiore di 100 kΩ il Duty Cycle risulterà maggiore del 50%. Quando variamo la resistenza del potenziometro osserviamo una variazione continua del duty cycle. 3 c. Eseguiamo il montaggio seguente: Si sottolinea che il montaggio effettivo risulta molto confusionario e poco pratico poiché sono stati forniti in laboratorio solamente cavi tipo jumper lunghi. Si invia un segnale onda triangolare all’ingresso del generatore di onda quadra, scegliendo ampiezza 𝑣𝑝𝑝 =3,5 V e offset 2,25 V (poiché è stata scelta una tensione di alimentazione del comparatore pari a 4,5 V) . Aprire inoltre la reazione (resistenza tra ingresso e uscita), o utilizzare un’altra porta dell’integrato. Dopo aver visualizzato anche la forma d’onda quadra generata dal nostro comparatore, leggiamo sullo schermo dell’oscilloscopio l’altezza delle due soglie 𝑉𝑇+ e 𝑉𝑇− ( le due soglie sono le intersezioni in salita e in discesa tra l’onda quadra e l’onda triangolare). Bisogna considerare che nell’effettuare le misure abbiamo collegato direttamente il generatore al circuito senza considerare resistenze di protezione perché i livelli di tensione erano già stati verificati con il multimetro . 4 d. Si spegne il generatore di funzioni e si reinserisce la resistenza di reazione. Si verifica che il circuito precedentemente creato genera effettivamente un’onda quadra e si misura la frequenza e i livelli di tensione del segnale. Abbiamo collegato al secondo canale la tensione in ingresso per vedere la carica e scarica del condensatore tra i livelli di soglia. e. Costruiamo il circuito come segue, inserendo i diodi per i percorsi di carica e scarica. Inizialmente inseriamo per il percorso di scarica una resistenza di 10kohm (figura a sinistra) e di 1Mohm (figura a destra) e successivamente inseriamo il resistore variabile per osservare la variazione continua della frequenza (figura sotto). 5 PROGETTO: a. Per il progetto si usa la seguente fondamentale relazione che lega la frequenza ai parametri di progetto: 𝑓= 1 𝑉 (𝑉 − 𝑉𝑎𝑙 ) 𝑅𝐶𝑙𝑛 𝑇+ 𝑇− 𝑉𝑇− (𝑉𝑇+ −𝑉𝑎𝑙) Ricordando che per il progetto si considera il valore medio della distribuzione delle tensioni di soglia, si ottiene (ipotizzando modello probabilistico a distribuzione rettangolare): 𝑉𝑇+ = 2,43V ± 0,44V 𝑉𝑇− = 1,45V ± 0,32V Capacità del condensatore teorica: Capacità normalizzata scelta effettivamente: C = 1,11 nF C = 1 nF Inserendo questa capacità nel circuito, e applicando le formule di propagazione dell'incertezza otteniamo una frequenza pari a: 𝑓 = 11,1 𝑘𝐻𝑧 ± 43% Questo valore di incertezza risulta così elevato a causa dell’incertezza dei valori di soglia (18% per 𝑉𝑇+ e 22% per 𝑉𝑇− ).. Osservazione: Il data sheet fornisce un’approssimazione della relazione che lega la frequenza di oscillazione alla resistenza e capacità del circuito: 𝑓= 1 1 ≈ 𝑇 𝐾𝑅𝐶 dove K è un valore definito dalla seguente funzione: Come si può osservare dalle formule precedenti il fattore K corrisponde a: 𝐾 = 𝑙𝑛 𝑉𝑇+ (𝑉𝑇− − 𝑉𝑎𝑙 ) 𝑉𝑇− (𝑉𝑇+ −𝑉𝑎𝑙) che nel nostro caso, utilizzando il valore medio delle tensioni di soglia fornite dal data sheet, vale 0,90. Il grafico invece mostra un valore poco sopra ad 1 per una tensione di alimentazione di 4,5 V, dato proprio dal fatto che non abbiamo utilizzato i valori tipici a causa della non conoscenza della distribuzione dei valori di soglia all’interno dell’intervallo. 6 b. Dalla relazione analizzata in precedenza, ma considerando i diversi tempi di carica e di scarica, calcoliamo le seguenti stime indicative delle variazioni nel Duty Cycle: Inserendo una resistenza nel ramo di scarica di 10 kΩ otteniamo: 𝑡𝑠𝑐𝑎𝑟𝑖𝑐𝑎 = 5,16 𝜇s D = 88% Inserendo una resistenza nel ramo di scarica di 1 MΩ otteniamo: 𝑡𝑠𝑐𝑎𝑟𝑖𝑐𝑎 = 516 𝜇s D = 7% DATI GREZZI c. VT+ = VT- = (4,8 ± 0,1) div (3,1 ± 0,1) div kv = 500 mV/div kv = 500 mV/div d. T= T' = V= (7,0 ± 0,2) div (7,0 ± 0,2) div (4,4 ± 0,2) div kt = 10,0 μs/div kt = 10,0 μs/div kv = 500 mV/div e. (R = 10 kΩ) T= (5,2 ± 0,2) div T' = (4,2 ± 0,2) div kt = 5,0 μs/div kt = 5,0 μs/div (R = 10 kΩ) T= (5,2 ± 0,2) div T' = (4,2 ± 0,2) div kt = 5,0 μs/div kt = 5,0 μs/div (tempo stato alto) (ampiezza onda quadra) ELABORAZIONE DATI E STIMA DELL'INCERTEZZA Misure di tensione con l'oscilloscopio Si calcola la tensione con la formula : 𝑉 = 𝑛𝑑𝑖𝑣 ∙ 𝐾𝑣 Il manuale dell’oscilloscopio dichiara una incertezza strumentale del 3,0% , alla quale bisogna sommare l'incertezza di lettura dipendente dalla scelta del coefficiente di deflessione verticale: 𝜀𝑉 = 𝜀𝑠𝑡𝑟 + 𝛿𝑛𝑑𝑖𝑣 𝑛𝑑𝑖𝑣 Consideriamo il modello probabilistico (categoria B), ipotizzando una distribuzione di probabilità rettangolare della fascia di valori dichiarata, di ampiezza 2𝛿𝑉 . Si ottiene la seguente incertezza tipo: 𝑢𝑉 = 𝜀𝑉 ∙ 𝑉 𝛿𝑉 ⁄ = √3 √3 Misure di tempo con l'oscilloscopio Il valore di tempo viene calcolato con la formula: 𝑡 = 𝑛𝑑𝑖𝑣 ∙ 𝐾𝑡 7 Il manuale dell’oscilloscopio dichiara un'incertezza strumentale dello 0,01%, alla quale bisogna sommare l'incertezza dovuta al campionamento (sample interval 1div/250) e l'incertezza di lettura, entrambe dipendenti dalla scelta della base tempi: 𝜀t = (𝜀𝑠𝑡𝑟 + 1 𝛿𝑛𝑑𝑖𝑣 ) + 250 𝑛𝑑𝑖𝑣 Consideriamo il modello probabilistico (categoria B), ipotizzando una distribuzione di probabilità rettangolare della fascia di valori dichiarata, di ampiezza 2δt. Si ottiene la seguente incertezza tipo: 𝑢𝑡 = 𝛿t ⁄√3 = 𝜀t ∙ 𝑡 √3 Misure di frequenza con l'oscilloscopio Le misure di frequenza vengono effettuate per via indiretta dalla misura del periodo. 𝑓 = 1⁄𝑇 Applicando la formula di propagazione dell'incertezza per misure indirette, si ottiene che l'incertezza relativa della frequenza equivale a quella del periodo. Misure di duty cycle con l'oscilloscopio Il duty cycle è definito dalla seguente relazione: 𝐷 = 𝑇′⁄𝑇 Dove T' rappresenta il tempo in cui il segnale si trova nello stato alto. Applicando le formule di propagazione dell' incertezza si ottiene che l'incertezza relativa di D equivale alla somme delle incertezze relative dei due tempi misurati. RISULTATI c. VT+ = VT- = 2,40 V 1,55 V ± 2,9% ± 3,6% d. f = V= 14,0 kHz 4,40 V ± 2,1% ± 4,3% e. D10kΩ = 0,81 D100kΩ = 0,81 (ampiezza onda quadra) ± 5,4% ± 16,4% Si osservi come tutte le misure risultano essere pienamente compatibili con i valori ottenuti dai data sheet e ai valori di progetto aspettati. Particolare attenzione al valore di frequenza misurato, che pur essendo molto distante dal valore centrale del valore di progetto (circa 11kHz), risulta comunque essere incluso nel suo esteso campo di incertezza dovuto all'estrema variabilità delle tensioni di soglia. 8 2. MISURAZIONE DEL TEMPO DI SALITA DESCRIZIONE: In questa sezione andremo a valutare il comportamento di un contatore asincrono presente all'interno dell'integrato CD4040 utilizzando come clock il segnale presente all'uscita del generatore di onda quadra realizzato nella sezione precedente. L'integrato CD4040 sfrutta una tecnologia a flip-flop riassunta nel seguente schema a blocchi Effettueremo le seguenti misure/osservazioni: a. Verifica del corretto funzionamento del circuito divisore. b. Misura dell'aumento del ritardo di commutazione lungo la catena di flip-flop. c. Misura del ritardo di un singolo stadio, valutato su catene di flip-flop di diversa lunghezza. Confronto dei valori misurati con i dati forniti dal data-sheet. d. Verifica della presenza di rimbalzi su un contatto meccanico, osservando l'avanzamento irregolare del contatore ad ogni azionamento. e. Verifica la risposta del contatore ai disturbi ambientali. f. (Esperienza opzionale) Progettare e montare un circuito combinatorio in grado di riconoscere la configurazione 111 su tre uscite consecutive del contatore. g. (Esperienza opzionale) Visualizzazione dell'avanzamento del contatore sfruttando un sistema di LED. NB Questo metodo è stato utilizzato per le osservazioni nei punti d, e ed f. 9 DIARIO a. Realizziamo il seguente montaggio. Si sottolinea che il montaggio effettivo risulta molto confusionario e poco pratico poiché sono stati forniti in laboratorio solamente cavi tipo jumper lunghi. Come prima cosa resettiamo la catena di FF ponendo l'ingresso "reset" a Vcc, e successivamente abilitiamo il conteggio portandolo a massa. Andando a confrontare il segnale di clock (giallo) con le uscite (blu) ai piedini 9,7,6 corrispondenti rispettivamente alle uscite Q1, Q2, Q3 si osserva il corretto funzionamento del divisore. Si visualizzano onde quadre di frequenza via via raddoppiata. Sincronizziamo il trigger sul canale del clock, a frequenza quindi più bassa. L'immagine infatti risulta notevolmente più stabile in quanto le fluttuazioni sono proporzionali alla frequenza del segnale con cui si sta sincronizzando. b. Per visualizzare meglio l'effetto dei ritardi, aumentiamo la frequenza del clock sostituendo il condensatore da 1nF con uno da 47pF. Misuriamo il ritardo di commutazione tra il clock e le uscite Q1, Q2, Q3 (si veda piedinatura precedente). 10 Normalmente nei circuiti CMOS si dovrebbe prendere il 50% come riferimento per le misure di ritardo, ma noi abbiamo scelto il valore di +2V per facilitare la lettura essendo il coefficiente di deflessione verticale impostato su 1V/div. Ovviamente i valori misurati dovrebbero differire lievemente da quelli indicati nei data-sheet. c. Con misure analoghe, valutiamo il ritardo del singolo stadio. Effettuiamo una prima misurazione su 11 FF (da pin 9 a pin 1) e poi su 5 FF (da pin 9 a pin 2). Non misuriamo i ritardi rispetto al clock perché aggiungerebbe il ritardo delle porte logiche presenti nel circuito di ingresso, influenzando erroneamente la valutazione del ritardo di un singolo stadio. d. Scolleghiamo il generatore di segnale dall'ingresso e lo sostituiamo con un interruttore meccanico realizzato con un resistore di pull-up e un push-button. Per avere un riscontro visivo immediato dell'avanzamento del contatore, colleghiamo le prime tre uscite ad una PCB contenente una serie di LED attivi quando collegati a massa. Pertanto osserviamo direttamente il codice binario in avanzamento del conteggio associando lo stato 1 ai led spenti e lo stato 0 ai led accesi. Si nota che applicando manualmente il segnale di clock tramite l'interruttore, i led mostrano un avanzamento imprevedibile associato ai numerosi impulsi dovuti ai rimbalzi meccanici. Step 1 (000) Step 2 (101) 11 e. Scollegando l'interruttore e collegando all'ingresso un jumper con l'altro terminale aperto, osserviamo uno sfarfallio continuo nei LED, corrispondente a delle variazioni molto rapide del conteggio. Essendo, infatti, Ri dei circuiti CMOS molto elevata, l'ingresso del contatore risulta estremamente sensibile alle variazioni dei campi elettromagnetici presenti nell'ambiente. Si hanno quindi rapidi attraversamenti della soglia che genera il comportamento imprevedibile sopra descritto. Appoggiando una mano allo schermo del computer e avvicinando l'altra al morsetto libero del jumper si osserva invece un comportamento un po' più regolare delle fluttuazioni. Ciò è dovuto all'accoppiamento capacitivo mano - jumper che riporta all'ingresso un valore di frequenza stabile, più precisamente sincronizzato con i 50Hz dello schermo. Reinserendo inoltre la resistenza di Pull-up osserviamo un comportamento ancora più regolare, in quanto il potenziale di ingresso è fissato all'alimentazione da un valore di impedenza molto più basso rispetto a quello relativo all'accoppiamento capacitivo (le impedenze sono in parallelo). f. Esperienza opzionale Per rilevare la configurazione 111 usiamo il seguente circuito combinatorio, basato su 3 porte NAND (Usiamo per la realizzazione pratica l'integrato CD4093, contenente 4 porte NAND): A B C ________ ________ ________ ________ | |_______| |_______| |_______| |_______ ________________ ________________ | |_______________| |_______________ ________________________________ | |________________________________ LSB MSB (CBA) 111 110 101 100 011 010 001 000 _______ _______ D | |________________________| |________________________ _________________________________________________________ U _______| Notare che l'uscita del circuito viene portata al livello basso nel caso la configurazione venga riconosciuta. Colleghiamo perciò l'uscita al catodo di un LED adeguatamente alimentato, mentre i tre ingressi A,B,C indicati a tre uscite consecutive del contatore. Realizziamo quindi il seguente montaggio: g. Esperienza opzionale Abbiamo utilizzato la basetta a LED per avere un riscontro immediato nelle osservazioni ai punti precedenti. Si vedano quindi le parti prima per le applicazioni effettive. 12 DATI GREZZI a. b. c. d. ts1 = 7,96 ns ts2 = 7,56 ns ts3 = 234,2 ns ts1 = 34,00 ns δndiv = 0,2 div δndiv = 0,2 div δndiv = 0,2 div δndiv = 0,2 div Kt = 10ns/div Kt = 10ns/div Kt = 50ns/div Kt = 10ns/div ELABORAZIONE DATI E STIMA DELL'INCERTEZZA Misura di periodo e frequenza con l'oscilloscopio Si faccia riferimento alla sezione precedente per le formule utilizzate in misure di questo tipo. RISULTATI Incertezza (relativa) dichiarata usando un modello probabilistico a distribuzione rettangolare. Si vedano paragrafi precedenti per ulteriori dettagli. b. tCKQ1 tCKQ2 tCKQ3 = = = 65 ns ± 5% 115 ns ± 3% 165 ns ± 2% c. tp t'p = = 52,8 ns ± 1% 52,0 ns + 2% (misurato su catena di 11 Flip-Flop) (misurato su catena di 5 Flip-Flop) COMMENTI Osservando il data sheet del CD4040 si può osservare come il tempo di propagazione Typ (150 ns) del singolo FF sembri maggiore di un fattore 3 rispetto a quello misurato. Nonostante non si possa fare una trattazione formale dell'incertezza (avendo alimentato il circuito a 4,5V e non a 5V), si può osservare dall'indicazione del valore Max (330 ns) come il tempo di propagazione indicato sia soggetto ad una varianza molto significativa, il che lascia supporre quindi che sia del tutto compatibile con la nostra misura. 13