Registradores de Deslocamento Universais: Paralelo-In/Paralelo-Out com Controle Bidirecional de Deslocamento
Um registrador de deslocamento paralelo-in/parallel-out aceita dados em paralelo, os desloca e apresenta o resultado deslocado, como ilustrado abaixo.
Um registrador de deslocamento universal expande esta capacidade suportando carregamento paralelo, deslocamento serial e opções adicionais de controle como direção e modos de retenção.

Na figura acima, quatro bits de dados são aplicados às entradas paralelas DA DB DC DD. Os sinais de controle de modo determinam se os dados são carregados em paralelo ou deslocados uma posição por pulso de clock.
Muitos dispositivos permitem que a mesma linha de controle selecione a direção do deslocamento. Cada transição de clock move os dados um bit; a saída deslocada está disponível em QA QB QC QD. Os pinos "data-in" e "data-out" facilitam a cascata de múltiplos registradores.
Embora o diagrama mostre apenas cascata de deslocamento à direita, cascatas de deslocamento à esquerda podem ser acomodadas adicionando um segundo par de pinos "data-in" e "data-out" orientados à esquerda.
A estrutura interna de um registrador de deslocamento paralelo-in/parallel-out com deslocamento à direita é mostrada abaixo. Buffers tri-state são opcionais mas comuns em componentes comerciais.

O 74LS395 é um exemplo principal que corresponde de perto ao diagrama conceitual acima. Um resumo abreviado do datasheet segue; o datasheet completo é linkado mais adiante neste capítulo.
LD/SH' controla o multiplexador que seleciona entre carregamento paralelo e deslocamento serial. Quando LD/SH' = 1, as quatro portas AND superiores habilitam as entradas paralelas DA DB DC DD a entrarem nos quatro flip-flops. A entrada de clock é invertida, então os dados são travados na borda negativa.
Com o registrador carregado, definindo LD/SH' = 0 ativa o caminho de deslocamento, movendo o conteúdo um bit à direita a cada clock de borda negativa. Após quatro clocks, os dados terão saído do registrador a menos que sejam cascateados via QD' para a entrada serial de outro dispositivo.

O diagrama mostra um padrão de dados carregado em QA QB QC QD e então deslocado uma posição à direita. O bit de entrada é desconhecido (marcado X); aterrar o pino SER tornaria o nível lógico de entrada claro.
Deslocamento de dois clocks (deslocamento de dois bits) é ilustrado na figura seguinte.

Estas referências esquemáticas são mantidas concisas porque a funcionalidade essencial já é coberta nas figuras subsequentes mais detalhadas.

Para uma configuração de deslocamento à esquerda, os flip-flops devem ser reconfigurados, trocando os pinos de entrada serial (SI) e saída serial (SO). O caminho de dados torna-se: SI → QC → QB → QA → SO, que é o inverso da sequência de deslocamento à direita.

Dispositivos comerciais tipicamente implementam deslocamento bidirecional adicionando uma linha de controle (L/R). O esquema a seguir demonstra um registrador hipotético que pode deslocar à esquerda ou direita dependendo do sinal L/R.

Com L/R = 1, o multiplexador habilita o caminho de deslocamento à direita; L/R = 0 seleciona o caminho de deslocamento à esquerda. A entrada de dados serial (SR para direita, SL para esquerda) alimenta o primeiro flip-flop, e a saída serial (cascata SR ou cascata SL) fornece os dados saindo do registrador.

Para combinar carregamento paralelo com deslocamento bidirecional, uma terceira linha de controle (SH/LD') é introduzida. Quando SH/LD' = 0, o multiplexador de carregamento passa as entradas paralelas DA DB DC para os flip-flops no próximo clock. Definindo SH/LD' = 1 desabilita o caminho de carregamento e re-habilita o controle de deslocamento determinado por L/R.
Implementações comerciais, como o 74ALS299, adicionam uma porta AND adicional para suportar modo de retenção (S1 S0 = 00), que recarrega continuamente a saída a cada clock, preservando os dados armazenados.
Veja a próxima seção para o esquemático do 74ALS299.
Dispositivos Paralelo-In / Paralelo-Out e Universais
A Texas Instruments oferece uma gama de registradores de deslocamento serial-in/parallel-out. Consulte os links abaixo para datasheets completos.
- SN74LS395A – Registrador de deslocamento paralelo-in/parallel-out de 4 bits
- SN74ALS299 – Registrador de deslocamento universal paralelo-in/parallel-out de 8 bits

O esquemático interno do SN74LS395A é mostrado acima. O símbolo ANSI é apresentado na próxima figura.

O dispositivo de 4 bits é limitado pelo encapsulamento DIP de 16 pinos, que deve acomodar os quatro pinos de dados, pinos de controle e pinos de alimentação.
Principais sinais de controle incluem:
- CLR' – reset ativo-baixo para todos os estágios.
- OC' – habilitação ativa-baixa para os quatro buffers de saída tri-state.
- LD/SH' – multiplexa entre carregamento paralelo (M1) e deslocamento serial (M2).
- C3/2 – clock de borda negativa que clocka tanto os dados paralelos (via sinais prefixados 3) quanto dados seriais (via sinais prefixados 2).
Buffers tri-state são controlados pelo sinal EN4 (baixo habilita todos os quatro buffers). Quando QD' é cascateado para o pino SER de outro dispositivo, dados podem ser deslocados através de múltiplos registradores.

A tabela acima, derivada do datasheet do 74ALS299, resume a operação do registrador de deslocamento universal de 8 bits. As entradas de modo S1 e S0 selecionam uma de quatro funções:
- 01 – deslocamento à esquerda
- 10 – deslocamento à direita
- 11 – carregamento paralelo
- 00 – retenção (recarregamento contínuo da saída a cada clock)
No modo de retenção, o barramento de dados é tri-stated para permitir que dispositivos externos controlem o barramento enquanto o registrador preserva seu conteúdo.
Quando S1 S0 = 00, 01 ou 10 e os sinais de output enable OE2', OE1' estão baixos, as saídas do registrador de deslocamento são conduzidas para o barramento.

A sequência de deslocamento à direita (S1 S0 = 10) é: SR → QA → QB → QC → QD → QE → QF → QG → QH (QH').
A sequência de deslocamento à esquerda (S1 S0 = 01) é: (QA') → QA ← QB ← QC ← QD ← QE ← QF ← QG ← QH (QSL').
Buffers tri-state podem ser desabilitados asserindo OE2' ou OE1'; o conteúdo interno do registrador permanece inalterado mas não é visível nos pinos de saída.

O símbolo ANSI anotado esclarece as convenções de nomenclatura usadas no datasheet. Note que os bits de modo S0 S1 estão listados em ordem inversa relativa à tabela acima, uma particularidade da documentação oficial.
Aplicações Práticas
O exemplo a seguir demonstra como um registrador de deslocamento universal pode consolidar um teclado remoto e display LED em um único dispositivo para um sistema de alarme.

No diagrama, o teclado e display estão alojados no mesmo gabinete. Dados do teclado são carregados em paralelo no registrador de deslocamento em um único pulso de clock, então serialmente deslocados para a caixa principal do alarme. Simultaneamente, dados de LED da caixa principal são serialmente carregados no registrador para acionar os LEDs.

Oito LEDs e resistores limitadores de corrente são conectados aos oito pinos I/O do SN74ALS299. LEDs só podem ser acionados no Modo 3 (S1 = 0, S0 = 0) quando os enables tri-state OE1' e OE2' são aterrados, habilitando permanentemente as saídas durante os Modos 0, 1 e 2. Se cintilação durante o deslocamento for indesejável, os enables podem ser ligados aos bits de modo para que os LEDs acendam apenas no modo de retenção.
Durante o carregamento paralelo, definir S0 = 1 (lógica 0 após inversão) ativa os buffers tri-state para puxar os contatos das chaves para ground. Contatos abertos são puxados para alto pela rede resistor-LED, criando um nível lógico alto claro quando nenhuma tecla é pressionada.
No tempo t0, quando ambos S0 e S1 estão altos, os dados das chaves são carregados no registrador. Depois, oito pulsos de clock (t0 a t8) deslocam os dados de fechamento de chave para fora via QH', enquanto novos dados de LED são deslocados na entrada SR do registrador.
Após o oitavo deslocamento (t8), S1 vai para baixo, colocando o registrador em modo de retenção (S1 S0 = 00). Os dados armazenados permanecem estáveis mesmo se clocks adicionais forem aplicados.
Geração de clock pode ser feita por microcontrolador se a taxa for abaixo de 100 kHz; para frequências mais altas, lógica dedicada pode produzir os clocks e sinais de modo necessários.
Planilhas Relacionadas:
- Planilha de Registradores de Deslocamento
Tecnologia industrial
- Entendendo Protocolos de Rede: Da Camada Física à Arbitragem Avançada
- Por Que Memória Digital Importa
- Microprocessadores: A Evolução da Computação com Programa Armazenado
- Dados Completos de Op-Amp: Folhas de Dados National Semiconductor e CA3130
- Limiares de Choque Elétrico e Resistência Corporal: Dados de Especialistas do MIT, Bussmann e Estudos Dalziel
- Manufatura Orientada a Dados: Desbloqueando Eficiência, Economia de Custos e Inovação
- Maximize a Vantagem da Sua Organização: Transformando Dados em Insights Estratégicos
- Big Data vs IA: Sinergia Por Trás da Transformação Digital
- Escolhendo entre Data Matrix e QR Codes: Qual é Melhor para seu Negócio
- Dados de Manutenção Explicados: A Chave para Gestão Confiável de Ativos