- Què és el registre de torns:
- Tipus de registres en electrònica digital
- 1. Entrada de sèrie: registres de torns de sortida de sèrie
- 2. Entrada de sèrie: registre de torns paral·lel
- 3. Entrada paral·lela: registre de torns de sortida en sèrie
- 4. Paral·lel in: registre de torns paral·lel out
- 5. Registres de canvis bidireccionals
- 6. Comptadors
- Aplicacions dels registres Shift
Què és el registre de torns:
Els registres de desplaçament són circuits lògics seqüencials, capaços d'emmagatzemar i transferir dades. Estan formats per xancles que estan connectades de manera que la sortida d’un xanclet pugui servir com a entrada de l’altre xanclet, segons el tipus de registres de desplaçament que es creïn.

Els registres de desplaçament són bàsicament un tipus de registre que té la capacitat de transferir (“desplaçar”) dades. Els registres són dispositius d’emmagatzematge genèrics que es creen connectant un nombre específic de xancles juntes en sèrie i la quantitat de dades (nombre de bits) que pot emmagatzemar el registre sempre és directament proporcional al nombre de xancles, com cada xancla flop és capaç d'emmagatzemar només un bit a la vegada. Quan els xancles d’un registre es connecten de manera que la sortida d’un xanclet es converteix en l’entrada de l’altre, es crea un registre de desplaçament.

Els xancles són dispositius amb una operació similar a la d’un pestell. Es pot anomenar vibrador biestable que es pot moure entre dos estats (0 o 1) i que és capaç d’emmagatzemar dades en bits. Les dades noves es llegeixen en un xanclet amb cada cicle de rellotge i les dades anteriors s’envien a la sortida.
Registres de torns Compreneu quines xancletes?
Tot i això, depèn del tipus de xancles, ja que la relació d'entrada, sortida i cicle de rellotge entre xancles varien. Hi ha diferents tipus de xancles, però les més usades en la creació de registres de desplaçament són les xancletes D (Delay).
Per al funcionament de les xancletes D que les fan tan desitjables per als registres de desplaçament, sempre que hi hagi un canvi al rellotge d'un xanclet D (ja sigui de pujada o baixada, segons les especificacions del xanclet). Les dades de la sortida "Q" es converteixen en les mateixes dades que les de l'entrada "D". La sortida "Q" del xanclet es mantindrà en aquest valor fins al següent cicle de rellotge, on tornarà a canviar al valor (alt o baix, 1 o 0) a l'entrada.

Ara que sabem què són els registres Sift, procedirem a aprofundir en els tipus de xancles i les seves aplicacions. Abans, però, per donar una visió més pràctica sobre on s’utilitzen els registres de desplaçament, donem un cop d’ull al popular registre de desplaçaments 74HC595 que hem utilitzat amb diferents microcontroladors per interaccionar una pantalla o seqüència de LED.
- Registre de majúscules amb 74HC595 amb Arduino per controlar una seqüència de LEDs
- Registre de majúscules amb ESP32 a la interfície de visualització de 7 segments
- Registre de majúscules amb Raspberry Pi per controlar diversos LED
- Registre de majúscules amb PIC per controlar la seqüència de LEDs
Tipus de registres en electrònica digital
Els registres de desplaçament es classifiquen principalment en tipus segons el seu mode de funcionament, ja sigui en sèrie o paral·lel.
Hi ha sis (6) tipus bàsics de registres de desplaçament que s’enumeren a continuació, tot i que alguns d’ells es poden dividir en funció de la direcció del flux de dades, ja sigui desplaçament cap a la dreta o desplaçament cap a l’esquerra.
1. Entrada de sèrie: registre de canvis de sortida de sèrie (SISO)
2. Entrada de sèrie: registre de desplaçament en paral·lel (SIPO)
3. Paral·lel in - Register Shift Parallel out (PIPO)
4. Entrada paral·lela: registre de canvis de sortida (PISO)
5. Registres de canvis bidireccionals
6. Comptadors
1. Entrada de sèrie: registres de torns de sortida de sèrie
Entrada de sèrie: els registres de desplaçament de sortida de sèrie són registres de desplaçament que transmeten les dades en sèrie (un bit per cicle de rellotge) i també transmeten dades de la mateixa manera, un darrere l’altre.

A sobre es mostra un registre de desplaçament de 4 bits de sortida de sèrie simple, el registre consta de 4 xancles i a continuació s’explica el desglossament del seu funcionament;
A l’inici, el registre de desplaçament s’esborra primer, forçant les sortides de totes les xancletes a zero, i les dades d’entrada s’apliquen a l’entrada de manera sèrie, d’un bit a la vegada.
Hi ha dues maneres bàsiques de desplaçar les dades a través d’un registre de desplaçament SISO;
- Lectura no destructiva
- Lectura destructiva
- Lectura no destructiva
Els registres de desplaçament basats en la lectura no destructiva sempre tenen un mode de funcionament de lectura / escriptura amb una línia addicional afegida per permetre el canvi entre els modes operatius de lectura i escriptura.
Quan el dispositiu està en mode operatiu d’escriptura, el registre de desplaçament desplaça cada dada un bit a la vegada i es comporta exactament com la versió de lectura destructiva i, per tant, es perden les dades, però quan el mode operatiu es canvia a “llegir”, les dades que es desplacen a l'entrada es torna al sistema i serveixen com a entrada al registre de desplaçament. Això ajuda a garantir que les dades es mantinguin més temps (sempre que es mantinguin en mode de lectura)
- Lectura destructiva
Per a les lectures destructives, les dades es perden completament, ja que el xanclet només desplaça la informació. Suposant el registre de desplaçament de 4 bits anterior, volem enviar la paraula "1101". Després d’esborrar el registre de desplaçament, la sortida de totes les xancletes es converteix en 0, de manera que durant el primer cicle de rellotge a mesura que apliquem aquestes dades (1101) en sèrie, les sortides de les xancles s’assemblen a la taula següent.
Primer cicle de rellotge:
|
FF0 |
FF1 |
FF2 |
FF3 |
|
1 |
0 |
0 |
0 |
Segon cicle de rellotge:
|
FF0 |
FF1 |
FF2 |
FF3 |
|
0 |
1 |
0 |
0 |
Tercer cicle de rellotge:
|
FF0 |
FF1 |
FF2 |
FF3 |
|
1 |
0 |
1 |
0 |
Quart cicle de rellotge:
|
FF0 |
FF1 |
FF2 |
FF3 |
|
1 |
1 |
0 |
1 |
2. Entrada de sèrie: registre de torns paral·lel
El segon tipus de registre de torns que tindrem en compte és el registre de torns Serial in - Parallel out també conegut com a registre de torns SIPO. Aquest tipus de registres de desplaçament s’utilitzen per a la conversió de dades de sèrie a paral·lel. Les dades apareixen una rere l’altra per cicle de rellotge i es poden canviar i substituir o llegir a cada sortida. Això significa que quan es llegeixen les dades, cada bit de lectura es fa disponible simultàniament a la seva línia de sortida respectiva (Q0 - Q3 per al registre de desplaçament de 4 bits que es mostra a continuació).
A la imatge següent es mostra un registre de desplaçament de sortida de 4 bits en paral·lel.

A continuació es mostra una taula que mostra com es desplacen les dades del registre de desplaçament de sèrie –paral·lel a 4 bits–, amb les dades com a 1001.
|
Clar |
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 bon exemple del registre de desplaçament in - parallel out serial és el registre de desplaçament 74HC164, que és un registre de desplaçament de 8 bits.
El dispositiu inclou dues entrades de dades sèrie (DSA i DSB), vuit sortides de dades paral·leles (Q0 a Q7). Les dades s’introdueixen en sèrie a través de DSA o DSB i qualsevol entrada es pot utilitzar com a habilitat actiu HIGH per a l’entrada de dades a través de l’altra entrada. Les dades es desplacen a les transicions BAIX a ALTA de l'entrada del rellotge (CP). Un BAIX a l'entrada de reinici mestre (MR) neteja el registre i força totes les sortides BAIX, independentment d'altres entrades. Les entrades inclouen díodes de pinça. Això permet l'ús de resistències de limitació de corrent per connectar entrades a tensions superiors a VCC.

3. Entrada paral·lela: registre de torns de sortida en sèrie
Al registre de desplaçament de sortida paral·lela, les dades es proporcionen en paral·lel, per exemple, tingueu en compte el registre de 4 bits que es mostra a continuació.

Aquest registre es pot utilitzar per emmagatzemar i canviar una paraula de 4 bits, amb l'entrada de control d'escriptura / desplaçament (WS) que controla el mode de funcionament del registre de desplaçament. Quan la línia de control WS és baixa (mode d'escriptura), les dades es poden escriure i registrar mitjançant D0 a D3. Per desplaçar les dades en sèrie, es porta la línia de control WS ALTA (mode Shift), el registre desplaça les dades a l'entrada del rellotge. El registre de canvis paral·lels en sèrie també s’anomena registre de canvis PISO.
Un bon exemple d'un registre de desplaçament de sortida de sèrie paral·lel és el registre de desplaçament de 8 bits del 74HC165, tot i que també es pot operar com a registre de desplaçament de sortida de sortida de sèrie.
El dispositiu inclou una entrada de dades sèrie (DS), vuit entrades de dades paral·leles (D0 a D7) i dues sortides sèrie complementàries (Q7 i Q7 '). Quan l’entrada de càrrega paral·lela (PL) és BAIXA, les dades de D0 a D7 es carreguen al registre de desplaçament de manera asíncrona. Quan PL és HIGH, les dades entren al registre en sèrie a DS. Quan l’entrada d’activació del rellotge (CE) és BAIX, les dades es desplacen a les transicions BAIX a ALT de l’entrada CP. Un HIGH a CE desactivarà l'entrada CP. Les entrades són tolerants a la sobretensió fins a 15 V. Això permet utilitzar el dispositiu en aplicacions de desplaçament de nivell ALT a BAIX.
A continuació es mostra el diagrama funcional del registre de desplaçament;

El diagrama de temps del sistema és el que es mostra a la imatge següent;

4. Paral·lel in: registre de torns paral·lel out
Per al registre de desplaçament paral·lel en paral·lel, les dades de sortida a través de les sortides paral·leles apareixen simultàniament a mesura que s'introdueixen les dades d'entrada. Aquest tipus de registre de desplaçament també s'anomena registre de desplaçament PIPO.

Les dades d’entrada de cadascun dels pins d’entrada de D0 a D3 es llegeixen al mateix temps que el dispositiu té un rellotge i, al mateix temps, les dades llegides de cadascuna de les entrades es passen a la sortida corresponent (des de Q0 a la Q3).
El registre de desplaçament 74HC195 és un registre de desplaçament polivalent que és capaç de treballar en la majoria dels modes descrits per tots els tipus que hem comentat fins ara, especialment com a registre de desplaçament paral·lel in-paral·lel.
5. Registres de canvis bidireccionals
Els registres de desplaçament poden realitzar un desplaçament de dades cap a la dreta o cap a l'esquerra, o tots dos segons el tipus de registre de desplaçament i la seva configuració. En les operacions de desplaçament a la dreta, les dades binàries es divideixen per dues. Si s'inverteix aquesta operació, les dades binàries es multipliquen per dues. Amb una aplicació adequada de la lògica combinacional, es pot configurar un registre de desplaçament en sèrie per realitzar ambdues operacions.
Penseu en el registre de 4 bits de la imatge següent. Un parell de portes NAND es configuren com portes OR i s’utilitzen per controlar la direcció del desplaçament, ja sigui a la dreta o a l’esquerra.

La línia de control esquerra / escriptura s’utilitza per determinar la direcció cap a la qual es desplacen les dades, ja sigui a la dreta o a l’esquerra.
El registre de desplaçament bidireccional 74HC194 és un bon exemple. El registre pot funcionar en tots els modes i variacions d'entrada o sortida en sèrie i paral·lela. A continuació es mostra el diagrama funcional del 74HC194 que ressalta la línia de control, el rellotge, els pins d'entrada i sortida.

A continuació es mostra el diagrama de temps del dispositiu. Us ajudarà millor a entendre com la línia de control controla les accions del registre.

6. Comptadors
Els comptadors, de vegades anomenats registre de desplaçament rotatiu, són bàsicament registres de desplaçament amb les seves sortides retornades al dispositiu com a entrades de manera que es crea un patró particular. Aquest tipus de registres es denominen comptadors a causa del patró i la seqüència que presenten. El tipus més popular de comptadors de registre de desplaçament són els comptadors d’anells.
Comptador d'anells
Els comptadors d'anells són bàsicament un tipus de comptador en què la sortida del bit més significatiu es retroalimenta com a entrada al bit menys significatiu. Al comptador d’anells de 4 bits s’il·lustra al diagrama següent amb xancletes D.

Quan s'aplica el pols del rellotge, la sortida de cada etapa es desplaça a la següent i el cicle continua. Quan es posa clar, es tornen a zero totes les xancletes excepte la primera (que es posa a 1).
Aplicacions dels registres Shift
Els registres de desplaçament s’utilitzen en moltes aplicacions, algunes de les quals són;
1. Conversió paral·lela a sèrie, en què s’utilitzen per reduir el nombre de cables o línies necessàries per a la comunicació entre dos dispositius, ja que la comunicació serial sol requerir només dos cables en comparació amb el paral·lel que depèn del nombre de bits que s’envien.
2. Expansió d'E / S per a microcontroladors. A l’electrònica actual, els pins IO dels microcontroladors es coneixen com a béns immobles i es necessita tant com sigui possible per a determinades aplicacions, com encendre 100 leds o llegir 100 commutadors de canya amb alguna cosa com un Arduino o el microcontrolador Atmeg328p. Per exemple, el diagrama de circuits següent il·lustra com es pot utilitzar un registre de desplaçament de sèrie a paral·lel per controlar 8 LED, utilitzant només tres dels pins IO dels microcontroladors.

3. S'utilitzen en registres d'estats que s'utilitzen en dispositius seqüencials. Igual que una màquina de memòria finita, el següent estat del dispositiu es determina sempre canviant i inserint dades noves a la posició anterior.
4. Una altra aplicació principal es troba a Retards de temps. Els registres de desplaçament s’utilitzen per retardar el temps dels dispositius, amb el temps ajustat pel rellotge, o augmentats en registres de desplaçament en cascada o reduïts prenent la sortida d’un bit significatiu inferior.
El retard de temps se sol calcular mitjançant la fórmula;
t = N * (1 / fc)
N és el nombre d'etapes de xanclet en què es pren la sortida, Fc és la freqüència del senyal del rellotge i t, que és el valor que es determina, és la quantitat de temps en què la sortida es retardarà.
Quan seleccioneu un registre de desplaçament per a una tasca en particular a causa de l’ampli rang i escriviu, és important seleccionar-ne un que s’adapti a les vostres necessitats particulars, tenint en compte coses com el mode d’operació, la mida del bit (nombre de xancles), dreta o esquerra o bidireccional, etc.
Alguns dels registres de torns més populars són;
- 74HC 194 Registre de desplaçament bidireccional universal de 4 bits
- 74HC 198 Registre de desplaçament universal bidireccional de 8 bits
- 74HC595 Registre de desplaçament sèrie-entrada-sortida-paral·lel
- 74HC165 Registre de desplaçament en paral·lel-en-sèrie
- IC 74291 Registre de desplaçament universal de 4 bits, comptador binari amunt / avall, síncron.
- IC 74395 Registre de desplaçament universal de 4 bits amb sortides de tres estats.
- IC 74498 Registre de desplaçament bidireccional de 8 bits amb entrades paral·leles i sortides de tres estats.
- IC 74671 Registre de desplaçament bidireccional de 4 bits.
- IC 74673 Registre de desplaçament de sortida de sèrie de 16 bits amb registres d'emmagatzematge de sortida.
- IC 74674 Registre de desplaçament de sortida de sèrie en paral·lel de 16 bits amb sortides de tres estats.
N’hi ha diverses més, només heu de trobar quina s’adapta millor a la vostra aplicació.
Gràcies per llegir, fins a la propera.
