- O que é Shift Register:
- Tipos de registros em eletrônica digital
- 1. Serial in - Serial out Shift Registers
- 2. Serial in - Paralelo out Shift Register
- 3. Entrada paralela - Registro de mudança de saída de série
- 4. Entrada paralela - Registro de deslocamento paralelo de saída
- 5. Registros de deslocamento bidirecional
- 6. Contadores
- Aplicações de registros de deslocamento
O que é Shift Register:
Os Shift Registers são circuitos lógicos sequenciais, capazes de armazenamento e transferência de dados. Eles são compostos de flip-flops que são conectados de tal forma que a saída de um flip-flop pode servir como entrada do outro flip-flop, dependendo do tipo de shift registers sendo criado.
Os registradores de deslocamento são basicamente um tipo de registrador que tem a capacidade de transferir (“deslocar”) dados. Os registros são dispositivos de armazenamento genericamente que são criados conectando um número específico de flip-flops juntos em série e a quantidade de dados (número de bits) que podem ser armazenados pelo registro é sempre diretamente proporcional ao número de flip-flops, conforme cada flip o flop é capaz de armazenar apenas um bit de cada vez. Quando os flip-flops em um registrador são conectados de tal forma que a saída de um flip-flop torna-se a entrada do outro, um registrador de deslocamento é criado.
Flip-flops são dispositivos com uma operação semelhante à de uma trava. Ele pode ser referido como um vibrador biestável que pode se mover entre dois estados (0 ou 1) e é capaz de armazenar dados em bits. Novos dados são lidos em um flip-flop a cada ciclo de clock e os dados anteriores são enviados na saída.
Registros de deslocamento Composto por quais flip-flops?
No entanto, isso depende do tipo de flip-flop, pois a relação de entrada, saída e ciclo de clock entre os flip-flops variam. Existem diferentes tipos de flip-flops, mas os mais comumente usados na criação de registradores de deslocamento são os D (Delay) -flip flops.
Para a operação dos flip-flops D, o que os torna tão desejáveis para registradores de deslocamento, sempre que houver uma mudança no relógio de um flip-flop D (borda ascendente ou descendente, dependendo das especificações do flip-flop). Os dados da saída “Q” tornam-se os mesmos dados da entrada “D”. A saída “Q” do flip-flop permanecerá nesse valor até o próximo ciclo de clock, onde mudará novamente para o valor (alto ou baixo, 1 ou 0) na entrada.
Agora que sabemos o que são Sift Registers, prosseguiremos com um mergulho mais profundo nos tipos de flip-flop e suas aplicações. Mas antes disso, para dar uma exposição mais prática sobre onde os registradores de deslocamento são usados, vamos dar uma olhada no popular registrador de deslocamento 74HC595 que usamos com diferentes microcontroladores para fazer a interface de um display ou sequência de LEDs.
- Shift Register com 74HC595 com Arduino para controlar uma sequência de LEDs
- Registro de deslocamento com ESP32 para interface de exibição de 7 segmentos
- Shift Register com Raspberry Pi para controlar vários LEDs
- Registro de deslocamento com PIC para controlar a sequência de LEDs
Tipos de registros em eletrônica digital
Os registradores de deslocamento são categorizados em tipos principalmente por seu modo de operação, serial ou paralelo.
Existem seis (6) tipos básicos de registradores de deslocamento listados abaixo, embora alguns deles possam ser divididos posteriormente com base na direção do fluxo de dados, tanto deslocamento para a direita quanto para a esquerda.
1. Serial in - Serial out Shift Register (SISO)
2. Serial In - Parallel out shift Register (SIPO)
3. Entrada paralela - Registro de deslocamento de saída paralela (PIPO)
4. Entrada paralela - Registro de mudança de saída serial (PISO)
5. Registros de deslocamento bidirecional
6. Contadores
1. Serial in - Serial out Shift Registers
Serial in - Os shift registers de saída de série são shift registers que transmitem dados em série (um bit por ciclo de clock) e também transmitem dados da mesma maneira, um após o outro.
Um simples registro de deslocamento serial de entrada serial de 4 bits é mostrado acima, o registro consiste em 4 flip-flops e o detalhamento de como funciona é explicado abaixo;
Na inicialização, o shift register é limpo primeiro, forçando as saídas de todos os flip-flops a zero, os dados de entrada são então aplicados à entrada em série, um bit por vez.
Existem duas maneiras básicas de transferir dados por meio de um registrador de deslocamento SISO;
- Leitura não destrutiva
- Leitura Destrutiva
- Leitura Não Destrutiva
Com base na leitura não destrutiva, os registradores de deslocamento sempre têm um modo de operação de leitura / gravação com uma linha extra adicionada para permitir a alternância entre os modos operacionais de leitura e gravação.
Quando o dispositivo está no modo operacional de “gravação”, o registrador de deslocamento desloca cada dado um bit por vez, comportando-se exatamente como a versão de leitura destrutiva e os dados são perdidos, mas quando o modo operacional é alterado para “leitura”, os dados que são deslocados para fora na entrada, voltam para o sistema e servem como entrada para o registrador de deslocamento. Isso ajuda a garantir que os dados permaneçam por mais tempo (contanto que permaneçam no modo de leitura)
- Leitura Destrutiva
Para leituras destrutivas, os dados são completamente perdidos, pois o flip-flop apenas transfere as informações. Assumindo para o registrador de deslocamento de 4 bits acima, queremos enviar a palavra “1101”. Depois de limpar o registrador de deslocamento, a saída de todos os flip-flops torna-se 0, portanto, durante o primeiro ciclo de clock conforme aplicamos esses dados (1101) em série, as saídas dos flip-flops se parecem com a tabela abaixo.
Primeiro ciclo do relógio:
FF0 |
FF1 |
FF2 |
FF3 |
1 |
0 |
0 |
0 |
Segundo ciclo de clock:
FF0 |
FF1 |
FF2 |
FF3 |
0 |
1 |
0 |
0 |
Terceiro Ciclo do Relógio:
FF0 |
FF1 |
FF2 |
FF3 |
1 |
0 |
1 |
0 |
Quarto ciclo do relógio:
FF0 |
FF1 |
FF2 |
FF3 |
1 |
1 |
0 |
1 |
2. Serial in - Paralelo out Shift Register
O segundo tipo de registrador de deslocamento que consideraremos é o registrador de deslocamento de entrada paralela serial, também conhecido como registrador de deslocamento SIPO. Esses tipos de registradores de deslocamento são usados para a conversão de dados de série em paralelo. Os dados vêm um após o outro por ciclo de clock e podem ser alternados e substituídos ou lidos em cada saída. Isso significa que quando os dados são lidos, cada bit lido se torna disponível simultaneamente em sua respectiva linha de saída (Q0 - Q3 para o registrador de deslocamento de 4 bits mostrado abaixo).
Um registro de deslocamento de entrada serial de 4 bits paralelo é ilustrado na imagem abaixo.
Uma tabela que mostra como os dados são deslocados para fora do registro de deslocamento de 4 bits em paralelo com a saída serial é mostrada abaixo, com os dados em 1001.
Claro |
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 |
Um bom exemplo do registrador de deslocamento de saída em paralelo serial é o registrador de deslocamento 74HC164, que é um registrador de deslocamento de 8 bits.
O dispositivo possui duas entradas de dados seriais (DSA e DSB), oito saídas de dados paralelas (Q0 a Q7). Os dados são inseridos em série por meio de DSA ou DSB e qualquer entrada pode ser usada como uma habilitação HIGH ativa para entrada de dados por meio da outra entrada. Os dados são deslocados nas transições LOW para HIGH da entrada do relógio (CP). A LOW na entrada de reset mestre (MR) limpa o registro e força todas as saídas LOW, independentemente de outras entradas. As entradas incluem diodos de grampo. Isso permite o uso de resistores limitadores de corrente para fazer a interface de entradas para tensões acima do VCC.
3. Entrada paralela - Registro de mudança de saída de série
No registro de deslocamento Parallel in - Serial out, os dados são fornecidos em paralelo, por exemplo, considere o registro de 4 bits mostrado abaixo.
Este registro pode ser usado para armazenar e deslocar uma palavra de 4 bits, com a entrada de controle de gravação / deslocamento (WS) controlando o modo de operação do registro de deslocamento. Quando a linha de controle WS está baixa (modo de gravação), os dados podem ser gravados e sincronizados via D0 a D3. Para deslocar os dados serialmente, a linha de controle WS é trazida para HIGH (modo Shift), o registrador então desloca os dados para fora na entrada do relógio. O Parallel in Serial nosso Shift Register também é chamado de PISO Shift register.
Um bom exemplo de registrador de deslocamento de entrada serial para fora é o registrador de deslocamento de 8 bits 74HC165, embora também possa ser operado como registrador de deslocamento de saída serial.
O dispositivo possui uma entrada de dados serial (DS), oito entradas de dados paralelas (D0 a D7) e duas saídas seriais complementares (Q7 e Q7 '). Quando a entrada de carga paralela (PL) é BAIXA, os dados de D0 a D7 são carregados no registrador de deslocamento de forma assíncrona. Quando PL é HIGH, os dados entram no registro serialmente em DS. Quando a entrada de habilitação do relógio (CE) é BAIXA, os dados são deslocados nas transições de BAIXO para ALTO da entrada do CP. Um HIGH no CE desabilitará a entrada do CP. As entradas são tolerantes a sobretensão até 15 V. Isso permite que o dispositivo seja usado em aplicações de mudança de nível ALTO para BAIXO.
O diagrama funcional do registrador de deslocamento é mostrado abaixo;
O diagrama de tempo para o sistema é mostrado na imagem abaixo;
4. Entrada paralela - Registro de deslocamento paralelo de saída
Para o registro de deslocamento paralelo em paralelo, os dados de saída nas saídas paralelas aparecem simultaneamente à medida que os dados de entrada são alimentados. Esse tipo de registro de deslocamento também é chamado de registro de deslocamento PIPO.
Os dados de entrada em cada um dos pinos de entrada de D0 a D3 são lidos ao mesmo tempo quando o dispositivo é sincronizado e, ao mesmo tempo, os dados lidos de cada uma das entradas são transmitidos na saída correspondente (de Q0 a Q3).
O registrador de deslocamento 74HC195 é um registrador de deslocamento multiuso que é capaz de funcionar na maioria dos modos descritos por todos os tipos que discutimos até agora, especialmente como um registrador de deslocamento paralelo em paralelo.
5. Registros de deslocamento bidirecional
Os registradores de deslocamento podem realizar deslocamento de dados para a direita ou esquerda, ou ambos, dependendo do tipo de registrador de deslocamento e de sua configuração. Em operações de deslocamento para a direita, os dados binários são divididos por dois. Se esta operação for revertida, os dados binários serão multiplicados por dois. Com a aplicação adequada da lógica combinacional, um registrador de deslocamento serial pode ser configurado para executar ambas as operações.
Considere o registrador de 4 bits na imagem abaixo. Algumas portas NAND são configuradas como portas OU e são usadas para controlar a direção da mudança, seja para a direita ou para a esquerda.
A linha de controle esquerda / gravação é usada para determinar a direção para a qual os dados são deslocados, para a direita ou para a esquerda.
O registrador de deslocamento bidirecional 74HC194 é um bom exemplo. O registro pode operar em todos os modos e variações de entrada ou saída serial e paralela. O diagrama funcional do 74HC194 destacando a linha de controle, relógio, pinos de entrada e saída é mostrado abaixo.
O diagrama de tempo do dispositivo também é mostrado abaixo. Isso ajudará você a entender melhor como a linha de controle controla as ações do registro.
6. Contadores
Os contadores, às vezes chamados de registrador de rotação de rotação, são basicamente registradores de deslocamento com suas saídas realimentadas no dispositivo como entradas de modo a criar um padrão específico. Esses tipos de registradores são chamados de contadores devido ao padrão e à sequência que exibem. O tipo mais popular de contadores de registro de deslocamento são os contadores de anel.
Contador de anéis
Os contadores de anel são basicamente um tipo de contador no qual a saída do bit mais significativo é realimentada como uma entrada para o bit menos significativo. Um contador de anel de 4 bits é ilustrado no diagrama abaixo usando D flip-flops.
Quando o pulso de clock é aplicado, a saída de cada estágio é deslocada para o próximo e o ciclo continua. Quando clear é girado para alto, todos os flip-flops exceto o primeiro (que é definido como 1) é zerado.
Aplicações de registros de deslocamento
Os registradores de deslocamento são usados em muitas aplicações, algumas das quais;
1. Conversão paralela para serial, onde são utilizadas para reduzir o número de fios, ou linhas necessárias para a comunicação entre dois dispositivos, uma vez que a comunicação serial geralmente requer apenas dois fios em comparação com a paralela que depende do número de bits enviados.
2. Expansão IO para microcontroladores. Na eletrônica moderna, os pinos IO dos microcontroladores são chamados de imóveis e é necessário o máximo possível para certas aplicações como ligar 100 leds ou ler 100 reed switches com algo como um Arduino ou o microcontrolador Atmeg328p. Por exemplo, o diagrama de circuito abaixo ilustra como um registro de deslocamento serial para paralelo pode ser usado para controlar 8 LEDs, usando apenas três dos pinos IO dos microcontroladores.
3. Eles são usados em registradores de estado que são usados em dispositivos sequenciais. Como uma máquina de memória finita, o próximo estado do dispositivo é sempre determinado pela mudança e inserção de novos dados na posição anterior.
4. Uma outra aplicação principal é encontrada em Atrasos de tempo. Registradores de deslocamento são usados para retardo de tempo em dispositivos, com o tempo sendo ajustado pelo relógio, ou aumentado por registradores de deslocamento em cascata ou reduzido tomando a saída de um bit inferior significativo.
O atraso de tempo geralmente é calculado usando a fórmula;
t = N * (1 / fc)
N é o número do estágio de flip-flop no qual a saída é obtida, Fc é a frequência do sinal de clock e t, que é o valor sendo determinado, é a quantidade de tempo em que a saída será atrasada.
Ao selecionar um registrador de deslocamento para uma tarefa específica por causa da ampla gama e tipo, é importante selecionar um que corresponda à sua necessidade específica, considerando coisas como o modo de operação, o tamanho do bit (número de flip-flops), direita ou esquerda ou bidirecional etc.
Alguns dos registradores de deslocamento mais populares são;
- 74HC 194 registro de deslocamento universal bidirecional de 4 bits
- 74HC 198 registrador de deslocamento universal bidirecional de 8 bits
- 74HC595 Registro de deslocamento Serial-In-Parallel-Out
- 74HC165 Registro de deslocamento Parallel-In-Serial-Out
- IC 74291 registrador de deslocamento universal de 4 bits, contador binário up / down, síncrono.
- IC 74395 registrador de deslocamento universal de 4 bits com saídas de três estados.
- IC 74498 registrador de deslocamento bidirecional de 8 bits com entradas paralelas e saídas de três estados.
- IC 74671 registro de deslocamento bidirecional de 4 bits.
- IC 74673 registro de deslocamento de saída serial de entrada serial de 16 bits com registros de armazenamento de saída.
- IC 74674 registro de deslocamento de saída serial paralelo de 16 bits com saídas de três estados.
Existem vários outros, você só precisa encontrar o que melhor se adapta à sua aplicação.
Obrigado pela leitura, até a próxima.