- Cos'è il registro a turni:
- Tipi di registri nell'elettronica digitale
- 1. Serial in - Serial out Shift Registers
- 2. Serial in - Parallel out Shift Register
- 3. Parallel in - Serial out Registro a turni
- 4. Parallel in - Registro a scorrimento parallelo in uscita
- 5. Registri di scorrimento bidirezionali
- 6. Contatori
- Applicazioni dei registri a scorrimento
Cos'è il registro a turni:
I registri a scorrimento sono circuiti logici sequenziali, in grado di memorizzare e trasferire dati. Sono costituiti da Flip Flop collegati in modo tale che l'uscita di un flip flop possa servire come ingresso dell'altro flip-flop, a seconda del tipo di shift register che si sta creando.
I registri di scorrimento sono fondamentalmente un tipo di registro che ha la capacità di trasferire dati ("spostamento"). I registri sono genericamente dispositivi di memorizzazione che vengono creati collegando un numero specifico di flip flop insieme in serie e la quantità di dati (numero di bit) che possono essere memorizzati dal registro è sempre direttamente proporzionale al numero di flip flop, poiché ogni flip flop è in grado di memorizzare solo un bit alla volta. Quando i flip-flop di un registro sono collegati in modo tale che l'uscita di un flip flop diventa l'ingresso dell'altro, viene creato un registro a scorrimento.
I flip flop sono dispositivi con un'operazione simile a quella di un latch. Può essere definito un vibratore bistabile che può spostarsi tra due stati (0 o 1) ed è in grado di memorizzare dati in bit. I nuovi dati vengono letti in un flip flop ad ogni ciclo di clock e i dati precedenti inviati all'uscita.
I registri a turni Comprendono di quali infradito?
Ciò tuttavia dipende dal tipo di flip flop, poiché la relazione di input, output e ciclo di clock tra i flip flop varia. Esistono diversi tipi di flip flop, ma i più comunemente usati nella creazione di registri a scorrimento sono i flip flop D (Delay).
Per il funzionamento dei flip flop D che li rende così desiderabili per i registri a scorrimento, ogni volta che si verifica un cambiamento sul clock di un flip flop D (fronte di salita o di discesa, a seconda delle specifiche del flip flop). I dati all'uscita “Q” diventano gli stessi dati all'ingresso “D”. L'uscita “Q” del flip flop rimarrà a quel valore fino al ciclo di clock successivo, dove cambierà nuovamente al valore (alto o basso, 1 o 0) all'ingresso.
Ora che sappiamo cosa sono i registri Sift, procederemo con un'immersione più profonda nei tipi di flip-flop e nelle loro applicazioni. Ma prima, per dare un'esposizione più pratica su dove vengono utilizzati i registri a scorrimento, diamo un'occhiata al popolare registro a scorrimento 74HC595 che abbiamo utilizzato con diversi microcontrollori per interfacciare un display o una sequenza di LED.
- Shift Register con 74HC595 con Arduino per controllare una sequenza di LED
- Registro a scorrimento con ESP32 per interfacciare il display a 7 segmenti
- Shift Register con Raspberry Pi per controllare più LED
- Registro a scorrimento con PIC per controllare la sequenza dei LED
Tipi di registri nell'elettronica digitale
I registri a scorrimento sono classificati in tipi principalmente in base alla loro modalità di funzionamento, seriale o parallela.
Esistono sei (6) tipi di base di registri a scorrimento elencati di seguito, sebbene alcuni di essi possano essere ulteriormente suddivisi in base alla direzione del flusso di dati: spostamento a destra o spostamento a sinistra.
1. Serial in - Serial out Shift Register (SISO)
2. Serial In - Parallel out shift Register (SIPO)
3. Parallel in - Parallel out Shift Register (PIPO)
4. Parallel in - Serial out Shift Register (PISO)
5. Registri di scorrimento bidirezionali
6. Contatori
1. Serial in - Serial out Shift Registers
Serial in - I registri a scorrimento in uscita seriale sono registri a scorrimento che trasmettono i dati in modo seriale (un bit per ciclo di clock) e trasmettono anche i dati nello stesso modo, uno dopo l'altro.
Sopra è mostrato un semplice registro a scorrimento a 4 bit serial in - serial Out, il registro è composto da 4 flip flop e il modo in cui funziona è spiegato di seguito;
All'avvio, il registro a scorrimento viene prima cancellato, forzando le uscite di tutti i flip flop a zero, i dati di ingresso vengono quindi applicati all'ingresso in modo seriale, un bit alla volta.
Esistono due modi di base per trasferire i dati tramite un registro a scorrimento SISO;
- Lettura non distruttiva
- Lettura distruttiva
- Lettura non distruttiva
Basati sulla lettura non distruttiva, i registri a scorrimento hanno sempre una modalità di funzionamento di lettura / scrittura con l'aggiunta di una linea aggiuntiva per consentire il passaggio tra le modalità operative di lettura e scrittura.
Quando il dispositivo è in modalità operativa "scrittura", il registro a scorrimento sposta ogni dato fuori un bit alla volta comportandosi esattamente come la versione di lettura distruttiva e i dati vengono così persi, ma quando la modalità operativa viene commutata che vengono spostati all'ingresso ritornano nel sistema e servono come input per il registro a scorrimento. Questo aiuta a garantire che i dati rimangano più a lungo (finché rimangono in modalità di lettura)
- Lettura distruttiva
Per le letture distruttive, i dati vengono completamente persi poiché il flip flop sposta semplicemente le informazioni. Supponendo che per il registro a scorrimento a 4 bit sopra, vogliamo inviare la parola "1101". Dopo aver cancellato il registro a scorrimento, l'uscita di tutti i flip flop diventa 0, quindi durante il primo ciclo di clock quando applichiamo questi dati (1101) in serie, le uscite dei flip flop assomigliano alla tabella seguente.
Primo ciclo di clock:
FF0 |
FF1 |
FF2 |
FF3 |
1 |
0 |
0 |
0 |
Secondo ciclo di clock:
FF0 |
FF1 |
FF2 |
FF3 |
0 |
1 |
0 |
0 |
Terzo ciclo di clock:
FF0 |
FF1 |
FF2 |
FF3 |
1 |
0 |
1 |
0 |
Quarto ciclo dell'orologio:
FF0 |
FF1 |
FF2 |
FF3 |
1 |
1 |
0 |
1 |
2. Serial in - Parallel out Shift Register
Il secondo tipo di registro a scorrimento che prenderemo in considerazione è il registro a scorrimento Serial in - Parallel out noto anche come SIPO Shift Register. Questi tipi di registri a scorrimento vengono utilizzati per la conversione dei dati da seriale a parallelo. I dati arrivano uno dopo l'altro per ciclo di clock e possono essere spostati e sostituiti o letti ad ogni uscita. Ciò significa che quando i dati vengono letti, ogni bit letto diventa disponibile simultaneamente sulla rispettiva linea di uscita (Q0 - Q3 per il registro a scorrimento a 4 bit mostrato di seguito).
Nell'immagine sottostante è illustrato un registro a scorrimento in uscita seriale a 4 bit.
Di seguito è mostrata una tabella che mostra come i dati vengono spostati fuori dal registro a scorrimento a 4 bit seriale in -parallel out, con i dati come 1001.
Chiaro |
FF0 |
FF1 |
FF2 |
FF3 |
1001 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
|
0 |
1 |
0 |
0 |
|
0 |
0 |
1 |
0 |
|
1 |
0 |
0 |
1 |
Un buon esempio dello shift register seriale in - parallel out è lo shift register 74HC164, che è uno shift register a 8 bit.
Il dispositivo dispone di due ingressi dati seriali (DSA e DSB), otto uscite dati parallele (da Q0 a Q7). I dati vengono inseriti in serie tramite DSA o DSB e entrambi gli ingressi possono essere utilizzati come abilitazione HIGH attiva per l'immissione dei dati attraverso l'altro ingresso. I dati vengono spostati sulle transizioni LOW-HIGH dell'ingresso del clock (CP). Un valore BASSO sull'ingresso di reset master (MR) cancella il registro e forza tutte le uscite a BASSO, indipendentemente dagli altri ingressi. Gli ingressi includono diodi a pinza. Ciò consente l'uso di resistori di limitazione della corrente per interfacciare gli ingressi a tensioni superiori a VCC.
3. Parallel in - Serial out Registro a turni
Nel registro a scorrimento Parallel in - Serial out, i dati vengono forniti in parallelo, ad esempio si consideri il registro a 4 bit mostrato di seguito.
Questo registro può essere utilizzato per memorizzare e spostare una parola a 4 bit, con l'ingresso di controllo di scrittura / scorrimento (WS) che controlla la modalità di funzionamento del registro a scorrimento. Quando la linea di controllo WS è bassa (modalità di scrittura), i dati possono essere scritti e sincronizzati tramite D0 a D3. Per spostare i dati in serie, la linea di controllo WS viene portata ALTA (modalità Shift), il registro quindi sposta i dati in uscita sull'ingresso del clock. Il Parallelo in Seriale del nostro registro a turni è anche chiamato registro a scorrimento PISO.
Un buon esempio di shift register in parallelo in - serial out è lo shift register a 8 bit 74HC165 sebbene possa essere utilizzato anche come shift register in seriale in - serial out.
Il dispositivo dispone di un ingresso dati seriale (DS), otto ingressi dati paralleli (da D0 a D7) e due uscite seriali complementari (Q7 e Q7 '). Quando l'ingresso di carico parallelo (PL) è BASSO, i dati da D0 a D7 vengono caricati nel registro a scorrimento in modo asincrono. Quando PL è ALTO i dati entrano nel registro in serie su DS. Quando l'ingresso di abilitazione del clock (CE) è BASSO, i dati vengono spostati sulle transizioni da BASSO a ALTO dell'ingresso CP. Un ALTO su CE disabiliterà l'ingresso CP. Gli ingressi tollerano la sovratensione fino a 15 V. Ciò consente al dispositivo di essere utilizzato in applicazioni di spostamento di livello da ALTO a BASSO.
Di seguito è riportato lo schema funzionale del registro a scorrimento;
Il diagramma temporale per il sistema è come mostrato nell'immagine sottostante;
4. Parallel in - Registro a scorrimento parallelo in uscita
Per il registro a scorrimento parallelo in parallelo in uscita, i dati di uscita attraverso le uscite parallele vengono visualizzati simultaneamente mentre i dati di ingresso vengono inseriti. Questo tipo di registro a scorrimento è anche chiamato registro di scorrimento PIPO.
I dati di ingresso su ciascuno dei pin di ingresso da D0 a D3 vengono letti nello stesso momento in cui il dispositivo è sincronizzato e, allo stesso tempo, i dati letti da ciascuno degli ingressi vengono passati all'uscita corrispondente (da Q0 a Q3).
Lo shift register 74HC195 è un registro a scorrimento multiuso che è in grado di funzionare nella maggior parte dei modi descritti da tutti i tipi che abbiamo discusso finora, specialmente come registro a scorrimento parallelo in parallelo in uscita.
5. Registri di scorrimento bidirezionali
I registri a scorrimento possono eseguire lo spostamento dei dati a destra oa sinistra o entrambi a seconda del tipo di registro a scorrimento e della loro configurazione. Nelle operazioni di spostamento a destra, i dati binari sono divisi per due. Se questa operazione viene invertita, i dati binari vengono moltiplicati per due. Con un'opportuna applicazione della logica combinatoria, un registro a scorrimento seriale può essere configurato per eseguire entrambe le operazioni.
Considera il registro a 4 bit nell'immagine sottostante. Un paio di porte NAND sono configurate come porte OR e vengono utilizzate per controllare la direzione dello spostamento, a destra oa sinistra.
La linea di controllo sinistra / scrittura viene utilizzata per determinare la direzione in cui vengono spostati i dati, a destra oa sinistra.
Il registro a scorrimento bidirezionale 74HC194 è un buon esempio. Il registro può operare in tutte le modalità e variazioni di ingresso o uscita seriale e parallela. Di seguito è mostrato lo schema funzionale del 74HC194 che evidenzia la linea di controllo, l'orologio, i pin di ingresso e di uscita.
Di seguito è riportato anche il diagramma temporale del dispositivo. Ti aiuterà a capire meglio come la linea di controllo controlla le azioni del registro.
6. Contatori
I contatori, a volte chiamati rotate shift register, sono fondamentalmente registri a scorrimento con le loro uscite reintrodotte nel dispositivo come ingressi in modo tale da creare un particolare pattern. Questi tipi di registri sono indicati come contatori a causa del modello e della sequenza che presentano. Il tipo più popolare di contatori del registro a scorrimento sono i contatori ad anello.
Contatore di anelli
I contatori ad anello sono fondamentalmente un tipo di contatore in cui l'uscita del bit più significativo viene rimandata come ingresso al bit meno significativo. Un contatore ad anello a 4 bit è illustrato nel diagramma seguente utilizzando i flip flop D.
Quando viene applicato l'impulso di clock, l'uscita di ogni fase viene spostata a quella successiva e il ciclo continua. Quando clear è alto, tutti i flip flop tranne il primo (che viene impostato a 1) vengono azzerati.
Applicazioni dei registri a scorrimento
I registri a scorrimento vengono utilizzati in molte applicazioni, alcune delle quali sono;
1. Conversione da parallelo a seriale, dove vengono utilizzati per ridurre il numero di fili, o linee necessarie per la comunicazione tra due dispositivi, poiché la comunicazione seriale richiede generalmente solo due fili rispetto al parallelo che dipende dal numero di bit inviati.
2. Espansione IO per microcontrollori. Nell'elettronica moderna, i microcontrollori IO pin sono indicati come immobili e uno ha bisogno del più possibile per determinate applicazioni come accendere 100 LED o leggere 100 interruttori reed con qualcosa come un microcontrollore Arduino o Atmeg328p. Ad esempio, lo schema del circuito seguente illustra come è possibile utilizzare un registro a scorrimento da seriale a parallelo per controllare 8 LED, utilizzando solo tre dei pin IO dei microcontrollori.
3. Vengono utilizzati nei registri di stato utilizzati nei dispositivi sequenziali. Come una macchina a memoria finita, lo stato successivo del dispositivo è sempre determinato spostando e inserendo un nuovo dato nella posizione precedente.
4. Un'altra applicazione principale si trova in Ritardi temporali. I registri a scorrimento vengono utilizzati per il ritardo temporale nei dispositivi, con il tempo regolato dall'orologio o aumentato da registri a scorrimento a cascata o ridotto prendendo l'uscita da un bit significativo inferiore.
Il ritardo di tempo viene solitamente calcolato utilizzando la formula;
t = N * (1 / fc)
N è il numero di fasi del flip flop in cui viene presa l'uscita, Fc è la frequenza del segnale di clock e t che è il valore determinato è la quantità di tempo per cui l'uscita verrà ritardata.
Quando si seleziona un registro a scorrimento per un'attività particolare a causa dell'ampia gamma e del tipo, è importante selezionarne uno che corrisponda alle proprie esigenze particolari, considerando cose come la modalità di funzionamento, la dimensione del bit (numero di flip flop), destra o bidirezionale ecc.
Alcuni dei registri a turni più popolari sono;
- 74HC 194 Registro a scorrimento universale bidirezionale a 4 bit
- 74HC 198 Registro a scorrimento universale bidirezionale a 8 bit
- 74HC595 Registro a scorrimento Serial-In-Parallel-Out
- 74HC165 Registro a scorrimento Parallel-In-Serial-Out
- IC 74291 Registro a scorrimento universale a 4 bit, contatore binario avanti / indietro, sincrono.
- IC 74395 Registro a scorrimento universale a 4 bit con uscite a tre stati.
- IC 74498 registro a scorrimento bidirezionale a 8 bit con ingressi paralleli e uscite a tre stati.
- IC 74671 Shift register bidirezionale a 4 bit.
- IC 74673 Shift register 16 bit serial-in serial-out con registri di memorizzazione in uscita.
- IC 74674 shift register 16 bit parallel-in serial-out con uscite a tre stati.
Ce ne sono molti altri, devi solo trovare quello che si adatta meglio alla tua applicazione.
Grazie per aver letto, alla prossima volta.