|
|
Lezioni di Elettronica digitale
Indice: 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 sull'1.
I mattoni fondamentali dei circuiti logici sono, appunto, le porte logiche che sono in grado di soddisfare un'algebra 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. L'uscita assume il valore 0 oppure il
valore
1. Somma logica OR
Si effettua su due o più variabili, l'uscita 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 dall'uscita Y che soddisfa la definizione della porta OR.
2. Prodotto logico AND
Si effettua su due o più variabili, l'uscita 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=A·B 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 dall'uscita Y che soddisfa la definizione della porta AND.
3. Negazione
Si effettua su una sola variabile. L'uscita 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 dall'uscita Y che soddisfa la definizione della porta NOT.
4. Somma logica negata NOR
Si effettua su
due o più variabili, l'uscita assume lo stato logico 0 se almeno una variabile
di ingresso è allo stato logico
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 dall'uscita Y che soddisfa la definizione della porta NOR.
5. Prodotto logico negato NAND
Si effettua su
due o più variabili, l'uscita assume lo stato logico 0 se tutte le variabili di
ingresso sono allo stato logico
Per due variabili di ingresso A e B: Y = A·B 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 dall'uscita Y che soddisfa la definizione della porta NAND.
6. OR esclusivo XOR
A differenza delle precedenti porte logiche, l'XOR opera su due soli ingressi. L'uscita 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 dall'uscita Y che soddisfa la definizione della porta XOR.
7. NOR esclusivo XNOR
Anche la porta XNOR opera su due soli ingressi. L'uscita vale 1 se gli ingressi assumono valore uguale, vale 0 se gli ingressi sono tra loro diversi. La funzione logica si scrive: e si legge A nor esclusivo B oppure A coincidente con 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 XNOR. Nella colonna Y si sono posti i valori assunti dall'uscita 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, l'OR esclusivo XOR o circuito di anticoincidenza e il NOR esclusivo XNOR o circuito di coincidenza.
Le porte logiche fondamentali costituiscono i mattoni dell'elettronica 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, l'OR e l'AND.
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 l'AND è sufficiente far seguire la porta NAND da un NOT realizzato come in figura 1.
Per ottenere l'OR, 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.
L'uscita deve valere 1 se almeno due ingressi sono uguali ad 1. Se, invece, vale 1 un solo ingresso o nessuno di essi l'uscita 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 all'uscita Y il valore 0 o il valore 1.
Dalla tabella
osserviamo che l'uscita Y assume il valore
Nell'ultima combinazioni tutti gli ingressi sono a 1 per cui, a maggior ragione, risulta Y=1.
Per le altre combinazioni l'uscita Y vale 0 come richiesto dal problema.
Come si realizza il circuito? Sarà, innanzitutto, necessario ricavare l'espressione algebrica dalla tabella della verità.
Il procedimento è il seguente: si considerano le combinazioni delle variabili di ingresso che rendono l'uscita 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 l'uscita 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 dell'algebra di Boole che solo parzialmente coincidono con quelle dell'algebra 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 dell'espressione non cambia. L'altra 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 l'altro ABC aggiunto ed infine il terzo termine ha AB in comune con l'ultimo ABC aggiunto.
Attraverso la messa in evidenza si ottiene:
A + A=1 e così pure B + B = 1 e C + C = 1 , l'espressione si riduce a:
L'espressione 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 131b16b 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.
|
|
Fig.1 Tabella della verità e simbolo equivalente di un multiplexer a 4 ingressi.
La funzione di uscita Y del multiplexer vale:
Y = S1·S0·A + S1·S0·B + S1·S0·C + S1·S0·D
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 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
I livelli di tensione da applicare in ingresso sono:
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:
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 |
Tp(ns) |
PD(mW) |
IOH(uA) |
IOL(mA) |
IIH(uA) |
IIL(mA) |
fmax(MHz) |
|
|
|
|
|
|
|
|
54/74 L |
|
|
|
|
|
|
|
54/74 S |
|
|
|
|
|
|
|
54/74 LS |
|
|
|
|
|
|
|
54/74 AS |
|
|
|
|
|
|
|
54/74 ALS |
|
|
|
|
|
|
|
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:
L'uso dei dispositivi CMOS impone l'osservanza di alcune regole:
I livelli di tensione da applicare in ingresso sono:
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:
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
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 l'ultima di obsolescenza.
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:
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
|
LV |
LVC |
ALVC |
LVT |
ALB |
|
Vcc |
2.7V..5.5V |
2.7V..3.6V |
2.3V..3.6V |
2.3V..3.6V |
3.0V..3.6V |
|
Input Threshold Voltage |
Vcc/2 typ=1.65V |
Vcc/2 typ=1.65V |
Vcc/2 typ=1.65V |
1.4V |
None |
|
Output voltage |
VOH |
Vcc |
Vcc |
Vcc |
Vcc |
Vi-0.2V |
VOL |
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 |
|
x |
|
x |
|
|
Power on demand |
Not Needed |
Not Needed |
Not Needed |
x |
|
|
Bus Hold |
|
LVCH |
ALVCH |
LVTH |
|
|
Power-Uo-Tristate |
|
|
|
LVTZ and LVTH |
|
|
Maximum Static current |
IOH |
20m A |
20m A |
40m A |
190m A |
5.6mA per buffer |
IOZ |
20m A |
20m A |
40m A |
19m A |
0.8mA |
|
IOL |
20m A |
20m A |
40m A |
5mA |
5.6mA per buffer |
|
Typical propagation Delay |
9.0 ns |
4.0 ns |
2.2 ns |
2.4 ns |
|
|
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.
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
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 |
SN74HC |
SN74HCT |
SN74AHC |
SN74AHCT |
244 Buffer |
13ns |
15ns |
5.8ns |
5.4ns |
245 Transceiver |
15ns |
14ns |
5.8ns |
4.5ns |
373 Latch |
15ns |
20ns |
5ns |
5ns |
374 Flip-flop |
17ns |
20ns |
5.4ns |
5ns |
La potenza dissipata da un dispositivo CMOS dipende da tre fattori:
potenza dissipata a riposo Pq (quiescient power)
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:
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:
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 dell'uscita
Q .
Occorre precisare, inoltre, che in un dispositivo di memoria, l'uscita dipende
non solo dalla particolare combinazione assunta dalle variabili di ingresso ma
anche dallo stato precedente assunto dall'uscita 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é l'uscita conserva lo stato
precedente (Q=Qo).
Combinazione
SR=01.
Ponendo
R=1, l'uscita Q si porta a 0 indipendentemente dallo stato precedente.
Combinazione
SR=10.
Ponendo
S=1, l'uscita 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
l'1 (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 l'uscita 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 l'uscita 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 l'uscita Q della porta 2
va a 0 poiché l'ingresso 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é l'uscita Q precedentemente era stata portata a 0 (Qo=0), l'uscita della
porta 1 rimane a 1 e di conseguenza l'uscita della porta 2 rimane a 0 (Q=0).
Poniamo, ora: S=1 e
R=0. L'uscita della porta 1 va a 0 e di conseguenza, poiché R=0, l'uscita della
porta 2 si porta a 1: Q=1.
Torniamo nella combinazione di riposo portando S=0 e lasciando R=0.
Poiché l'uscita Q precedentemente era stata portata a 1 (Qo=1), l'uscita della
porta 1 rimane a 0 e di conseguenza l'uscita della porta 2 rimane a 1 (Q=1).
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ù l'una il complemento dell'altra, 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à l'1 in uscita prima dell'altra porta. In conclusione diventa aleatorio il valore dell'uscita Q che, pertanto, potrà trovarsi o a 0 o a 1. Anche per questo motivo è bene evitare l'applicazione dell'ultima 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 l'eventuale
cambiamento di stato di un flip-flop non si fa coincidere con l'istante in cui
si modificano i valori dei bit di ingresso ma con l'istante in cui un ulteriore
ingresso, detto ingresso di sincronismo o ingresso di clock e denominato con la
sigla CK, va da
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 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:
PET quando il clock passa da
NET quando il clock passa da
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+
X rappresenta indifferentemente sia lo stato logico 0 che lo stato logico 1.
|
|
|
|
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
l'uscita 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.
|
|
|
|
|
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
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 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 l'ingresso di clock l'uscita assume lo stesso valore
applicato all'ingresso D. In assenza di comando di clock l'uscita conserva lo
stato precedente indipendentemente dal valore applicato all'ingresso D.
In fig.7 si mostra il simbolo logico e la tabella della verità del flip -flop
D.
Il flip-flop D rappresenta l'elemento 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à.
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.
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.
|
|
Fig.11.
- Tabella delle transizioni per un flip-flop JK. |
La funzione minimizzata che si ricava dalla precedente tabella delle transizioni prende il nome di equazione caratteristica e vale:
Qn+1 = J·Qn + K·Qn
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
d'esempio si mostra in fig.12 un flip-flop SR con ingressi in logica negativa
realizzato 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 flip-flop S R a porte NAND.
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
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
Fig.15 - Contatore a 3 bit con visualizzazione su un display.
Gli impulsi di
clock CK si applicano all'ingresso CLK del flip-flop JK denominato U1A. L'uscita
Q del flip-flop U1A si applica all'ingresso CLK del flip-flop U2A e,
analogamente, l'uscita Q del secondo flip-flop si applica all'ingresso 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 l'uscita 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 l'applicazione di successivi impulsi di
clock:
Applicando tali
linee ad un display dotato di circuito di decodifica interno si avrà sul
visualizzatore la comparsa delle cifre da
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).
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.
|
|
|
Il display visualizza il |
|
Il display visualizza il |
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.
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
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 |
|
FUNZIONAMENTO DOWN |
||||
CK |
Q3Q2Q1 |
N |
|
CK |
Q3Q2Q1 |
N |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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;
J2=Q1, K2=Q1 per il secondo flip-flop;
J3=Q2·Q1, K3=Q2·Q1 per il flip - flop più significativo.
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;
J3 = K3 = Q2·Q1 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 = Q1·U/D + Q1·U/D per il secondo flip - flop;
J3 = K3 = Q2·Q1·U/D +Q2· Q1·U/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 Q2·Q1 e Q2·Q1 .
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.
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.
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:
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.
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.
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
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
Privacy |
Articolo informazione
Commentare questo articolo:Non sei registratoDevi essere registrato per commentare ISCRIVITI |
Copiare il codice nella pagina web del tuo sito. |
Copyright InfTub.com 2024