Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
FLIP FLOP JK
Il flip-flop JK e simile al SR, ma presenta il vantaggio di non avere condizioni di corsa critica.
Infatti, l'ingresso j corrisponde all'ingresso s del SR, e l' ingresso k al reset r, e quando si ha in ingresso una
coppia di uno ( cioè j = k = 1) l'uscita commuta. Lo schema elettrico di un JK e rappresentato
in figura, e come si vede e ottenuto da un latch SR con l'aggiunta di un paio di porte AND a tre ingressi.
Il flip-flop JK e attivo solo in presenza di un segnale di clock a livello alto, come per il flip-flop SR.
Notiamo subito che con j = k = 0, le uscite s ed r delle porte P1 e P2 sono a livello basso, e pertanto il latch
SR tratteggiato non commuta. Di conseguenza, applicare j = k = 0 non fa commutare il flip-flop.
Figura: il flip – flop J
Supponiamo ora di avere le uscite y1 = 0, y2 = 1. Se poniamo j = 1 e k = 0, in presenza di un impulso di
clock otteniamo s = jy2ck = 1, r = ky1ck = 0, e cio fa commutare le uscite del SR ( e quindi anche del JK ),
ottenendo cosi nuovi valori y1 = 1, y2 = 0. Notiamo che se applichiamo gli ingressi j = 1 e k = 0 quando le
uscite sono y1 = 1, y2 = 0, otteniamo s = jy2ck = 0, r = ky1ck = 0, e le uscite non cambiano. Possiamo
pertanto dire, che con ingressi j = 1, k = 0 le uscite si portanto al valore y1 = 1, y2 = 0, oppure se hanno già
questo valore, rimangono invariate. Per ragioni di simmetria, possiamo dire che se applichiamo gli ingressi
j = 0, k = 1 le uscite si portano al valore y1 = 0, y2 = 1 oppure se hanno già questo valore, non variano.
Infine, supponiamo di avere y1 = 1, y2 = 0, e di applicare l'ingresso j = k = 1.
Si ha allora s = jy2ck = 0, r = ky1ck = 1 e cio porta le uscite al nuovo valore y1 = 0, y2 = 1.
Per simmetria, se si ha y1 = 0, y2 = 1, e si applica in corrispondenza dell' impulso di clock la combinazione di
ingresso j = k = 1, si ottiene s = 1, r = 0 e le uscite commutano, assumendo il nuovo valore y1 = 1, y2 = 0.
Notiamo che l'uscita y2 e sempre la negata di y1.
Figura: Tabella input – output del letch JK
Occorre tuttavia notare che se gli ingressi permangono ancora al valore j = k = 1, e l'impulso di clock non e
sufficientemente breve, si ha dopo pochi istanti una nuova commutazione delle uscite. Per questo motivo,
l'utilizzo di questo flip-flop e limitato ad impulsi di clock assai brevi; il segnale di clock non deve permanere
a livello alto dopo la commutazione.
Appunti di Giacomo Gargiulo, per info:
giacomo.gargiulo.made4Core@gmail.com Pag 12
Il JK master-slave
Questo flip-flop e ottenuto collegando in cascata due flip-flop Jk di cui il primo e attivo quando il clock è a
livello alto, ed il secondo quando il clock e a livello basso ( infatti nel secondo flip-flop è applicato in
ingresso alle porte P5 e P6 il segnale ck ).
Figura: Il flip-flop JK master-slave
Per capire il funzionamento del flip-flop, osserviamo che quando il clock si porta dal livello basso a quello
alto, lo slave e disabilitato, in quanto le porte P5 e P6 hanno uscita nulla, e pertanto le uscite del SR slave non
cambiano, mentre il clock è a livello alto, avviene la commutazione delle uscite ya ed yb del SR master, che
coincidono con gli ingressi j2 e k2 delle porte P5 e P6. Quando il clock si riporta a livello basso, risulta
abilitata la cella slave, le cui uscite commutano in base ai valori di j2 e k2, mentre risulta disabilitata la cella
master, che non commuta più, ciò elimina il fenomeno del rischio di commutazione multipla in presenza
degli ingressi j = k = 1. Per analizzarne meglio il funzionamento, siano inizialmente y1 = 1, y2 = 0.
Applichiamo agli ingressi la combinazione j = k = 1. Portiamo il clock a livello alto. In questo modo la cella
master è abilitata, quella slave no. L'uscita di P1 è r1 = y1kck = 1, mentre quella di P2 è s1 = y2jck = 0.
La cella SR master commuta, e le sue uscite ( coincidenti con gli ingressi di P5 e P6 ) saranno j2 = ya = 0,
k2 = yb = 1. Ricordando che il clock è a livello alto, e quindi ck = 0, le uscite di P5 e P6 sono a livello basso,
da cui si vede che lo slave non commuta e rimane per il momento disabilitato.
Se ora il clock si riporta a livello basso, viene disabilitata la cella master, mentre le uscite di P5 e P6
saranno: s2 = ckj2 = 0, r2 = ckk2 = 1. La cella slave commutera, e le sue uscite varranno y1 = 0, y2 = 1,
commutando come desiderato. La tabella del flip-flop master-slave rimane sempre la stessa, che vale per
tutti i flip-flop JK, con la sola differenza, che mentre il JK semplice commuta quando il clock e a livello
alto, i JK master-slave commutano sul fronte di discesa del clock.
FLIP FLOP D
Presenta un solo ingresso denominato D 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.6 si mostra il simbolo logico e la tabella della verità del flip –flop D.
Fig.6 – Flip-flop D e relativa tabella della verità.
Appunti di Giacomo Gargiulo, per info:
giacomo.gargiulo.made4Core@gmail.com Pag 13
Il flip flop D si puo’ realizzare a partire da flip flop JK utilizzando lo schema della Fig. 7
Fig. 7
In questa 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.8. - Diagramma degli stati del flip-flop JK
ABELLA DELLE TRANSIZIONI
T
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.9, la tabella delle transizioni del flip - flop JK. Essa si ricava dalla tabella della verità di
fig.4 o, indifferentemente, dal diagramma degli stati della precedente fig.8.
ig.9. - Tabella delle transizioni per un flip-flop JK.
F
Le celle in cui compare un bit coincidente col valore di
Qn ( celle con sfondo colorato ) 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 = 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.
Appunti di Giacomo Gargiulo, per info:
giacomo.gargiulo.made4Core@gmail.com Pag 14
Registri
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, come ad esempio i registri di memoria:
Un registro parallelo è costituito da un insieme di memorie da 1 bit che possono essere lette o scritte
• simultaneamente e vengono utilizzate per memorizzare i dati. In questo tipo di registro vengono
utilizzati generalmente i latch SR, dove un segnale di controllo regola la scrittura nel registro a partire
da linee specifiche di segnale.
Un registro a scorriemento, accetta e/o trasferisce le informazioni in modo seriale, cioè i dati sono
• in ingresso solo al flip – flop più a sinistra. Ad ogni impulso di clock, i dati vengono trasferiti verso
destra di una posizione, e il bit più a destra trasferito all' esterno.
Contatori
Un contatore è un registro in cui il valore viene incrementato di 1 modulo, la capacità stessa del registro.
n
Quindi un registro di n flip – flop può contare fino a 2 – 1. Quando si incrementa un contatore oltre il suo
valore massimo, il contatore assume il valore 0. Un esempio e dato dal program counter della CPU.
I contatori possono essere classificati in asincroni e sincroni, a seconda del loro modo di operare,
in quanto nei contatori asincroni, l' uscita di un flip – flop fa scattare un cambiamento di stato in quello
successivo, in un contatore sincrono, tutti i flip – flop cambiano il proprio stato contemporaneamente.
Ripple Counter
•
Un contatore asincrono detto anche ripple counter ( ovvero contatore di fonti d' onda )
In figura abbiamo l' implementazione di un contatore
da 4 bit realizzato con flip – flop J K, e un diagramma
temporale che ne illustra il comportamento.
Il diagramma è ideale, in quanto non indica i ritardi di
propagazione che si verificano nel trasferimento dei
segnali lungo i flip – flop.
L' uscita Qo fornisce il bit meno significativo.
Tale schema può essere esteso a n bit ponendo in
cascata altri flip – flop.
Il contatore è incrementato a ogni impulso di clock, gli
ingressi J e K di ogni flip – flop sono costantemente
mantenuti a 1, cio significa che, quando giunge un
impulso di clock l' uscita Q sarà invertita.
Dall' immagine possiamo notare che il cambiamento di
stato viene mostrato in concomitanza del fronte di
discesa dell' impulso di clock; questi componenti sono
noti come edge – triggered flip – flop, che consentono
un miglior controllo della temporizzazione nei circuiti
complessi.
Contatori sincroni
•
Lo svantaggio del ripple counter si manifesta nel ritardo di propagazione del segnale, legato al cambiamento
del valore che è proporzionato alla lunghezza del contatore asincrono. Per superare questo ritardo, le CPU,
fanno uso dei contatori sincroni, nei quali come abbimo già detto precedentemente, i flip – flop cambiano il
proprio stato contemporaneamente alla propagazione del segnale di clock.
Appunti di Giacomo Gargiulo, per info:
giacomo.gargiulo.made4Core@gmail.com Pag 15
Sistemi di numereazione
Sistema Decimale
•
Facciamo finta di non conoscere la rappresentazione decimale posizionale dei numeri esso è basato sulle
cifre 0,1,2,3,4,5,6,7,8,9. Consideriamo ad esempio il significato del nuemro 83, con esso si intende 8 decine
più 3 unità, ossia 83 = ( 8 * 10 ) + 3 . Si dice che il sistema decimale ha una base ( o radice )