Strumenti Utente

Strumenti Sito


sezione_5c

5C - Registri

1 Classificazione

Un registro è una memoria da n bit realizzata con dei flip-flop. Un registro permette di memorizzare temporaneamente un dato digitale - parola o word - ed è particolarmente utile in tutte quelle operazioni dove è necessario trasferire dati tra ingressi e uscite. Vengono utilizzati - sia come integrati che realizzati all'interno di componenti più complessi - in tantissime applicazioni, dai decoder ai contatori - per mantenere temporaneamente i dati - ai microprocessori - per conservare operandi e risultati di operazioni.

Tra i registri si distinguono quelli a scorrimento dove i dati vengono caricati nel primo FF e, ad ogni fronte del clock, si spostano (scorrono) in quello successivo.

Registro SISO

La figura 1 mostra un registro a scorrimento con ingresso seriale e uscita seriale (serial input serial output). Il circuito comprende quattro flip-flop JK, comandati dallo stesso segnale di clock. I FF sono di tipo D 1) e il dato presente nell'ingresso IN scorre verso l'uscita ad ogni fronte del clock. Questo registro memorizza una parola di 4 bit; i dati entrano in modo seriale - uno dopo l'altro - ed escono dall'uscita, sempre in modo seriale, dopo 4 fronti del clock. E' presente un ingresso CL (clear attivo basso) per azzerare la memoria.

Registro SIPO

La figura 2 mostra un registro a scorrimento con ingresso seriale e uscita parallela (serial input parallel output). Lo schema è simile al precedente ma l'uscita viene prelevata in parallelo - tutti i bit contemporaneamente - quando le quattro porte AND vengono abilitate dal segnale RE (read enable) dopo il caricamento dei quattro bit. Naturalmente occorre gestire i segnali di clock e abilitazione per evitare di prelevare i dati nel momento sbagliato o evitare che vengano cambiati durante la lettura.

Registri PISO

La figura 3 mostra un registro a scorrimento con ingresso parallelo e uscita seriale (parallel input serial output). Lo schema riprende quelli precedenti ma in questo caso il dato viene caricato attraverso le porte NAND abilitate dall'ingresso WE (write enable). Inoltre l'ingresso J del primo FF è collegato allo zero logico. Il funzionamento è questo:

  • quando WE è alto si abilitano contemporaneamente le quattro NAND
  • i quattro bit da I3 a I0, se valgono 1, attivano gli ingressi PR (preset) dei FF memorizzando il valore 1
  • i bit di ingresso con valore 0 non attivano PR e il valore memorizzato da FF corrispondente vale 0 perché precedentemente azzerato
  • dopo quattro fronti del clock il dato viene trasmesso in modo seriale all'uscita
  • mentre il dato scorre verso l'uscita i FF vengono azzerati perché il primo, collegato da flip-flop D, ha l'ingresso a massa

Registro PIPO

La figura 4 mostra un registro con ingresso parallelo e uscita parallelo (parallel input parallel output). Non si tratta di un registro a scorrimento; infatti i quattro FF non sono collegati tra loro e il dato digitale, inserito contemporaneamente con gli ingressi da I3 a I0 quando WE è attivo, viene trasmesso alle uscite da Q3 a Q0 in modo parallelo dopo un fronte del clock.

Extra

  • non solo teoria 1: dado elettronico (registro SISO con cinque bit a 0 e un bit a 1 con l'uscita collegata all'ingresso; interrompendo il clock il bit a 1 si trova in una posizione casuale tra le 6)

2 Dispositivi commerciali

Il testo propone l'integrato 74LS595, un registro da 8 bit che funziona sia come SISO e PIPO. Lo schema circuitale è mostrato in figura 8. Si riconosce un registro con ingresso e uscita seriale realizzato con DFF; il dato entra dall'ingresso SER e scorre verso il basso ad ogni fronte di salita del clock seriale SCK. Un altro segnale di clock, RCK, permette il trasferimento degli otto bit dal registro seriale (SISO) a quello parallelo (PIPO) posto alla sua destra. Il segnale di controllo attivo basso `bar G` abilita le uscite, che altrimenti sono nello stato di alta impedenza. E' presente anche l'ingresso asincrono `bar {SCLR}` che azzera il contenuto del registro seriale quando è posto al livello basso.

Osserviamo che:

  • l'uscita seriale permette il collegamento in cascata di più integrati
  • le sigle che identificano ingressi e uscite possono essere diverse nei datasheet
  • le correnti in uscita sono sufficienti per pilotare dei LED (20mA per uscita, 70mA in totale)
  • l'impiego principale per questo tipo di registro è la conversione seriale-parallela

Non ci soffermiamo sugli altri dispositivi proposti, il registro PISO 74597 e l'ancora più versatile 74194, che consente tutti i possibili funzionamenti da registro.

Extra

  • tutorial per Arduino che spiega come pilotare 8 LED con solo tre pin sfruttando il registro 74HC595

3 Applicazioni dei registri

Le applicazione più ovvie per i registri PISO e SIPO sono la conversione parallelo-serie e serie-parallelo. Un registro SISO può essere usato anche per ritardare un segnale, come mostrato in figura 7: il dato esce dal registro dopo averlo attraversato e quindi dopo un certo numero di fronti del clock.

Ricordando le proprietà dei numeri binari è possibile usare il registri a scorrimento per dividere o moltiplicare per due (o per le potenze del due). Infatti traslando un numero binario a destra lo si divide per due (0100 diventa 0010, ovvero 4 diventa 2) mentre traslandolo a sinistra si ottiene un valore doppio (0011 diventa 0110, ovvero 3 diventa 6). I circuiti di figura 8 e 9 mostra due possibili implementazioni per numeri da quattro bit.

Un'altra applicazione è quella di figura 12 dove un registro PISO e SISO insieme viene usato per caricare una parola di quattro bit che poi viene ripetuta ciclicamente (l'uscita seriale è collegata all'ingresso seriale).

Torna all'indice.

1)
è ovvio per il primo, gli altri tre “copiano” il primo
This website uses cookies for visitor traffic analysis. By using the website, you agree with storing the cookies on your computer.More information
sezione_5c.txt · Ultima modifica: 2019/03/21 17:49 da admin