Um registrador de deslocamento ou "shift-register", como também é chamado pelo termo em inglês, consiste num conjunto de flip-flops que podem ser interligados de diversas formas, como por exemplo, as mostradas na figura 1.

 


| Clique na imagem para ampliar |

 

 

Estes circuitos podem deslocar uma informação (bit) aplicado na entrada de uma posição, a cada pulso de clock.

 

Por exemplo, o bit 1 aplicado na entrada aparece na saída do primeiro flip-flop no primeiro pulso de clock, depois desloca-se aparecendo na saída do segundo flip-flop, no segundo pulso de clock, e assim por diante até aparecer na saída do final da sequência, conforme mostra a figura 2.

 

 

 


 

 

 

Na configuração mostrada na figura 1 (a) cada flip-flop tipo D tem sua saída conectada à entrada do flip-flop seguinte, e todos eles são controlados pelo mesmo sinal de CLOCK.

 

Para entender como funciona esse circuito vamos partir da situação inicial em que todos eles estejam desativados ou com suas saídas Q no nível baixo. Inicialmente, vamos aplicar à entrada de dados um nível alto (1).

 

Conforme podemos ver, esta entrada é feita pela entrada J do primeiro flip-flop (FF1). Com a chegada do pulso de clock a este flip-flop, ele muda de estado e com isso "armazena" o pulso aplicado à entrada, o qual aparece em sua saída, depois de um curto intervalo de tempo.

 

Veja que este sinal é armazenado com o flanco positivo do sinal de clock, quando então o nível alto deve estar presente na entrada do flip-flop.

 

O intervalo de tempo que decorre entre a aplicação do sinal na entrada de dados e seu aparecimento na saída do flip-flop é da ordem de alguns nanossegundos nos integrados das famílias lógicas comuns, mas é importante que em muitas aplicações mais rápidas ele seja levado em conta.

 

Para aplicações muito rápidas, dá-se preferência ao uso dos circuitos integrados de algumas subfamílias TTL.

 

No próximo pulso de clock, ocorre algo interessante: a entrada do primeiro flip-flop já não tem mais o nível alto e, portanto, FF1 não muda de estado. No entanto, na saída de FF1 temos nível alto, e esta saída está ligada à entrada do segundo flip-flop (FF2).

 

Isso significa que, com a chegada do segundo pulso de clock, o nível lógico da saída do primeiro se transfere para a saída do segundo, depois, é claro, de um pequeno intervalo de tempo, conforme mostra a figura 3.

 


| Clique na imagem para ampliar |

 

 

Isso significa que, o bit 1 aplicado na entrada, se "desloca " mais um pouco no circuito, passando para a saída do segundo flip-flop.

 

É claro que, se nessa segunda passagem, tivermos aplicado um novo nível 1 na entrada do circuito, ele ao mesmo tempo que o primeiro se transfere para o segundo flip-flop, o segundo se transfere para a saída do primeiro flip-flop, como mostra a figura 4.

 


| Clique na imagem para ampliar |

 

 

Chegando agora um terceiro pulso de clock, teremos nova transferência e o nível alto ou bit 1 se transfere para a saída do flipflop seguinte, ou seja, FF3.

 

Em outras palavras, a cada pulso de clock, os níveis existentes nas saídas dos flip-flops, sejam eles 0 ou 1, se transferem para o flip-flop seguinte.

 

Assim, supondo que apliquemos, em sequência, na entrada de um shift-register como o indicado os níveis 0101, teremos a seguinte sequência de condições de saída para os flip-flops de um shft-register que use 4 deles:

 

 
Clock Entrada FF1 FF2 FF3 FF4
 
inicio 0 0 0 0 0
 
0 1 0 0 0 0
 
1 0 1 0 0 0
 
2 1 0 1 0 0
 
3 0 1 0 1 0
 
4 0 0 1 0 1

 

Veja então que no quinto pulso de clock o primeiro pulso de clock, o primeiro nível lógico, aparece na saída do último flip-flop (FF4) e que, se lermos a saída dos flip-flops, teremos registrado os níveis aplicados na entrada: 0101.

 

O leitor já deve ter percebido que aplicando um dado binário num shift register, depois do número apropriado de pulsos de clock, que corresponde ao número de bits que ele contém, ele pode armazenar este dado. Para retirar o dado em sequência, basta continuar aplicando pulsos de clock ao circuito, conforme a seguinte tabela:

 

 
clock FF1 FF2 FF3 FF4 saída
 
início(4) 0 1 0 1 1
 
5 0 0 1 0 0
 
6 0 0 0 1 1
 
7 0 0 0 0 0
 

 

A figura 5 mostra o que ocorre em pormenores:

 


 

 

 

Perceba que, para armazenar um dado de 4 bits num registrador, devemos aplicar 4 pulsos de clock e para ler em sequência, mais 4 pulsos de clock.

 

Para "apagar" os dados registrados num shif-register, todos de uma vez, como o indicado, basta aplicar um pulso na entrada CLEAR.

Todos os flip-flops terão suas saídas levadas ao nível baixo ou 0.

 

Do livro “Curso de Eletrônica Digital – Vol 2” de Newton C. Braga

 

Ver também:

• Digital (84)

• Binário (243)

• Flip-Flops (273)

• Lógica Digital (203)

 

 

NO YOUTUBE