Como usar o CI 74HC595 – Shift Register Deixe um comentário

Como continuação do meu último post Entendendo os Registradores de Deslocamento – Shift Register, hoje vamos falar de um CI muito utilizado no mercado e que você provavelmente precisará utilizá-lo em seus projetos algum dia. Hoje iremos falar do CI 74HC595, um CI Registrador de Deslocamento Serial-Paralelo que com toda certeza irá te auxiliar em validações e em seus projetos ou até mesmo fará parte do seu projeto final.

O que faz o CI 74HC595 ser tão especial afinal?

Para falar a verdade… nada. O CI não possui nada de especial, mas ele possui uma construção que te permite utilizá-lo em muitas aplicações, criando uma infinidade de opções para diversos tipos de circuitos, tais como circuitos de Ethernet, controle de interfaces ou controle de Matrizes de LED ‘s, por exemplo.

Hoje vamos mostrar a sua construção e veremos do que ele é capaz. Antes de qualquer coisa, estarei disponibilizando o Datasheet do CI 74HC595 para que vocês possam acompanhar as informações e complementar a leitura do post.

Entendendo o CI 74HC595

Vamos começar entendendo o seu Diagrama Lógico:

Representação do Diagrama Lógico do CI 74HC595
Figura 1 – Diagrama Lógico do CI 74HC595

Não irei adentrar no funcionamento dos circuitos conhecidos que caracterizam o CI como um Shift Register (Serial Data, Parallel Data e Reset), pois já expliquei no post Entendendo os Registradores de Deslocamento – Shift Register. Vamos começar por este bloco lógico Latch, responsável pela parte que é “diferente”.

Circuito LATCH

Como o seu nome sugere, Latch pode assumir em sua tradução como trava ou Ferrolho e em ambos os casos conseguimos descrever bem o seu funcionamento. O circuito de Latch é o circuito responsável por travar ou liberar as saídas paralelas do CI. Não só travar, mas habilitar ou desabilitar as saídas.

Mas qual a diferença entre travar a saída ou desabilitar a saída?

Vamos dar uma olhada no esquemático do circuito interno do CI para entender a diferença entre os dois:

Imagem representando o circuito interno do CI 74HC595
Figura 2 – Esquemático do Circuito Interno do CI 74HC595

No nosso esquemático podemos observar dois circuitos distintos:

  • O Primário, responsável pelo funcionamento do Shift Register, armazenando os dados do Serial Data Input A(Pino 14) e andando com os dados aos pulsos de do sinal de Shift Clock(Pino 11) ;
  • O Secundário, responsável por travar os sinais das Saídas Paralelas através do Latch Clock e por Habilitar ou Desabilitar os as Saídas Paralelas.

Como você pôde observar, antes de cada Saída Paralela temos um “circuito inversor”, tal como o observado na Figura 3.

Imagem representando o “circuito inversor” do CI 74HC595
Figura 3 – Circuito Lógico para isolar o sinal de Saída

Este circuito é responsável por habilitar ou desabilitar a saída, ou seja, habilitar o sinal ou colocar a saída em um estado de Alta Impedância, sendo controlado pelo sinal de Output Enable.

Associado a este circuito de Enable, temos um outro circuito responsável por atualizar o sinal de saída de acordo com o circuito Primário. Este circuito é controlado pelo sinal de Latch Clock, onde quando ocorre um pulso no Clock o sinal de saída é atualizado.

Figura 4 – Circuito de “Atualização” das Saídas

Testando na Prática o CI 74HC595

Vamos voltar para o exemplo do post Entendendo os Registradores de Deslocamento – Shift Register, onde podemos ver nitidamente a diferença que este circuito faz na prática.

Gif mostrando a aplicação do Registrador de Deslocamento do CI 74HC595
Figura 5 – Exemplo de aplicação Registrador de Deslocamento

Como podemos observar, toda vez que temos um pulso do Sinal de Clock temos uma atualização imediata das saídas nos LED’s. No caso do CI 74HC595 nós conseguimos atualizar todos os Bits de dados do Shift Register e, somente quando finalizarmos, atualizarmos estes dados, como visto na Figura 6.

Gif exemplificando a aplicação com o CI 74HC595
Figura 6 – Exemplo de aplicação com o CI 74HC595

Como é possível observar, o pino de CLK_Latch é responsável por atualizar os dados que estão armazenados nas saídas do Shift Register, enquanto o Output Enable habilita ou não as saídas.

Output Enable e seus 3 estados

Você provavelmente já escutou que um circuito pode assumir somente dois estados lógicos, Alto e Baixo, ou 1 e 0, certo? E se eu te contar que esta afirmação não está totalmente correta.

Antes de mais nada, vamos entender o que é este valor alto e este valor baixo, certo?

Entendemos como um valor alto como sendo um sinal de tensão positiva maior que 0V na teoria, enquanto que na prática isto pode variar um pouco. No nosso CI 74HC595 temos como nível lógico alto toda leitura maior que 3V (Valor aproximado), implicando que o nosso CI só irá identificar assertivamente como nível lógico alto os valores acima de 3V.

O mesmo temos para o valor baixo, onde na teoria temos todos os valores iguais a 0V ou conectados ao GND (Ddp igual a 0). Na prática temos que os valores abaixo de 1.3V serão identificados assertivamente pelo nosso CI 74HC595 como um nível baixo.

Imagem ilustrando que na entrada do LED temos nível lógico Alto (Alimentação em 5V) e na saída do LED temos nível lógico baixo (GND)
Figura 7 – Dois estados Lógicos representados

Na figura 7 temos isso muito bem ilustrado, onde na entrada do LED temos nível lógico Alto (Alimentação em 5V) e na saída do LED temos nível lógico baixo (GND). E isto implica no seguinte, se invertermos a polaridade dos LEDs da Figura 6 e fizermos uma inversão do ponto de GND para um ponto de Vcc, teremos os LEDs acesos quando as saídas estiverem em nível lógico baixo e apagados quando estiverem em nível alto.

Imagem ilustrando uma matriz de LED invertida
Figura 8 – Matriz de LED invertida

Vamos supor que temos uma aplicação que necessite que as saídas sejam iguais para essas duas matrizes de LEDs, onde uma tem que ser o inverso da outra. Neste caso, como faríamos para apagar ambas as matrizes de LEDs ao mesmo tempo? Com dois estados apenas, não temos esta opção

Imagem ilustrando os dois estados possíveis para o caso da matriz de LED invertida
Figura 9 – Dois estados possíveis para o caso da matriz de LED invertida

Agora que entendemos o problema, vamos entender a solução: O 3 estado possível para um circuito lógico, o estado de Alta Impedância.

Alta Impedância

Para um LED acender ou para um circuito funcionar, deve-se obrigatoriamente se ter uma corrente passando pelo o circuito, seguindo as leis de Ohm e de Kirchhoff. Isto vale para o nosso exemplo acima, onde a corrente no sentido convencional corre pelo ponto de maior potencial para o ponto de menor potencial.

Imagem ilustrando a corrente passando pelos LED nos dois estados nas matrizes.
Figura 10 – Corrente passando pelos LED nos dois estados nas matrizes.

E se nós cortarmos o fio?
Independente do estado que aplicamos na saída, nenhum dos LEDs irá acender, pois não teremos corrente sob o componente para fazê-lo funcionar!!!

Estado de alta Impedância com o fio cortado
Figura 11 – Exemplificando o Estado de Alta Impedância

É neste sentido que temos o estado de alta impedância, um estado onde não temos nem alto, nem baixo, mas sim um estado com uma impedância tão alta que a corrente não passa pelo circuito, quase como se contássemos os pinos do CI do circuito. Logo teremos o seguinte resultado na matriz do nosso exemplo.

Funcionamento da Matriz no Estado de Alta Impedância
Figura 12 – Funcionamento do Estado de Alta Impedância

Outros Pontos importantes do CI 74HC595

Agora que passamos pelos pontos funcionais mais interessantes deste CI, vamos passar por algumas características elétricas interessantes deste circuito.

  • 9 pinos de Saída (8 Saídas Paralelas e 1 Serial);
  • Interface direta com SPI;
  • Carga Máxima por pino de 24mA (15 LSTTL de carga);
  • Faixa de operação de 2V – 6V;
  • Interface direta para CMOS, NMOS e TTL;
  • Pino de Reset para o circuito – Habilita as saídas em LOW
Diagrama mostrando a linha do tempo de operação do CI 74HC595
Figura 13 – Timeline de operação do CI (Timing Diagram)

Bom, agora você já aprendeu a utilizar este circuito e já consegue fazer muitas aplicações com ele. Comece com projetos de Matriz de LED e, posteriormente, tente implementar com protocolos de comunicação (Serial e SPI), o céu é o limite!!!

Não esquece de deixar seu comentário abaixo contando o que achou do CI 74HC595!


Se você tiver dúvidas, sugestões ou experiências para compartilhar, fique a vontade para deixar um comentário abaixo. E para não perder nenhum conteúdo como este, não deixe de nos seguir no Instagram.

Faça seu comentário

Acesse sua conta e participe