Sei sulla pagina 1di 33

a cura del prof. Giuseppe Spalierno docente di Elettronica e Sistemi presso l'I.T.I.

"Modesto PANETTI" di BARI ultima versione - dicembre 2003

Lezioni di Elettronica digitale

Indice: 1. 2. 3. 4. 5. 6. 7.
Porte logiche - parte prima Porte logiche - parte seconda Multiplexer Famiglia logica TTL Flip-flop Contatore asincrono BCD Contatore sincrono UP/DOWN modulo 8

Le porte logiche (parte prima)


Premessa Le principali parti elettroniche dei computer sono costituite da circuiti digitali che, come noto, elaborano segnali logici basati sullo 0 e sull1. I mattoni fondamentali dei circuiti logici sono, appunto, le porte logiche che sono in grado di soddisfare unalgebra particolare, detta algebra binaria, sviluppata dallo scienziato George Boole (1815-1864). In questo semplice articolo si introdurranno le porte logiche fondamentali in grado di svolgere le operazioni di somma, prodotto e negazione indicate, rispettivamente, con OR (somma logica), AND (prodotto logico) e NOT (negazione o complementazione). Si descriveranno, inoltre, le porte logiche derivate NOR (OR seguito da un NOT), NAND (AND seguito da un NOT), XOR (noto come OR esclusivo o circuito di anticoincidenza), XNOR (noto come NOR esclusivo o circuito di coincidenza). Ogni porta logica ha una o pi variabili di ingresso ed una sola variabile di uscita. Le variabili di ingresso e di uscita sono di tipo digitale per cui possibile inserire in una tabella tutte le possibili combinazioni che si possono verificare tra le variabili di ingresso. Luscita assume il valore 0 oppure il valore 1 in corrispondenza di ciascuna combinazione delle variabile di ingresso in funzione della definizione assegnata. 1. Somma logica OR Si effettua su due o pi variabili, luscita assume lo stato logico 1 se almeno una variabile di ingresso allo stato logico 1. Nel caso di due variabili di ingresso A e B, detta Y la variabile di uscita, si scrive: Y=A+B e si legge A or B. Nella seguente figura si mostra la tabella della verit con le quattro possibili combinazioni tra A e B ed il simbolo logico relativo ad una porta OR a due ingressi. Nella colonna Y si sono posti i valori assunti dalluscita Y che soddisfa la definizione della porta OR.

2. Prodotto logico AND Si effettua su due o pi variabili, luscita assume lo stato logico 1 solo se tutte variabile di ingresso sono allo stato logico 1. Nel caso di due variabili di ingresso A e B, detta Y la variabile di uscita, si scrive: Y=AB e si legge A and B. Nella seguente figura si mostra la tabella della verit con le quattro possibili combinazioni tra A e B ed il simbolo logico relativo ad una porta AND a due ingressi. Nella colonna Y si sono posti i valori assunti dalluscita Y che soddisfa la definizione della porta AND.

3. Negazione Si effettua su una sola variabile. Luscita assume il valore logico opposto a quello applicato in ingresso. Detta A la variabile di ingresso la negazione si scrive: Y = A e si legge A negato oppure A complementato. Nella seguente figura si mostra la tabella della verit con le due possibili combinazioni di A ed il simbolo logico relativo ad una porta NOT. Nella colonna Y si sono posti i valori assunti dalluscita Y che soddisfa la definizione della porta NOT.

4. Somma logica negata NOR Si effettua su due o pi variabili, luscita assume lo stato logico 0 se almeno una variabile di ingresso allo stato logico 1. In tutti gli altri casi Y=1. Per due variabili di ingresso A e B: Y= A+B e si legge A nor B. Nella seguente figura si mostra la tabella della verit con le quattro possibili combinazioni tra A e B ed il simbolo logico relativo ad una porta NOR a due ingressi. Nella colonna Y si sono posti i valori assunti dalluscita Y che soddisfa la definizione della porta NOR.

5. Prodotto logico negato NAND

Si effettua su due o pi variabili, luscita assume lo stato logico 0 se tutte le variabili di ingresso sono allo stato logico 1. In tutti gli altri casi Y=1. Per due variabili di ingresso A e B: Y = AB e si legge A nand B. Nella seguente figura si mostra la tabella della verit con le quattro possibili combinazioni tra A e B ed il simbolo logico relativo ad una porta NAND a due ingressi. Nella colonna Y si sono posti i valori assunti dalluscita Y che soddisfa la definizione della porta NAND.

6. OR esclusivo XOR A differenza delle precedenti porte logiche, lXOR opera su due soli ingressi. Luscita vale 1 se gli ingressi assumono valore diverso, vale 0 se gli ingressi sono tra loro uguali. La funzione logica si scrive: e si legge A or esclusivo B oppure A diverso da B. Nella seguente figura si mostra la tabella della verit con le quattro possibili combinazioni tra A e B ed il simbolo logico relativo ad una porta XOR. Nella colonna Y si sono posti i valori assunti dalluscita Y che soddisfa la definizione della porta XOR.

7. NOR esclusivo XNOR Anche la porta XNOR opera su due soli ingressi. Luscita vale 1 se gli ingressi assumono valore uguale, vale 0 se gli ingressi sono tra loro diversi. La funzione logica si scrive: esclusivo B oppure A coincidente con B. e si legge A nor

Nella seguente figura si mostra la tabella della verit con le quattro possibili combinazioni tra A e B ed il simbolo logico relativo ad una porta XNOR. Nella colonna Y si sono posti i valori assunti dalluscita Y che soddisfa la definizione della porta XNOR.

Le porte logiche
(parte seconda)

Le porte logiche esaminate nel numero scorso si dividono in porte logiche fondamentali e porte logiche derivate. Quelle fondamentali sono: somma logica OR, prodotto logico AND e negazione NOT. Le porte logiche derivate sono: la somma logica negata NOR, il prodotto logico negato NAND, lOR esclusivo XOR o circuito di anticoincidenza e il NOR esclusivo XNOR o circuito di coincidenza. Le porte logiche fondamentali costituiscono i mattoni dellelettronica digitale. Con esse possibile realizzare qualsiasi circuito digitale dal pi semplice al pi complesso. , inoltre, possibile verificare che anche con le sole porte NOR o con le sole porte NAND possibile realizzare qualsiasi circuito digitale. sufficiente, infatti, verificare che con le sole porte NAND, ad esempio, si pu realizzare il NOT, lOR e lAND. Infatti collegando tra loro gli ingressi A e B della porta NAND come in figura 1 si ottiene il NOT:

Fig.1 - NOT realizzato con una porta NAND. Per ottenere lAND sufficiente far seguire la porta NAND da un NOT realizzato come in figura 1. Per ottenere lOR, infine sufficiente far precedere ciascun ingresso del NAND da un NOT come in fig.2. Infatti, per il noto teorema di De Morgan, la somma logica il complemento del prodotto dei complementi.

Fig.2 - OR realizzato con porte NAND.

Progettazione di un semplice circuito digitale combinatorio. Si vuole realizzare un circuito digitale combinatorio con tre ingressi A B C ed una uscita Y. Luscita deve valere 1 se almeno due ingressi sono uguali ad 1. Se, invece, vale 1 un solo ingresso o nessuno di essi luscita Y deve valere 0 (problema della maggioranza). Risoluzione Compiliamo una tabella, nota come tabella della verit, in cui in ciascuna riga applichiamo le possibili combinazioni binarie tra gli ingressi A B C. Tali combinazioni sono: 23=8. In corrispondenza di ciascuna di esse sar possibile, grazie alla formulazione del problema, assegnare alluscita Y il valore 0 o il valore 1. Dalla tabella osserviamo che luscita Y assume il valore 1 in corrispondenza delle combinazioni ABC pari a 011, 101, 110 e 111. Nellultima combinazioni tutti gli ingressi sono a 1 per cui, a maggior ragione, risulta Y=1. Per le altre combinazioni luscita Y vale 0 come richiesto dal problema.

Come si realizza il circuito? Sar, innanzitutto, necessario ricavare lespressione algebrica dalla tabella della verit. Il procedimento il seguente: si considerano le combinazioni delle variabili di ingresso che rendono luscita Y uguale a 1. La combinazione di ingresso da considerare conterr il prodotto tra A B C e ciascuna variabile sar considerata in forma naturale o in forma negata a seconda se assume il valore 0 o 1. La prima combinazione che rende luscita uguale a 1 : ABC=011, cio A=0, B=1 e C=1. Allora A dovr essere considerata in forma negata (complementata), mentre B e C in forma naturale (cio senza negazione). I quattro termini che rendono la variabile di uscita Y uguale a 1 devono, poi, essere sommati (somma logica !!) tra di loro. In definitiva si ottiene:

Questa espressione si pu semplificare algebricamente applicando le regole dellalgebra di Boole che solo parzialmente coincidono con quelle dellalgebra ordinaria.

In particolare, per la semplificazione che si intende effettuare, si applica la regola che aggiungendo quante volte si vuole un termine gi esistente in una espressione, il valore dellespressione non cambia. Laltra regola che la somma logica tra una variabile e la stessa variabile negata vale 1. Nel nostro caso aggiungiamo, nella espressione della funzione Y, il termine ABC per altre due volte. In tal caso il primo termine ha BC in comune con ABC, il secondo ha AC in comune con laltro ABC aggiunto ed infine il terzo termine ha AB in comune con lultimo ABC aggiunto. Attraverso la messa in evidenza si ottiene:

A + A=1 e cos pure B + B = 1 e C + C = 1 , lespressione si riduce a:

Lespressione cos minimizzata una somma di prodotti. Il circuito logico da realizzare sar costituito da tre porte AND a due ingressi e da una porta OR finale a tre ingressi. In fig.3 si mostra il circuito risolutivo.

Fig.3 - Circuito risolutivo. Per verificarne il funzionamento sufficiente attribuire alle variabili di ingresso A B C ciascuna delle otto combinazioni mostrate nella precedente tabella ed eseguendo la somma logica tra i tre termini prodotto BC, AC e AB.

I multiplexer
a cura del prof. Giuseppe Spalierno docente di Elettronica e Sistemi presso l'I.T.I. "Modesto PANETTI" di BARI

Sono dispositivi in grado di trasferire in uscita una sola di 2n possibili linee di ingresso. La selezione della linea di ingresso da traferire in uscita dipende da n linee di controllo. Il multiplexer assimilabile ad un commutatore a posizioni multiple; la posizione dipende dai bit di controllo. Si mostra in fig.1 la tabella della verit e il simbolo equivalente di un multiplexer a 4 ingressi A B C D e 2 linee di controllo (o selezione) S1 e S0.

Ingressi di selezione S1 0 0 1 1 S0 0 1 0 1

uscita Y A B C D

Fig.1 Tabella della verit e simbolo equivalente di un multiplexer a 4 ingressi. La funzione di uscita Y del multiplexer vale: Y = S1S0A + S1S0B + S1S0C + S1S0D Nel caso di un multiplexer a due ingressi P1 e P2 ed un ingresso di selezione S, l'uscita Y assume la seguente espressione, trasformata applicando il teorema di De Morgan:

Il circuito logico risolutivo, realizzato a porte NAND, mostrato in fig.2.

Fig.2 Multiplexer a due ingressi realizzato nella logica a porte NAND.

In commercio sono disponibili circuiti integrati che contengono multiplexer a 2 ingressi, 4 ingressi, 8 ingressi e 16 ingressi. Il multiplexer 74157 contiene 4 MUX a 2 ingressi, il 74153 contiene 2 MUX a 4 ingressi, il 74151 contiene 1 MUX a 8 ingressi. Si riporta, in fig.3, la piedinatura dei citati multiplexer.

Fig.3 Piedinatura di 3 multiplexer della famiglia logica TTL.

Cenni sulle famiglie logiche TTL e CMOS


1. Generalit I dispositivi digitali vengono suddivisi in famiglie logiche ciascuna delle quali differisce dalle altre per la tecnologia utilizzata e per il circuito di base con cui si realizzano le porte logiche. Nell'ambito della stessa famiglia logica vi sono diverse serie atte a migliorare alcune caratteristiche elettriche rispetto ad altre. Le famiglie logiche pi utilizzate sono la TTL (Transistor -Transistor Logic) e la CMOS (Complementary MOS). La prima prende il nome di TTL per la presenza di transistor sia nello stadio di ingresso che di uscita. La seconda si chiama CMOS perch fa uso di MOSFET (Transistor ad Effetto di Campo MOS, Metallo Ossido Semiconduttore). 2. Famiglia logica TTL Tutti i circuiti integrati della famiglia logica TTL sono alimentati con Vcc=+5V, sono caratterizzati da un numero di serie che ha, come cifre iniziali, 74 (serie commerciale che funziona tra 0 e 70C) o 54 (serie militare che funziona tra -55 e +125C). I livelli di tensione da applicare in ingresso sono: VIL compreso tra 0 e +0.8V per il riconoscimento del livello logico basso; VIH compreso tra +2V e +5V per il riconoscimento del livello logico alto.

I valori di tensione compresi tra 0.8V e 2V individuano una zona di indeterminazione che bene non utilizzare.

I livelli di tensione che si ottengono in uscita sono: VOL compreso tra 0 e 0.4V con corrente di sink IOL<16mA VOH compreso tra 2.4V e circa 4V con corrente di source IOH< 400A.

Fig.1 Disposizione di un NOT TTL per la valutazione della tensione e corrente di ingresso e di uscita. In fig.1 si mostra una porta NOT pilotata con un generatore di tensione che fornisce in ingresso una tensione V1 = VIL e V2 = VIH e i relativi versi delle correnti IIL, IIH, IOH, IOL. Sono indicate, inoltre, le tensioni di uscita VOH e VOL. Si riportano nella tabella 1 le caratteristiche pi importanti delle diverse serie della famiglia logica TTL ricordando che: L la serie a basso consumo (Low power), ormai obsoleta; S la serie che impiega i veloci transistor Schottky; LS la serie che riunisce le due precedenti caratteristiche (Low power Schottky); AS la serie S tecnologicamente Avanzata; ALS la serie LS tecnologicamente Avanzata. Tabella 1 Serie 54/74 54/74 L 54/74 S 54/74 LS 54/74 AS 54/74 ALS Tp(ns) 10 30 3 10 3 5 PD(mW) 10 1 20 2 14 1 IOH(uA) 400 200 1000 400 2000 400 IOL(mA) 16 3.6 20 8 20 8 IIH(uA) 40 10 50 20 20 20 IIL(mA) 1.6 0.18 2 0.4 0.5 0.1 fmax(MHz) 35 3 125 45 200 50

10

3. Famiglia logica CMOS I circuiti integrati appartenenti alla famiglia logica CMOS (Complementary MOS) utilizzano al loro interno transistor MOSFET a canale N ed a canale P, quindi di tipo complementare. La caratteristica fondamentale di un componente CMOS la ridottissima potenza dissipata in condizioni statiche: circa 10nW per porta logica e un ampio intervallo di valori di tensione di alimentazione: da 3V a 15V. In commercio sono disponibili diverse serie della famiglia logica CMOS che di seguito si elencano: CD4000 ormai obsoleta; 74C compatibile, nella piedinatura, ai corrispondenti integrati della famiglia logica TTL; 74HC e 74HCT come la precedente ma con tempi di propagazione ridotti (intorno a 10-15ns) e valori di alimentazione da 2V a 6V (HC) e 5V (HCT) 74AHC simile alla famiglia HC ma con prestazioni "Avanzate".

L'uso dei dispositivi CMOS impone l'osservanza di alcune regole: La tensione applicata in ingresso deve essere compresa tra 0 e Vcc; I piedini di ingresso non devono essere mai inutilizzati: essi vanno collegati al livello logico alto o basso; Il terminale di uscita pu essere collegato direttamente a massa o all'alimentazione senza il pericolo di avarie poich lo stadio di uscita di tipo resistivo, cio si pu assimilare ad un generatore di tensione avente in serie una resistenza; La tensione di soglia di commutazione circa la met della tensione di alimentazione applicata.

I livelli di tensione da applicare in ingresso sono: VIL compreso tra 0 e +Vcc/3 per il riconoscimento del livello logico basso; VIH compreso tra +2Vcc/3 e +Vcc per il riconoscimento del livello logico alto.

I valori di tensione compresi tra Vcc/3 e 2Vcc/3 individuano una zona di indeterminazione che bene non utilizzare. I livelli di tensione che si ottengono in uscita, in assenza di carico applicato, sono: VOL = 0 ; VOH = Vcc.

Le correnti di ingresso IIL e IIH sono praticamente nulle perch l'ingresso dei transistor MOSFET presenta resistenza infinita. Le correnti di uscita IOL e IOH dipendono dalla particolare serie CMOS utilizzata e comunque generalmente non superano il valore di alcuni milliampere. 4. Le moderne famiglie logiche In questi ultimi anni si sono rese disponibili sul mercato numerose altre famiglie logiche molto pi efficienti della classica TTL e della classica CMOS serie 4000 e serie 74C. Le tecnologie utilizzate per queste nuove famiglie logiche sono ancora di tipo CMOS e di tipo BICMOS (transistor bipolari e CMOS) aventi, come caratteristiche particolarmente interessanti, un ridottissimo autoconsumo ed elevata frequenza di funzionamento. In particolare, si citano le famiglie logiche a bassa tensione di alimentazione (famiglie logiche Low Voltage), tipicamente a +3.3V, con elevati valori di corrente di carico e compatibili con i livelli logici delle famiglie alimentate a +5V. In fig.2 si mostra un grafico che illustra la posizione occupata, dalle varie famiglie logiche, nel tipico ciclo di vita in cui si evidenzia una fase di introduzione, una di crescita, una di maturit, una di declino e lultima di obsolescenza.

11

La figura tratta dalla documentazione fornita dalla Texas Instruments. Dalla figura si nota che le nuove famiglie logiche hanno una tecnologia di tipo CMOS o BICMOS e sono a bassa tensione. Le sigle riportate hanno il seguente significato: LV Low Voltage CMOS. ALV Advanced Low Voltage CMOS ABT Advanced BICMOS Technology Le cause che hanno spinto i costruttori a realizzare famiglie logiche alimentate con bassi valori di tensione sono sostanzialmente riassunte nei seguenti punti: La riduzione orizzontale e verticale della geometria del wafer dei moderni dispositivi integrati a semiconduttori richiede una pi bassa tensione di alimentazione pena la possibilit di breakdown dell'ossido del MOS. Ci potrebbe rendere il dispositivo inutilizzabile. I costruttori di apparecchi elettronici alimentati a pile chiedono componenti elettronici a bassa dissipazione di potenza. La potenza consumata, come noto, dipende dai carichi elevati, direttamente proporzionale alla frequenza di lavoro, ed proporzionale al quadrato della tensione di alimentazione. Il ridotto consumo di potenza riscalda di meno i componenti e ci consente di evitare l'uso di ingombranti e costosi dissipatori di calore e permette la realizzazione di dispositivi a maggior grado di integrazione.

Fig.2 Stato attuale delle famiglie logiche nel ciclo di vita. Le caratteristiche elettriche delle famiglie logiche a bassa tensione di alimentazione sono sostanzialmente simili a quelle delle corrispondenti famiglie logiche alimentate a 5V. Se ne riportano alcune in tabella 2. Tabella 2

12

LV

LVC

ALVC

LVT

ALB

Vcc Input Threshold Voltage Output voltage VOL VOH

2.7V..5.5V Vcc/2 typ=1.65V Vcc

2.7V..3.6V Vcc/2 typ=1.65V Vcc

2.3V..3.6V Vcc/2 typ=1.65V Vcc

2.3V..3.6V 1.4V Vcc

3.0V..3.6V None Vi-0.2V

0V

0V

0V

0V

Vi+0.2V

Output current

IOH

-8mA

-24mA

-24mA

-32mA

-25mA

IOL

8mA

24mA

24mA

64mA

25mA

Input and Output tolerate 5V Power on demand Not Needed

Not Needed

Not Needed

Bus Hold

LVCH

ALVCH

LVTH

Power-Uo-Tristate

LVTZ and LVTH

Maximum Static current

IOH IOZ IOL

20m A 20m A 20m A 9.0 ns

20m A 20m A 20m A 4.0 ns

40m A 40m A 40m A 2.2 ns

190m A 19m A 5mA 2.4 ns

5.6mA per buffer 0.8mA 5.6mA per buffer

Typical propagation Delay Maximum Propagation Delay

14.0 ns

6.5 ns

4.0 ns

3.9 ns

In fig.3 si riportano i livelli di tensione di ingresso, uscita e della soglia di commutazione delle famiglie logiche a bassa tensione e delle famiglie logiche a 5V TTL e CMOS.

13

Fig.3 Confronto dei livelli delle famiglie logiche a bassa tensione con quelli delle famiglie TTL e CMOS a 5V.

Tralasciando la descrizione delle altre caratteristiche elettriche e degli schemi interni, concludiamo questa nota riportando, nella successiva fig.4, un grafico che individua la posizione delle varie famiglie logiche in un piano avente per assi la corrente di alimentazione e il tempo di ritardo di propagazione. Una buona famiglia logica deve potersi collocare nelle immediate vicinanze dell'origine degli assi, posizione occupata dalle tecnologie ACL, BCT e ABT. Si consideri, infine, che queste nuove famiglie logiche non contengono tutti i circuiti logici come la TTL; alcune sono specializzate come bus driver e quindi annoverano integrati con array di buffer invertenti o non invertenti con uscite tristate o array di flip-flop D anch'essi con uscita tristate.

14

Fig.4 5. Famiglia logica AHC La famiglia logica CMOS ad alta velocit in tecnologia avanzata (AHC) una delle ultime apparse sul mercato ed unisce alla bassa potenza dissipata, tipico della CMOS, una elevata velocit di funzionamento. La famiglia logica AHC consiste di porte logiche elementari, di integrati della media scala e di dispositivi ottali (driver e flip-flop per collegamenti a bus a 8 bit). La famiglia logica AHC quasi tre volte pi veloce della HC poich il tipico tempo di ritardo di propagazione di circa 5.2ns, presenta bassi valori di rumore, non presenta problemi di overshoot e di undershoot, dissipa una potenza inferiore rispetto alla HC, presenta una capacit di carico di 8mA per Vcc=5V e 4mA per Vcc=3.3V. Si mostra nella tabella 3 i valori del tempo di ritardo di propagazione di alcuni tipici dispositivi della famiglia logica AHC comfrontati con quelli della famiglia logica HC. Tabella 3 Dispositivo 244 Buffer 245 Transceiver 373 Latch 374 Flip-flop SN74HC 13ns 15ns 15ns 17ns SN74HCT 15ns 14ns 20ns 20ns SN74AHC 5.8ns 5.8ns 5ns 5.4ns SN74AHCT 5.4ns 4.5ns 5ns 5ns

La potenza dissipata da un dispositivo CMOS dipende da tre fattori: potenza dissipata a riposo Pq (quiescient power)

15

potenza dissitapa in transitorio Pt (transient power) potenza dissipata capacitiva Pc (capacitive power)

La potenza dissipata a riposo Pq dipende dalla tensione di alimentazione Vcc e dalla corrente Icc che scorre a riposo nel dispositivo. In formule si ha: Pq = Vcc x Icc Poich Icc molto bassa, Pq spesso trascurabile. La potenza dissipata in transitorio Pt dipende dalla corrente che fluisce nei transistor interni quando essi commutano da un livello logico all'altro. Durante questo tempo i due transistor dello stadio finale sono parzialmente in conduzione e ci produce un piccolo spike di corrente che viene ripetuto, in un secondo, un numero di volte pari alla frequenza fi di input. L'intensit di corrente dipende dalla tensione di alimentazione Vcc e la potenza dissipata, quindi, dal quadrato della corrente. La durata di ciascuno di questi spikes dipende anche dalla rapidit di commutazione dei transistor e quindi dalla capacit parassita Cpd (power dissipation capacitance). In formule si ha: Pt = Cpd x Vcc2 x fi

La potenza dissipata capacitiva Pc dipende dalla carica e dalla scarica di capacit esterne CL e dipende dalla frequenza di commutazione fo secondo la formula: Pc = CL x Vcc2 x fo

FLIP -FLOP
a cura del prof. Giuseppe Spalierno docente di Elettronica e Sistemi presso l'I.T.I. "Modesto PANETTI" di BARI ultima versione: dicembre 2003

1. Premessa I flip flop sono circuiti digitali sequenziali che hanno il compito di memorizzare un bit. Un circuito digitale si dice sequenziale se l'uscita dipende dagli ingressi applicati e dallo stato precedente della stessa uscita. Un circuito sequenziale, pertanto, deve ricordare il suo stato precedente e quindi deve possedere uno o pi elementi di memoria. I circuiti digitali si dividono in due fondamentali categorie:

1. combinatori (il valore dell'uscita dipende solo dal valore dei bit applicati in ingresso); 2. sequenziali (il valore dell'uscita dipende anche dal suo stato precedente).
I flip-flop sono noti, anche, come multivibratori bistabili perch ciascuno degli stati logici 0 e 1 pu essere reso stabile nel tempo. I multivibratori si dividono in:

1. astabili (nessuno stato stabile - ad esempio i generatori di onde quadre); 2. monostabili (un solo stato stabile - ad esempio i temporizzatori); 3. bistabili (due possibili stati stabili - ad esempio una cella di memoria).

16

2. Flip-flop SR (Set-Reset) Il pi semplice dispositivo di memoria il flip-flop Set-Reset. Esso possiede due ingressi denominati Set e Reset ed una uscita indicata con Q. I circuiti digitali che realizzano il flip flop sono dotati, spesso, anche delluscita Q . Occorre precisare, inoltre, che in un dispositivo di memoria, luscita dipende non solo dalla particolare combinazione assunta dalle variabili di ingresso ma anche dallo stato precedente assunto dalluscita Q. Tale stato precedente verr indicato con Qo. 2.1. Flip-flop SR con porte NOR Alla luce di quanto detto si mostra in figura 1 il simbolo logico, la tabella della verit e la soluzione circuitale a porte logiche NOR di un flip-flop S-R.

Fig.1 Flip-flop S-R. Simbolo, tabella della verit e soluzione circuitale con porte NOR. Combinazione SR=00. Essa nota come combinazione di riposo poich luscita conserva lo stato precedente (Q=Qo). Combinazione SR=01. Ponendo R=1, luscita Q si porta a 0 indipendentemente dallo stato precedente. Combinazione SR=10. Ponendo S=1, luscita Q si porta a 1 indipendentemente dallo stato precedente. Combinazione SR=11. Tale combinazione va evitata poich da un punto di vista logico una incongruenza: infatti non ha senso comandare il flip-flop per memorizzare lo 0 (R=1) oppure l1 (S=1). Tale flip-flop viene spesso utilizzato per funzionare nel modo seguente. Se si vuole memorizzare 1 si pone: S=1 e R=0. Successivamente si torna nello stato di riposo: S=0 e R=0. In tal caso luscita conserva lo stato precedente: Q=Qo=1. Se si vuole memorizzare 0 si pone: S=0 e R=1. Successivamente si torna nello stato di riposo: S=0 e R=0. In tal caso luscita conserva lo stato precedente: Q=Qo=0. Verifichiamo, infine, che il circuito realizzato con le porte NOR in figura 1 si comporta da flip-flop S-R. Dobbiamo ricordare, a tal fine, la tabella della verit della porta NOR (somma logica negata). Ponendo S=0 e R=1 si deve verificare che Q=0. Infatti luscita Q della porta 2 va a 0 poich lingresso R=1. La porta 1 risulta pilotata con gli ingressi uguali a 0 per cui la sua uscita va a 1. Si noti che le due uscite sono complementari tra loro. Torniamo nella combinazione di riposo portando R=0 e lasciando S=0. Poich luscita Q precedentemente era stata portata a 0 (Qo=0), luscita della porta 1 rimane a 1 e di conseguenza luscita della porta 2 rimane a 0 (Q=0). Poniamo, ora: S=1 e R=0. Luscita della porta 1 va a 0 e di conseguenza, poich R=0, luscita della porta 2 si porta a 1: Q=1. Torniamo nella combinazione di riposo portando S=0 e lasciando R=0. Poich luscita Q precedentemente era stata portata a 1 (Qo=1), luscita della porta 1 rimane a 0 e di conseguenza luscita della porta 2 rimane a 1 (Q=1).

17

Se, infine applichiamo S=1 e R=1, le uscite di entrambe le porte andranno a 0. Conseguenze: le due uscite, in questo caso, non sono pi luna il complemento dellaltra, ed inoltre portando contemporaneamente S ed R a 0 entrambe le uscite si porteranno ad 1 e poi a 0 e cos via. In realt, a causa dei diversi tempi di ritardo di propagazione del segnale elettrico in ciascuna porta, uno dei due NOR propagher l1 in uscita prima dellaltra porta. In conclusione diventa aleatorio il valore delluscita Q che, pertanto, potr trovarsi o a 0 o a 1. Anche per questo motivo bene evitare lapplicazione dellultima combinazione della tabella della verit: S=1 e R=1. 2.2. Flip-flop a porte NAND Si riporta in fig.2 lo schema logico del flip-flop realizzato a porte NAND. Qui gli ingressi sono indicati con le lettere A e B che, sostanzialmente, si comportano come gli ingressi S ed R del precedente flip-flop a porte NOR con la differenza che gli ingressi sono attivi in logica negativa. In altre parole i flip-flop di fig.1 e di fig.2 coincidono nella funzione logica purch si ponga: A=S, B=R Ponendo AB=10 si realizza la funzione di reset per cui l'uscita Q si porta a 0. Ponendo AB=01 si realizza la funzione di set per cui l'uscita Q si porta a 1. Ponendo AB=11 si realizza la funzione di memoria per cui l'uscita conserva il precedente valore memorizzato. AB=00 la combinazione da evitare sia per incongruenza logica sia perch porterebbe entrambe le uscite al valore 1 e quindi non sarebbero una il complemento dell'altra.

Fig.2 Flip-flop S-R con porte NAND. Soluzione circuitale e tabella della verit .

3. Flip-flop sincronizzati Spesso leventuale cambiamento di stato di un flip-flop non si fa coincidere con listante in cui si modificano i valori dei bit di ingresso ma con listante in cui un ulteriore ingresso, detto ingresso di sincronismo o ingresso di clock e denominato con la sigla CK, va da 1 a 0 oppure da 0 a 1. Un flip-flop che funziona col clock prende il nome di flip-flop sincronizzato. I flip-flop esaminati nelle figure 1e 2, invece, essendo privi di ingresso di clock, sono denominati flip-flop Set Reset asincroni. Il flip-flop si dice attivo sul livello quando il clock caratterizzato da un livello logico (0 o 1) applicato all'omonimo ingresso. Il flip-flop si dice attivo su fronti (edge triggered) quando l'eventuale modifica dello stato di uscita dipende dal

18

fronte positivo o di salita (PET = Positive Edge Triggered) o dal fronte negativo o di discesa (NET = Negative Edge Triggered). Sui dice, anche, che l'uscita si aggiorna nel:

1. PET quando il clock passa da 0 a 1; 2. NET quando il clock passa da 1 a 0.

Fig.3 - Flip-flop sensibili ai livelli ed alle transizioni. Il flip-flop "a" sensibile al livello logico 1 e funziona nell'intervallo di tempo t. Il flip-flop "b" sensibile al livello logico 0 durante il tempo t. Il flip-flop "c" di tipo PET e funziona solo nell'istante t1. Il flip-flop "d", infine, di tipo NET e funziona solo nell'istante t1.

3.1. Flip-flop S-R sincronizzato In fig.4 si mostra lo schema logico del flip-flop Set Reset sincronizzato. Esso costituito da due porte logiche NAND, dette porte pilota, e da altre due porte NAND che realizzano il flip-flop S R vero e proprio del tipo mostrato nella precedente fig.2. Se il clock CK al livello logico 1 le porte pilota si comportano da NOT e quindi gli ingressi S ed R sono effettivamente coincidenti con gli omonimi ingressi del generico flip-flop Set Reset. Se, invece, il clock CK al livello logico basso, le uscite delle due porte pilota sono al livello logico 1 indipendentemente dai valori applicati agli ingressi S e R. Per tale combinazione la "latch" a porte NAND conserva lo stato precedente e quindi il flip flop insensibile ai comandi esterni applicati. Nella tabella della verit si riporta l'uscita futura Qn+1 in funzione del clock, degli ingressi S ed R e dallo stato presente Qn. X rappresenta indifferentemente sia lo stato logico 0 che lo stato logico 1.

19

CK 0 0 1 1 1 1 1 1 1

S X X 0 0 0 0 1 1 1

R X X 0 0 1 1 0 0 1

Qn Qn+1 0 0 1 1 0 0 1 1 0 0 1 0 0 1 1 1 da evitare

Fig.4. - Flip-flop SR sincronizzato con porte NAND. U1A e U1B costituiscono le porte pilota. Le porte U1C e U1D rappresentano il flip-flop vero e proprio. Con Qbar si indica l'uscita Q (Q barrata).

4. Flip-flop JK Il flip-flop JK un dispositivo a due entrate denominate J e K che operano in modo analogo alle entrate S ed R di un flip-flip Set Reset con la differenza che se : J=1 e K=1 luscita commuta, cio se lo stato presente 0, lo stato futuro 1 e viceversa. Per evitare commutazioni multiple, nel caso si lasci a lungo la combinazione J=1 e K=1, tale flip-flop deve essere necessariamente sincronizzato.

20

J 0 0 0 0 1 1 1 1

K 0 0 1 1 0 0 1 1

Qn Qn+1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0

Fig.5. Flip-flop JK e tabelle della verit. A destra si mostra la tabella della verit che prescinde dalla presenza del clock e che mostra l'uscita futura in presenza degli ingressi esterni J e K e dallo stato presente Qn. In fig.5 si mostrano due flip-flop JK sincronizzati. Il primo adegua le uscite quando al clock si applica un segnale digitale che passa da 0 a 1 (transizione positiva indicata con una freccia verso lalto nella tabella della verit). Il secondo adegua le uscite quando al clock si applica un segnale digitale che passa da 1 a 0 (transizione negativa indicata con una freccia verso il basso nella tabella della verit). Il primo flip flop JK si dice di tipo PET (Positive Edge Triggered), il secondo, invece, si dice di tipo NET (Negative Edge Triggered). I flip-flop JK si realizzano con una soluzione circuitale costituita da porte logiche secondo uno schema interno pi complesso rispetto a quello visto per il flip-flop SR realizzato a porte NOR e a porte NAND. Si mostrano, in fig.6, i simboli logici e le tabelle della verit di due diversi flip-flop JK, il primo di tipo PET ed il secondo di tipo NET, con ingressi asincroni di preset (PRE) e di cleear (CLR).

Fig.6 - Simbolo del flip-flop JK PET e relativa tabella della verit ( a sinistra); simbolo del flip-flop JK NET e relativa tabella della verit ( a destra). Si noti il simbolo del clock nei due casi. La maggior parte dei flip-flop integrati presentano, inoltre, ingressi asincroni di preassegnazione a 1 (PRE) e/o di azzeramento (CLR clear). Quelli indicati in figura sono attivi bassi: se, ad esempio, si applica un livello logico

21

basso sulla linea PRE, il flip-flop memorizza 1 indipendentemente dal clock; se, invece, si applica un livello logico basso sulla linea CLR, il flip-flop memorizza 0 indipendentemente dal clock.

5. Flip-flop D Presenta un solo ingresso denominato D. Spesso di tipo sincronizzato e funziona nel seguente modo: quando attivo lingresso di clock luscita assume lo stesso valore applicato allingresso D. In assenza di comando di clock luscita conserva lo stato precedente indipendentemente dal valore applicato allingresso D. In fig.7 si mostra il simbolo logico e la tabella della verit del flip flop D. Il flip-flop D rappresenta lelemento fondamentale delle memorie centrali degli elaboratori ( almeno a livello concettuale).

Fig.7 Flip-flop D e relativa tabella della verit.

6. Flip-flop T E' un flip-flop avente una sola entrata denominata T e le solite due uscite: Q e la sua complementata Q. L'uscita Q conserva lo stato precedente se T=0 e commuta se T=1 quando si applica il segnale di clock. I flip-flop T, al contrario dei JK, D e SR, non sono disponibili commercialmente in forma integrata poich si possono ottenere direttamente dai flip-flop JK semplicemente collegando tra loro gli ingressi J e K. E' utilizzato come dispositivo divisore di frequenza di clock per due e nei contatori digitali. Si mostra in fig.8 il collegamento di un flip-flop NET di tipo JK per ottenere un flip-flop di tipo T e la relativa tabella della verit.

22

Fig.8 - Simbolo del flip-flop T e relativa tabella della verit. Dalla tabella si nota che solo quando il clock passa dal livello logico alto al livello logico basso si ha: Qn+1=Qn se T=0 e Qn+1=Qn se T=1.

7. Diagramma degli stati Le possibili modalit di funzionamento di un flip-flop e, pi in generale, di qualsiasi circuito digitale con uno o pi flip-flop, possono essere descritte in diverse modalit: tabella della verit, equazione caratteristica, tabella delle transizioni, diagramma degli stati. Le varie modalit sono tra loro perfettamente equivalenti per cui da ciascuna rappresentazione possibile ricavare qualsiasi altra. In questa sede si vuole ricavare il diagramma degli stati del flip-flop J-K. Il procedimento per ricavare il diagramma degli stati degli altri flip-flop del tutto equivalente. Intanto diciamo subito che per diagramma degli stati si intende una rappresentazione grafica dei vari stati o valori logici che il sistema digitale sequenziale pu assumere. Nel caso del singolo flip-flop, che possiede una sola uscita Q, i possibili stati sono due: 0 e 1. I due valori si inseriscono in altrettanti cerchietti ognuno dei quali rappresenta il punto di arrivo o il punto di partenza di un arco orientato che rappresenta la transizione dello stato interno del circuito. L'arco orientato condizionato dagli ingressi esterni che, per il flip-flop JK, sono gli ingressi J e K.

Fig.9. - L'arco orientato individua il passaggio di stato condizionato dagli ingressi J e K In fig.10 si mostra il diagramma degli stati del flip-flop JK. Per poterlo costruire si tenuta presente la tabella della verit rappresentata nella parte destra della fig.5. Per ogni combinazione si tiene conto dei valori degli ingressi J e K e di quelli dello stato presente Qn e futuro Qn+1. Per la prima combinazione, ad esempio, si ha: J=K=0 e Qn=Qn+1=0. Si deve disegnare, pertanto, un arco orientato che parte dallo stato 0 (stato presente Qn) e termina nello stesso stato 0 (stato futuro Qn+1). Si procede con lo stesso ragionamento per le altre combinazioni. Per l'ultima combinazione si ha: J=K=1, Qn=1 e Qn+1=0. L'arco orientato parte dallo stato 1 e termina nello stato 0. Sull'arco orientato si scrivono i due valori degli ingressi J e K: 11.

23

Fig.10. - Diagramma degli stati del flip-flop JK.

8. Tabella delle transizioni Si indica col nome di tabella delle transizioni la mappa di Karnaugh in cui si inseriscono i valori che assume lo stato futuro Qn+1 dell'uscita in funzione degli ingressi e dello stato presente Qn. Nel caso del flip-flop JK gli ingressi da considerare sono J e K. Si mostra, in fig.11, la tabella delle transizioni del flip-flop JK. Essa si ricava dalla tabella della verit di fig.5 o, indifferentemente, dal diagramma degli stati della precedente fig.10. JK 00 Qn 0 0 0 1 1 01 11 10 Fig.11. - Tabella delle transizioni per un flipflop JK. Le celle in cui compare un bit coincidente col valore di Qn (celle con sfondo giallo) rappresentano uno stato stabile poich un impulso di clock non modifica lo stato di uscita Q. Sono stabili i due stati della prima colonna (JK=00), lo stato superiore della seconda colonna e lo stato inferiore della quarta colonna. Gli altri sono stati instabili.

La funzione minimizzata che si ricava dalla precedente tabella delle transizioni prende il nome di equazione caratteristica e vale: Qn+1 = JQn + KQn Essa si ricava raggruppando le due celle adiacenti della prima riga in cui compare 1 e le due celle della seconda riga poste in prima e quarta colonna.

9. Applicazioni dei flip-flop I flip-flop trovano applicazione in tutti i circuiti digitali sequenziali, cio in quei circuiti in cui le uscite, oltre a dipendere dagli ingressi esterni, dipendono anche dallo stato interno assunto in precedenza. In altre parole trova applicazione in tutti i dispositivi di memoria: contatori, centralina dei cancelli automatici, ascensori, lavatrici, antifurto, generatori di sequenze binarie e, in particolare, in tutte le applicazioni di automazione industriale. 9.1. Comandi separati di marcia e di arresto A titolo desempio si mostra in fig.12 un flip-flop SR con ingressi in logica negativa realizzato

24

con due porte NAND comandato da due pulsanti, normalmente aperti, indicati con PM e PA. Il circuito consente i comandi separati per la marcia e l'arresto di apparati di potenza. Quando i pulsanti sono nello stato di riposo, gli ingressi del flip-flop sono al livello logico alto: l'uscita conserva lo stato precedente. Per mettere in marcia il circuito di potenza, ovvero porre Q=1, si deve pigiare il pulsante di marcia PM. Ci provoca il collegamento a massa del pin 1 e quindi l'uscita Q si porta al livello logico alto: il circuito di potenza viene attivato. Rilasciando il pulsante l'uscita conserva lo stato Q=1 e l'impianto rimane in marcia. Per arrestare l'impianto si deve pigiare il pulsante di arresto PA. Ci provoca il collegamento a massa del piedino 5 e quindi Q=0. L'impianto si arresta. Rilasciando il pulsante l'uscita conserva lo stato Q=0 e l'impianto rimane nello stato di arresto.

Fig.12. - Flip-flop SR per la marcia e l'arresto di apparati. 9.2. Circuito antirimbalzo Una variante del circuito precedente consente la realizzazione di un circuito in grado di sopprimere rimbalzi meccanici dovuti ai contatti mobili di interruttori. I rimbalzi multipli, infatti, generano un numero imprecisato di impulsi indesiderati che potrebbero far funzionare in modo anomalo il circuito dipendente dall'interruttore. Si pensi, ad esempio, al contatore "elimina code" dei supermercati. Quando il salumiere preme il pulsante, il display a due cifre deve mostrare il numero successivo a quello corrente grazie alla presenza di un circuito contatore digitale. Se, per, l'interruttore non protetto da circuito antirimbalzo, alla pressione dello stesso da parte del salumiere, si generano pi impulsi che verrebbero conteggiati e quindi anzich visualizzare il numero successivo, vedremmo sui display un numero sicuramente pi grande. Se, ad esempio, il display mostra il numero 30 ed alla pressione dell'interruttore si generano 5 impulsi, il successivo numero visualizzato sul display sar 35 anzich 31. Un possibile circuito antirimbalzo si realizza con lo schema logico di fig.13 che impiega un flipflop S R a porte NAND.

25

Fig.13.- Il deviatore seguito dal flip-flop prende il nome di interruttore antirimbalzo. Il deviatore pu assumere due posizioni: A e B. Il contatto mobile collegato alla massa e perci porta il livello logico 0 all'ingresso collegato. Supponiamo che il deviatore passi da A a B e successivamente ritorni nella posizione A.

Fig.14. - Forme d'onda nei punti A, B e sull'uscita Q. Nell'istante t1 il contatto mobile lascia il punto A e questo si porta al livello logico 1. Nell'istante t2, terminata la sua corsa, il contatto mobile tocca il punto B che si porta al livello 0. A causa della sua elasticit, la lamella vibra causando gli impulsi visibili tra gli istanti t2 e t3. In t3 la lamella tocca definitivamente il punto B. Nell'istante t4 si decide di riportare l'interruttore nella posizione A. Quando in t4 il contatto mobile lascia il punto B, questo si porta a 1 e nell'istante t5 raggiunge per la prima volta il punto A che si porta a zero. A causa dell'elasticit della lamella del contatto mobile, si creano su A delle vibrazioni che generano gli impulsi visibili sulla linea A nell'intervallo di tempo compreso tra t5 e t6. In t6 il contatto

26

mobile tocca definitivamente il punto A che rimane definitivamente al livello logico. Nella fig.14 si supposto che il rimbalzo meccanico produca 3 impulsi spuri prima di raggiungere definitivamente il livello logico 0. Esaminando le forme d'onda di A e B nei vari intervalli di tempo, si deduce facilmente la forma d'onda dell'uscita Q che, come si vede nella fig.14, esente dai rimbalzi meccanici.

9.3 Contatore a tre bit Si mostra in fig.15 un collegamento tra 3 flip-flop JK NET che realizzano un contatore binario a tre bit capace di mostrare su un display, ciclicamente, cifre da 0 a 7 sotto lapplicazione di un fronte di discesa applicato al clock.

Fig.15 Contatore a 3 bit con visualizzazione su un display. Gli impulsi di clock CK si applicano allingresso CLK del flip-flop JK denominato U1A. Luscita Q del flip-flop U1A si applica allingresso CLK del flip-flop U2A e, analogamente, luscita Q del secondo flip-flop si applica allingresso CLK del flip-flop U3A. Gli ingressi J e K di tutti i flip-flop sono tenuti ad 1 per cui ad ogni fronte di discesa applicato agli ingressi CLK luscita Q cambia di stato. Indicando con Q3 Q2 Q1 le uscite dei 3 flip-flop e supponendo 000 lo stato iniziale del contatore si ha, dopo lapplicazione di successivi impulsi di clock: 001, 010, 011, 100, 101, 110, 111 Applicando tali linee ad un display dotato di circuito di decodifica interno si avr sul visualizzatore la comparsa delle cifre da 0 a 7. Dopo il 7 riapparir nuovamente lo 0 e cos via. Le linee CLR, se portate allo 0 logico, azzerano il contatore indipendentemente dal clock (comando asincrono).

27

9.4. Flip-flop D per la rivelazione del verso di rotazione di un disco. Su un disco metallico vengono praticate due fenditure semicircolari sfalsate fra di loro di 1/4 di giro come si mostra nella fig.16. Da parti opposte al disco sono inserite due sorgenti di luce (diodi LED) e due fotorivelatori S1 e S2 in grado di trasformare in forma binaria le zone opache e trasparenti delle semicorone circolari A e B (00 01 11 10).

Fig.16. - Encoder e flip flop per il rilievo del verso di rotazione. Applicando il bit B all'ingresso D del flip-flop ed il bit A all'ingresso di clock, l'uscita Q in grado di rivelare il verso di rotazione del disco. Infatti nel caso in cui il disco ruota in senso orario si ottiene per il bit A e B la seguente sequenza: AB = 00 01 11 10. Se, invece, il disco ruota in senso antiorario, si ottiene: AB = 00 10 11 01. In fig.17 si mostrano le forme d'onda da cui si deduce che, nel caso di rotazione in senso orario, i fronti di salita applicati al clock durante gli istanti t1, t2, ... vedono la linea B applicata all'ingresso D di valore 1 e quindi si ottiene Q=1, viceversa durante la rotazione antioraria i fronti di salita presenti all'ingresso di clock durante gli istanti t3, t4,... vedono la linea D al valore 0 e quindi Q=0.

Fig.17. - Forme d'onda.

28

Contatore sincrono UP/DOWN mod.8


a cura del prof. Giuseppe Spalierno docente di Elettronica e Sistemi presso l'I.T.I. "Modesto PANETTI" di BARI

Il display visualizza il contenuto del contatore. Contatore in avanti mod.8

Il display visualizza il contenuto del contatore. Contatore indietro mod.8

1. Premessa Un contatore digitale si dice sincrono se il clock esterno applicato simultaneamente agli ingressi di clock di tutti i flip - flop che lo costituiscono. Un contatore mod.8 in avanti (UP) consente di ottenere, in forma binaria, la sequenza di numeri compresi tra 0 e 7, come si mostra nel diagramma degli stati di fig.1, cio le configurazioni binarie comprese tra 000 e 111. Sono, pertanto, necessari 3 flip-flop che sceglieremo di tipo J-K non importa se PET (Positive Edge Triggered) o NET (Negative Edge triggered).

Fig.1 Diagramma degli stati per un contatore UP mod.8. Un contatore mod.8 indietro (DOWN) consente di ottenere, in forma binaria, la sequenza di numeri compresi tra 7 e 0, come si mostra nel diagramma degli stati di fig.2, cio le configurazioni binarie comprese tra111 e 000. Sono, pertanto, necessari 3 flip-flop che sceglieremo di tipo J-K non importa se PET (Positive Edge Triggered) o NET (Negative Edge triggered).

Fig.2 Diagramma degli stati per un contatore down mod.8.

29

Un contatore UP/DOWN consente di comandare la sequenza di conteggio in senso crescente (UP) o decrescente (DOWN). Il contatore UP (in avanti) a tre bit conta da 0 a 7; il contatore DOWN (indietro) conta da 7 a 0. Una linea digitale esterna U/D consente di selezionare la direzione del conteggio. Si mostra, di seguito, la tabella delle transizioni che il contatore deve rispettare.

Tabella delle transizioni per un contatore UP ed un contatore DOWN entrambi binari a 3 bit FUNZIONAMENTO UP (linea U/D=0) CK 0 1 2 3 4 5 6 7 8 9 10 11 12 Q3Q2Q1 000 001 010 011 100 101 110 111 000 001 010 011 100 N 0 1 2 3 4 5 6 7 0 1 2 3 4 FUNZIONAMENTO DOWN (linea U/D=1) CK 0 1 2 3 4 5 6 7 8 9 10 11 12 Q3Q2Q1 111 110 101 100 011 010 001 000 111 110 101 100 011 N 7 6 5 4 3 2 1 0 7 6 5 4 3

2. Equazioni di funzionamento Il metodo di progettazione dei contatori sincroni porta alle seguenti funzioni da applicare agli ingressi J e K dei flip-flop utilizzati. a) contatore sincrono binario UP a 3 bit: J1=1, K1=1 per il flip-flop meno significativo; per il secondo flip-flop; per il flip - flop pi significativo.

J2=Q1, K2=Q1 J3=Q2Q1, K3=Q2Q1

b) contatore sincrono binario DOWN a 3 bit: J1 = K1 = 1 per il flip-flop meno significativo; J2 = K2 = Q1 per il secondo flip-flop;

30

J3 = K3 = Q2Q1

per il flip - flop pi significativo.

c) contatore sincrono binario UP/DOWN a 3 bit: J1 = K1 = 1 per il flip-flop meno significativo (come nei casi precedenti); J2 = K2 = Q1U/D + Q1U/D per il secondo flip - flop; J3 = K3 = Q2Q1U/D +Q2 Q1U/D per il flip -flop pi significativo.

In altre parole, gli ingressi del secondo flip -flop J2 e K2 sono pilotati dall'uscita di un MUX (multiplexer) i cui due ingressi (Q1 e Q1) sono le uscite del primo flip -flop e gli ingressi del terzo flip-flop J3 e K3 sono pilotati dall'uscita di un altro MUX avente come ingressi Q2Q1 e Q2Q1 .

3. Simulazione con il programma DesignLab Ev.8 della MicroSim o PSpice 9.2 In fig.3 si mostra lo schema elettrico realizzato in ambiente Schematic.

Fig.3 Schema logico del contatore sincrono UP/DOWN a tre bit.

Particolare attenzione merita il MUX realizzato tramite il comando DRAW/BLOCK. Dopo aver editato il comando DRAW/BLOCK appare, sul foglio di lavoro, la sagoma di un rettangolo che, successivamente si potr ridimensionare a piacere. Il blocco cos definito assume il nome HR1 che possiamo cambiare, ad esempio, in MUX1 semplicemente cliccando due volte in rapida successione sul testo HR1. Il blocco deve possedere tre ingressi che chiameremo P1, P2, S e una uscita che chiameremo Y. Per definire queste 4 linee digitali sufficiente disegnare una linea dalla sinistra del blocco fino all'interno del blocco: il programma disegna un nodo sul lato sinistro del blocco che denomina P1 (ci sta bene). Ripetiamo il tracciamento di una linea pi in basso dall'esterno all'interno del blocco. Il programma denomina P2 il nodo che fa apparire. Tracciamo ancora una linea che termina sul lato inferiore del blocco e il nodo P3 inserito dal programma lo rinominiamo S. Tracciamo, infine, una linea che termina sul lato destro del blocco e il nodo P4 lo denominiamo Y.

31

Terminato il disegno del blocco si procede alla realizzazione dello schema logico che lo rappresenta. Facciamo doppio click in rapida successione all'interno della sagoma del blocco. Ci viene chiesto di definire il nome del file che conterr il circuito logico che ci apprestiamo a sviluppare. Decidiamo di chiamare tale file col nome MUX.SCH. Ci appare un foglio vuoto di Schematic che presenta, per, quattro connettori di nome P1, P2, S e Y. Realizziamo lo schema elettrico come quello mostrato in fig.4.

Fig.4 Realizzazione a porte NAND di un MUX a 2 ingressi. Al termine della realizzazione del circuito di fig.4 si ritorna al livello superiore, nello schema di fig.3, tramite il comando NAVIGATE/POP. Poich ci servono due multiplexer, procediamo selezionando il blocco MUX1 (click all'interno del blocco) e ricorriamo al copia ed incolla. Il secondo blocco, ovviamente, sar ridenominato come MUX2. 4. Impostazione della simulazione Per ottenere il generatore di clock DSTM1 avente all'interno la dicitura CLK, si attiva il comando DRAW/GET NEW PART (oppure CTRL+G) e si digita, nel campo part name, DigClock. Doppio click nel DigClock per definire ONTIME=0.5us e OFFTIME=0.5us (peraltro gi preimpostati). La linea U/D, per la selezione della direzione del conteggio, viene applicata all'ingresso S dei due MUX ed definita da un altro generatore di clock, DSTM2 avente ONSTATE=10us e OFFSTATE=10us. In tal modo il contatore conter in avanti per 10 impulsi di clock e indietro per altri 10 impulsi di clock nell'intervallo di tempo di 20 us. Se si decide di inizializzare a zero i flip-flop il contatore assumer i seguenti valori come mostrato in fig.5. Per ottenere la simulazione del funzionamento come in fig.3 fare come segue:

1. 2. 3. 4. 5. 6.

si attiva il comando ANALYSIS/SETUP, si clicca sul pulsante DIGITAL SETUP; nella maschera flip - flop initialization si attiva all 0 ; si clicca su OK; si abilita la casella transient; si clicca sul pulsante transient e si definiscono i seguenti valori: 1. print step = 200ns; 2. final time= 20us; 7. si termina con OK e successivamente con CLOSE. Si pu procedere alla simulazione attivando il comando ANALYSIS/SIMULATE (oppure il tasto funzione F11). Se tutto stato realizzato correttamente si entra in Probe e, tramite il comando Trace add, si inseriscono le linee indicate sulla parte sinistra della fig.5.

32

Fig.5 Forme d'onda del contatore sincrono UP/DOWN a tre bit ottenute col programma Probe. Si osservi, infine, che per ottenere la rappresentazione in decimale del valore delle linee Q3 Q2 Q1, queste ultime devono essere rappresentate in un gruppo delimitato dalle parentesi graffe. Dall'esame delle forme d'onda si evince che, quando U/D=0, il contatore conta in avanti e si incrementa quando il segnale di clock compie la transizione negativa (passaggio dallo stato logico alto a quello basso); quando, invece, U/D=1 il contatore conta indietro e si decrementa, anche in questo caso, durante la transizione negativa del clock. 5. Osservazioni Un'analisi pi attenta dei risultati porta ad osservare degli spike nella configurazione decimale del contatore in corrispondenza del passaggio da un numero dispari ad un numero pari durante il conteggio UP e del passaggio da un numero pari ad un numero dispari durante il conteggio DOWN. Ci dovuto ai diversi tempi di ritardo di propagazione dei flip-flop: tpLH=16ns e tpHL=25ns (tipici valori della TTL standard. Le serie commerciali TTL pi moderne presentano tempi di ritardo di propagazione pi brevi). Il passaggio, ad esempio, dal numero 1 (001) al 2 (010) durante il conteggio UP, comporta la contemporanea commutazione da parte di Q2 e Q1. In questo caso Q2 pi veloce perch per passare da 0 a 1 impiega 16ns mentre Q1 prima di passare da 1 a 0 impiega 25ns. Per 9ns risultano a 1 sia Q2 che Q1. In tale intervallo di tempo il contatore fornisce il valore 011 che corrisponde a 3. Riassumendo: nonostante il contatore sia sincrono, si ottiene per quasi il 50% delle commutazioni, una non corretta modalit di conteggio. Abbiamo appena visto che il passaggio da 1 a 2 avviene secondo la sequenza 1 - 3 - 2; lo stato 3 instabile e decade spontaneamente nello stato 2 dopo un tempo di 9ns (decisamente trascurabile per la maggior parte delle applicazioni

33