ElapBe1 21/09/2015 ElapBe1 21/09/2015 Ingegneria dell’Informazione Esercitazione Be1: parte B - 1 • Esercizi sugli argomenti svolti nelle lezioni B1-B4 ELETTRONICA APPLICATA E MISURE • Raccomandazione di risolvere come homework prima della lezione Dante DEL CORSO • Soluzione e chiarimenti (a richiesta) in aula Be1 – Esercizi parte B (1) » » » » • Argomenti esercizi parte B - 1: Interfacciamento statico Ritardi Diagrammi temporali Massima cadenza clock – – – – Circuiti con Flip-Flop Diagrammi temporali senza ritardi Calcolo dei ritardi, diagrammi con ritardi Valutazione della massima cadenza di clock AA 2015-16 21/09/2015 - 1 ElapBe1 - 2014 DDC 21/09/2015 - 2 ElapBe1 - 2014 DDC Per le esercitazioni sono disponibili stampe con spazio per annotare la soluzione a ciascuna domanda. © 2014 DDC 1 © 2014 DDC 2 ElapBe1 21/09/2015 ElapBe1 21/09/2015 Esercitazione Be1: Elenco esercizi Macchina a Stati Finiti (FSM) • Obbiettivi di questi esercizi • Le uscite di un contatore evolvono secondo la successione dei numeri interi: – Analisi di circuiti con porte e flip-flop – Valutazione di specifiche temporali – (Richiami su interfacciamento statico) – 1, 2, 3, 4, 5, … – La commutazione avviene in corrispondenza del clock • E’ possibile realizzare circuiti sequenziali in cui • Be.1: Analisi di Flip-Flop JK – La sequenza di stati è arbitraria (ad esempio 4, 2, 1, 3, 5, …) – La commutazione avviene sempre in corrispondenza del clock – Il passaggio da uno stato all’altro è condizionato da segnali esterni • Be.2: Analisi di circuito sequenziale – Comportamento ideale (no ritardi) – Analisi con ritardi, frequenza max di clock – (resistenza di pull-up, carico capacitivo, decodifica stati) • Macchine a Stati Finiti (FSM) • Be.3: Circuiti antirimbalzo 21/09/2015 - 3 © 2014 DDC ElapBe1 - 2014 DDC 3 21/09/2015 - 4 © 2014 DDC ElapBe1 - 2014 DDC 4 ElapBe1 21/09/2015 ElapBe1 21/09/2015 Macchine a Stati Finiti (FSM) Esercizio Be1.1: JK FF come FSM • Una FSM comprende elementi di memoria (Flip-Flop) • Progettare un circuito (Finite State Machine: FSM) che usa un FF-D, e si comporta come un FF-JK: • Lo stato degli elementi di memoria identifica lo stato del sistema (N FF 2N stati) • I passaggi da stato a stato sono rappresentati con archi, condizionati da variabili interne e di ingresso • Ad ogni stato corrisponde una combinazione delle uscite A D – Due ingressi: J, K Una uscita: Q – Comando RESET; (forza Q = 0) B – Due soli stati: Q=HeQ=L C – Comando diretto RESET: porta Q a 0 • Questa rappresentazione è un diagramma degli stati 21/09/2015 - 5 © 2014 DDC ElapBe1 - 2014 DDC 5 21/09/2015 - 6 © 2014 DDC RETE DI USCITA J K Q RETE DI STATO FUTURO Q D CK R RESET ElapBe1 - 2014 DDC 6 ElapBe1 21/09/2015 ElapBe1 21/09/2015 Esercizio Be1.1-a: diagramma stati Esercizio Be1.1-b: FSM completa Variabile D ottenuta da J, K, Q con rete combinatoria che realizza l’equazione di stato futuro: Comportamento del JK-FF J K STATO ATTUALE (Q) STATO FUTURO (D) 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 1 0 1 1 1 0 1 1 1 1 0 Equazione di stato futuro: RETE DI USCITA J A K D = Qn+1 = Q* J + Q K* D = Q* J + Q K* Q B RETE DI STATO FUTURO L’uscita è direttamente la Q del FF Q D CK R RESET* 21/09/2015 - 7 © 2014 DDC ElapBe1 - 2014 DDC 7 21/09/2015 - 8 © 2014 DDC ElapBe1 - 2014 DDC 8 ElapBe1 21/09/2015 ElapBe1 21/09/2015 Esercizi su circuiti sequenziali • Esercizio completo su circuito sequenziale (2-3 FF) • Esempi di quesiti: a. b. c. d. e. f. Esercizio Be1.2: circuito sequenziale • Analisi temporale “ideale” (senza ritardi) Analisi temporale con ritardi Calcolo resistenza di pull-up Decodifica di stati Calcolo dell’effetto di un carico capacitivo Calcolo della frequenza massima del clock Nello schema in figura i tre FF hanno le uscite Q inizializzate a 0. Il clock ha duty cycle di 0.5. B1 è un buffer OC, con RON = 40 Ω, IOH = 200 μA, I1 un inverter con ingresso a trigger. (SE1109) Val F CK – 21/09/2015 - 9 © 2014 DDC Numerosi esercizi svolti di questo tipo si trovano nel sito di “Sistemi Elettronici”: da areeweb …. (in fondo) 01EKL scritti di esame risolti A Rpu Q2 D Q FF1 Q1 D Q Q FF2 Q3 D Q B1 B1 FF3 Out C I1 a. Tracciare le forme d’onda ai nodi A, Q1, Q2, Q3, Out nell’ipotesi che tutti i componenti abbiano ritardo nullo per i primi 3 periodi del clock CK (capacità C = 0). ElapBe1 - 2014 DDC 9 21/09/2015 - 10 © 2014 DDC ElapBe1 - 2014 DDC 10 ElapBe1 21/09/2015 ElapBe1 21/09/2015 Esercizio Be1.2a1: segnali Esercizio Be1.2.a2: sequenza di stati • Sequenza di segnali (senza ritardi) CK ___ ___ ___ ___ ___ __/ \___/ \___/ \___/ \___/ Q1 __ Il clock è attivo su entrambi i fronti (LH FF1, HL FF2). FF 3 è collegato come divisore modulo 2, e commuta sui fronti di discesa di Q2* (salita di Q2). C = 0; tra Q3 e OUT solo inversione di stato logico CK Q2 A __ __ Q1 Q2 A Q3 OUT 21/09/2015 - 11 © 2014 DDC ElapBe1 - 2014 DDC 11 21/09/2015 - 12 © 2014 DDC 1a 1b 2a 2b 3a 3b 4° _________ _________ _________ ____/ \_________/ \_________/ \_________/ _______________ _____________________________ _ \_________/ \_________/ ___________________ ___________________ _____/ \___________________/ \_ ___________________ ___________ _______________/ \___________________/ _______________________________________ _______________/ \___________ _______________ ___________ Transizioni con ritardo \_______________________________________/ rispetto al clock (unico valore convenzionale) ElapBe1 - 2014 DDC 12 ElapBe1 21/09/2015 ElapBe1 21/09/2015 Esercizio Be1.2b1: valutazione ritardi Esercizio Be1.2-b2: ritardi • Sequenza di segnali (con ritardi) Val F CK A D Q FF1 Q1 Q2 D Q Q FF2 Q3 D Q FF3 B1 B1 Out C Tsu = 3 ns, Th = 2 ns (tutti i FF) ; Tckq = 5 ns (tutti i FF, sia LH che HL) porta NAND e trigger di uscita I1: TLH = 3ns , THL = 4 ns, buffer B1: Tp = 6 ns (per entrambe le transizioni) © 2014 DDC _____ _____ ___ _____/ \______/ \______/ Q1 __ Q2 __ __ I1 b. Tracciare con asse dei tempi tarata le forme d’onda per due periodi di clock ai nodi A, Q1, Q2, Q3, Out con i parametri dinamici indicati (sempre per C = 0). 21/09/2015 - 13 CK Rpu A ElapBe1 - 2014 DDC 13 21/09/2015 - 14 © 2014 DDC ElapBe1 - 2014 DDC 14 ElapBe1 21/09/2015 ElapBe1 21/09/2015 Eserc. Be1.2c: diagramma temporale – – – – • •CK •A •Q1 •Q2 •Q3 •OUT Esercizio Be1.2d: calcolo R pullup c. L’inverter con ingresso a trigger ha soglie Vs1 = 3V e Vs2 = 2V, Iih = 0,3 mA, Iil = - 0,3 mA. Determinare i valori min/max della Rpu che garantiscono la commutazione di Out (Val = 5V) Tsu = 3 ns, Th = 2 ns (tutti i FF) ; Tck->Q = 5 ns (tutti i FF, per L-> H e H->L) porta NAND e trigger di uscita I1: TLH = 3ns , THL = 4 ns, buffer B1: Tp = 6 ns (per entrambe le transizioni) – La tensione nello stato H deve superare la soglia Vs1; questa condizione fissa un massimo al valore della Rpu. 1a 1b 2a 2b 3a _______________ _______________ _ ____/ \_______________/ \_____________/ – Nello stato H, nella Rpu scorre una corrente Irph = Ioh + Iih = 0,2 + 0,3 = 0,5 mA. Tensione all’uscita OC: Val – Irph x Rpu , che deve essere (almeno) uguale a Vs1 (3 V). _______________________|-4-| |-3-|_______________________ | \___________|___/ | | -5-|_______________|___________ -5-| _______/ | \___________________________ | -5-|___________________________ -5-| _______________________/ \___________ |-5-|_______________________________________ ___________________________/ ___________________________|-6+4-| Ritardi effettivi (in ns), \_________________________________ – (Val – Vs1)/Rpumax = Irph; Rpumax = (5–3)V/0,5mA = 4 kΩ – Una resistenza Rpu più alta farebbe scendere la tensione stato H sotto la soglia Vs1, bloccando Out nello stato H. valutati caso per caso 21/09/2015 - 15 © 2014 DDC ElapBe1 - 2014 DDC 15 21/09/2015 - 16 © 2014 DDC ElapBe1 - 2014 DDC 16 ElapBe1 21/09/2015 ElapBe1 21/09/2015 Esercizio Be1.2e: calcolo R pullup Eserc. Be1.2f: andamento Vc e Vout d. Analizzare il comportamento dinamico dell’anello B1-C-I1-FF3. Tracciare l’andamento qualitativo di Q3, della tensione ai capi di C e della Vout. c. ….. Determinare i valori minimo e massimo della Rpu che garantiscono la commutazione di Out (Val = 5V) – Perché il trigger riconosca lo stato L la tensione di ingresso deve scendere sotto Vs2. Per V = Vs2 = 2V nell’uscita OC circola una corrente IL pari a 2V/40Ω = 50mA. Questa corrente proviene dalla resistenza Rpu e (per soli 0,3 mA) dall’ingresso del trigger. Trascurando quest’ultima si ha: Rpumin = 3V/50mA = 60 Ω © 2014 DDC CK1 D Q Rpu FF3 B1 B1 Out C I1 – Tra Q3 e Out buffer OC caricato da C; Vc ha andamento esponenziale, con tau = C Rpu in salita e tau = C (Rpu//Ron) in discesa. Le variazioni di stato sono rilevate da I1 con ritardi diversi (> per LH). Out riportata a D del FF3 forma un divisore modulo due. La max frequenza operativa è limitata dal ritardo della catena B1-C-I1 e ritardi del FF. – Per la transizione LH (caso peggiore), si ha (CK di FF3): Tckmin(FF3) = Tckq(FF3) + Tp(B1) + Thlc(ritardo dovuto a C e Rpu) + Thl(I1) + Tsu(FF3). – Resistenze di valore più basso determinano una tensione allo stato L maggiore della Vs2, e il trigger di uscita rimane bloccato nello stato L. Il valore limite molto basso per Rpu deriva dalla soglia relativamente alta del trigger (2 V). 21/09/2015 - 17 Val Q3 ElapBe1 - 2014 DDC 17 21/09/2015 - 18 © 2014 DDC ElapBe1 - 2014 DDC 18 ElapBe1 21/09/2015 ElapBe1 21/09/2015 Esercizio Be1.2g: frequenza max Esercizio Be1.2h: frequenza max Valutazione quantitativa di Thlc e. Determinare la massima frequenza del clock CK che permette il funzionamento di questa parte del circuito con Rpu = 1kΩ, C= 25pF, Val = 5V. – Tensione iniziale (stato L): VL = 204 mV (accettabile 0 V in prima approssimazione) Per determinare il tempo T1 richiesto per raggiungere Vs1 occorre risolvere la relazione Vc(T1) = Vs1 = A + B e^-T1/tau 3 V = 4,5 – 4,3 e^-T1/tau; e^-T1/tau = 1,5/4,3 = 0,349 T1 = 1,053 tau = 1,053 x 25 ns = 26,3 ns Tckmin(FF3) = 5 + 6 + 26,3 + 4 + 3 = 44,3 ns Questo periodo corrisponde a tre cicli del clock CK (punto a), quindi Fmax(CK) = 22,5 MHz – L’asintoto è VH = Val – Rpu x Irph = 5 – 0,5 = 4,5V – Vc(t) può essere espresso nel modo standard (sistemi del I ordine): Vc(t) = A + B e^-t/tau; – B = V(∞) = 4,5 V; A = V(0) – B = - 4,3 V – Tau = R x C = 1 k x 25 pf = 25 ns 21/09/2015 - 19 © 2014 DDC ElapBe1 - 2014 DDC 19 21/09/2015 - 20 © 2014 DDC ElapBe1 - 2014 DDC 20 ElapBe1 21/09/2015 ElapBe1 21/09/2015 Esercizio Be1.3: circuiti anti-rimbalzo Es. Be1.3-a: anti-rimbalzo con FF SR Occorre dare un comando “manuale” (azionamento di un deviatore) a un sistema elettronico. Quando il deviatore commuta, il contatto rimbalza più volte causando transizioni multiple 1. Inserire un circuito per eliminare i comandi spuri dovuti ai rimbalzi meccanici A 2. Come realizzare la stessa funzione per un interruttore (chiude verso massa, con R di pull-up)? 3. Come realizzare le stesse funzioni a SW, utilizzando come ingresso un interruttore senza antirimbalzo? © 2014 DDC B VAL OUT RPU1 Il segnale OUT ha una singola commutazione 4. Per tutti questi casi, indicare come determinare il valore degli eventuali componenti passivi. 21/09/2015 - 21 Resistenze di pull-up. Portano allo stato 1 il morsetto non collegato a massa ElapBe1 - 2014 DDC 21 21/09/2015 - 22 © 2014 DDC RPU2 A B S Q* R Q OUT ElapBe1 - 2014 DDC 22 ElapBe1 21/09/2015 ElapBe1 21/09/2015 Es. Be1.3-b: Segnali nell’antirimbalzo Es. Be1.3-c: varianti anti-rimbalzo 1 • Ingressi SET e RES attivi bassi (comanda lo ”0”) • Quale circuito usare se il deviatore commuta i due punti verso l’alimentazione (anziché verso massa)? – SET* comanda direttamente Q; da Q comando a Q* – RES* comanda direttamente Q*; da Q* comando a Q POSIZ. SW A = SET* B = RES* Q Q* 21/09/2015 - 23 © 2014 DDC B ____A________ B ___A___ _____/ \_________/ ______ __________ \/\/\_____/\/ \/\/\___ _______________ ______ __/\/ \/\___/\/ ______________ ___ _______/ \_______/ ________ _________ \____________/ \___ 21/09/2015 - 24 ElapBe1 - 2014 DDC 23 © 2014 DDC ElapBe1 - 2014 DDC 24 ElapBe1 21/09/2015 ElapBe1 21/09/2015 Es. Be1.3-d: varianti anti-rimbalzo 2 Es. Be1.3-e: varianti anti-rimbalzo 3 • Come realizzare la stessa funzione se l’organo di comando è un interruttore (anziché un deviatore)? • Come realizzare le stesse funzioni a SW, utilizzando come ingresso un interruttore senza antirimbalzo? – Si può usare una rete RC passa-basso che “filtra” i rimbalzi, seguita da un trigger che trasforma la transizione lenta (dovuta alla rete RC) in gradino. – Il SW deve leggere lo stato dell’interruttore periodicamente, e accettare la variazione solo quando lo stato viene mantenuto per più campionamenti consecutivi. – L’intervallo su cui viene valutata questa “permanenza” deve essere maggiore della durata massima dei rimbalzi • Come determinare il valore degli eventuali componenti passivi? – Le resistenze di pull-up o pull-down devono essere calcolate tenendo conto di VIH, VIL e delle correnti di ingresso. – Le resistenze in serie agli ingressi devono garantire livelli logici corretti agli ingressi, tenendo conto della corrente circolante negli stessi (minima nei circuiti MOS). – Nota R, il condensatore va calcolato per il ritardo voluto. 21/09/2015 - 25 © 2014 DDC ElapBe1 - 2014 DDC 25 21/09/2015 - 26 © 2014 DDC ElapBe1 - 2014 DDC 26 ElapBe1 21/09/2015 Altri esercizi • Esempi di esercizi risolti su circuiti sequenziali sono nell’archivio scritti di Sistemi Elettronici – Seguire: Materiale didattico > Scritti … Sistemi Elettronici Ogni scritto ha un esercizio di analogica, uno di digitale (circuiti con FF e porte), e domande a risposte chiuse • Le domande su reti sequenziali riguardano: – – – – Diagrammi temporali senza ritardi Diagrammi temporali con valutazione dei ritardi Valutazione della massima frequenza operativa Domande su argomenti trattati a “Sistemi e Tecn. Elettron.”: » Calcolo di resistenze di pull-up, verifiche di interfacciamento » Valutazione dei ritardi causati da carichi capacitivi 21/09/2015 - 27 © 2014 DDC ElapBe1 - 2014 DDC 27