sexta-feira, 22 de abril de 2016

Shift Register... chega pra lá, fazendo o favor !!!

Shift Register, um conversor de serial em paralelo.

Quando projetamos circuitos eletrônicos utilizando microcontroladores podemos nos deparar com o problema da existência de poucas portas de comunicação, uma boa solução é a utilização de um conversor de serial em paralelo, assim podemos expandir o número de saídas digitais.
Vou apresentar agora cada um dos conceitos envolvidos nesse tipo de circuito para depois juntar todas as peças desse quebra-cabeças.
Bit: Nesse circuito e em muitos outros o uso do termo bit identifica uma informação que pode ser armazenada indicando um estado lógico, como vimos nas portas lógicas, onde 0 é o mesmo que falso ou LOW (0V) e 1 é verdadeiro ou HIGH (5V).
Entrada serial: os bits são enviados um por vez usando o mesmo canal, para que o receptor saiba quando ocorre a mudança de bit pode ser usado um temporizador sincronizado ou uma fonte de sincronismo gerada pelo emissor.
Saída paralela: todos os bits carregador serialmente no registrador ficam disponíveis cada qual em sua saída individual.
Deslocamento de bit: A entrada funciona como uma fila, a cada novo bit que chega os outros que já existem são deslocados para a próxima posição, o último bit é "jogado pra fora" do circuito por uma porta para esse fim e pode ser usado para "transbordar" esse bit para a entrada de outro circuito.
Tamanho do registrador: Número de bits que podem ser armazenados, depende do tipo de circuito integrado, alguns modelos são construídos para suportar 4 ou 8 bits, mas eles podem ser "cascateados" de forma que juntos podem funcionar como um único circuito de tamanho maior.
Porta de três estados: Já vimos que existem dois estados possíveis em um sistema binário (falso/verdadeiro, 0/1, desligado/ligado, etc..) mas alguns circuitos implementam um terceiro estado que não representa nenhum dos dois casos chamado de alta impedância, é como se o circuito estivesse desconectado, isso é útil quando utilizamos uma saída comum unindo a saída de vários outros circuitos, nesse estado ele não interfere no sinal dos outros circuitos.
Clock: Entrada que dá o ritmo de leitura dos bits seriais e também faz com que os existentes sejam deslocados.
Latch: Se você acompanha o Blog deve ter lido o meu artigo sobre Latch, se ainda não leu e quiser entender mais sobre o assunto pode dar uma olhada lá, para quem não quer saber disso agora eu vou comentar brevemente, o Latch é um circuito que, quando acionado, faz uma cópia dos dados das entradas e os deixa disponíveis na saídas, depois de acionado o pulso de cópia os dados de saída não se modificam mais (como uma foto) até que seja solicitada uma nova cópia.

Juntando tudo: O Shift register é um circuito integrado onde os bits entram por uma única porta de forma serial, controlada pelo pino de clock preenchendo as posições internas do registrador por meio de deslocamento (Shift), após carregar todos os bits podemos acionar um Latch que copia todos os bits de uma vez para a saída paralela, enquanto essa saída não estiver habilitada ela estará em alta impedância, após a habilitação da saída, cada pino apresentará um sinal equivalente ao bit que foi carregado.

O circuito Shift Register é construído por meio de uma série de circuitos chamados flip-flops, cada um armazena um bit, a entrada de um é ligado na saída do seu predecessor e a saída do último vai para um dos pinos do CI que pode ser usado como entrada do próximo CI, no caso de cascateamento.
Veja a ilustração abaixo:


Cada flip-flop é ilustrado por uma caixa, o sinal CK é o clock que faz a leitura do bit em D, colocando o seu valor na saída Q, observe que o valor anterior de um flip-flop é a entrada do próximo, no exemplo existem 4 bits e a sua saída paralela está nos sinais Q0 a Q3.
O dado entra pelo SERIAL IN, a cada pulso em CK os dados são lidos e deslocados e o bit em Q3 vai para o SERIAL OUT. É como se fossem várias caixas que transferem os seus conteúdos para a caixa ao lado e a última despeja o seu conteúdo pra fora do circuito.

O Latch, quando acionado, tira uma "foto" do registrador de deslocamento e faz com que eles sejam mostrados na saída paralela, veja o diagrama abaixo que mostra a pinagem do TTL 74595 e com ele implementa o Shift Register com Latch em um único circuito integrado:


Podemos usar esse circuito integrado em nossos projetos eletrônicos, por meio de apenas 3 pinos digitais de saída podemos controlar 8 saídas digitais ou mais, bastando ligar o pino 9 (SERIAL DATA OUTPUT) no pino 11 (SHIFT CLOCK) de outro circuito obtendo assim um registrados de 16 bits e ligando em paralelo os sinais de CLOCK e LATCH.
Veja um exemplo de como usar o circuito:


Para controlar 8 LEDs o microcontrolador precisa enviar cada bit pela porta de entrada "dataPin", pulsando (alternando entre 1 e 0) o sinal na portal "clockPin" e, ao final da transferência, pulsar o sinal na portal "latchPin" para que os bits transferidos sejam enviados para as saídas controlando cada um dos LEDs individualmente.

Nenhum comentário:

Postar um comentário