Em lógica digital, qual é a diferença entre um inversor comum e um inversor Schmitt-trigger?

Resposta publicada originalmente no Quora em 26/07/2019

Em eletrônica:

Um Schmitt trigger é um circuito comparador com histerese implementado pela aplicação de realimentação positiva à entrada não inversora de um comparador ou amplificador diferencial.

Ele é um circuito ativo que converte um sinal de entrada analógica em um sinal de saída digital.

O circuito é chamado de “gatilho” (trigger) porque a saída retém seu valor até que a entrada mude o suficiente para disparar uma mudança no sinal de saída.

O Schimitt trigger possui dois níveis de disparo que são o ‘limiar superior’ e o ‘limiar inferior’ conforme indicado na função de transferência exibida abaixo:

Os eixos horizontal e vertical correspondem respectivamente à tensão de entrada e de saída. T e −T são os limites de comutação, e M e −M são os níveis de tensão de saída.

O diagrama abaixo compara o comportamento de um circuito Schimitt triger com um buffer, ambos não inversores.

Configuração inversora e não inversora:

Na configuração não inversora, quando a entrada é maior que o limiar superior, a saída é alta. Quando a entrada está abaixo do limiar inferior, a saída é baixa e, quando a entrada está entre os limiares inferior e superior, o valor na saída do circuito é constante.

Na configuração inversora, quando a entrada é maior que o limiar superior, a saída é baixa. Quando a entrada está abaixo do limiar inferior, a saída é alta e, quando a entrada está entre os limiares inferior e superior, o valor na saída do circuito é constante.

Esse comportamento de limiar de disparo duplo que o sinal de saída muda quando o sinal de entrada atinge valores limiares distintos, é chamada de histerese. Podemos até dizer que o Schimitt trigger possui memória e pode atuar como um multivibrador biestável (latch ou flip-flop).

Existe uma estreita relação entre os dois tipos de circuitos: um Schimitt trigger pode ser convertido em um latch e vice versa.

Schimitt trigger serve para fazer o condicionamento de sinais em circuitos digitais reduzindo o ruído dos mesmos, particularmente reduzindo (não elimina completamente em alguns casos) o efeito de repique (bounce) de chaves eletromecânicas. Também são utilizados em configurações com feedback em loop negativo, implementando osciladores de relaxamanto que encontram aplicação em geradores de função e fontes de alimentação chaveadas.

Há várias maneiras de se implementar um circuito Schmitt trigger e uma delas seria pela utilização de um amplificador operacional.

Pode-se fazer um conversor analógico-digital utilizando um amplificador operacional cuja entrada analógica recebe o sinal e a saída do amplificador operacional fornece o sinal de saída digital.

Isso é possível por conta do alto ganho do amplificador operacional e quando o sinal passa de um certo limite, a saída satura ou corta imediatamente como em um processo de avalanche.

Abaixo seguem dois diagramas básicos (não são circuitos completos), um utilizando a entrada não inversora e outro utilizando a entrada inversora de um amplificador operacional:

Comparador não inversor:

Para o comparador não inversor os dois resistores R1 e R2 formam um somador de tensão paralela. Ele soma uma parte da tensão de saída à tensão de entrada, aumentando-a durante e após a comutação, que ocorre quando a tensão resultante está próxima de zero. Este feedback positivo paralelo cria a histerese necessária que é controlada pela proporção entre as resistências R1 e R2. A saída do somador de tensão paralela é em relação ao terra, então o circuito não precisa de um amplificador com entrada diferencial. Como os amplificadores operacionais convencionais têm uma entrada diferencial, a entrada inversora é aterrada para criando o ponto de referência zero volts.

Comparador inversor:

Para a versão utilizando o comparador inversor, a atenuação e a soma são separadas. Os dois resistores R1 e R2 atuam apenas como um divisor de tensão (atenuador “puro”). O loop de entrada atua como um somador de tensão simples que soma uma parte da tensão de saída em série à tensão aplicada no circuito de entrada. Este feedback positivo em série cria a histerese necessária que é controlada pela proporção entre as resistências de R1 e a resistência do conjunto R1 e R2. A tensão efetiva aplicada à entrada do amplificador operacional está flutuando, logo, o amplificador operacional deve ter uma entrada diferencial.

Maiores detalhes sobre essa configuração pode ser vista na Wikipedia e está bem detalhada no livro The Art of Electronics.

Na eletrônica digital:

A implementação desse tipo de circuito é representada pelos símbolos abaixo e normalmente estão dentro de circuitos integrados:

Símbolo que representa um Schmitt trigger. Ele possui o desenho de uma curva de histerese dentro do símbolo lógico de um buffer, cuja saída pode ser normal ou inversa (com a bolinha). Detalhes acerca do comportamento de um circuito integrado Schmitt trigger deve ser verificada na documentação do componente, que é fornecida pelo fabricante.

Para saber mais, temos as seguintes opções:

Em computação e lógica digital, como funciona o código Gray e qual é a sua aplicação?

Texto publicado inicialmente no Quora em 23/07/2019

O código binário refletido (reflected binary code – RBC), também conhecido como código binário refletido (reflected binary RB) ou código cinza (Gray code – depois dos estudos de Frank Gray), consiste da ordenação do sistema numeral binário de maneira tal que dois valores binários sucessivos tenham apenas um bit de diferença entre ambos.

O código Gray foi inicialmente projetado para minimizar o efeito de ruídos aleatórios causados pelo chaveamento de dispositivos eletromecânicos como relés.

Hoje em dia o código Gray é largamente utilizado para facilitar a correção de erros em sistemas de comunicação digital como em televisão e em alguns sistemas de TV a cabo.

Considerando um sistema de posicionamento eletromecânico que faz uso de uma contagem binária, é muito improvável que interruptores físicos consigam comutar simultaneamente à medida que ocorre o posicionamento desse sistema e essa falta de sincronismo causa ruídos no circuito. Para contornar essa limitação, foi criado o Gray Code, que somente uma chave por vez muda de estado à medida que o posicionamento acontece, contornando o problema da falta sincronização na atuação das chaves mecânicas.

Abaixo segue uma tabela exibindo a diferença entre o código binário e o código Gray. Conforme dito, note que no código Gray, apenas um bit muda entre o valor anterior e o valor posterior.

Aplicações:

Em matemática pode ser aplicado na resolução do problema da Torre de Hanoi.

Émile Baudot utilizou o código Gray nos telégrafos em 1878.

Frank Gray patenteou em 1953 um método para converter sinais analógicos para o código Gray utilizando válvula,que fez o sistema “pegar o seu nome”.

Minimização de circuitos booleanos (lógica digital) na rotulação dos eixos do mapa de Karnaugh.

É utilizado em sistemas de posicionamento tanto lineares como rotativos (encoder). Inicialmente era eletromecânico e atualmente utiliza sensores óticos, de efeito hall ou usa outras tecnologias eletrônicas.

Figura: Petruzella

Também pode ser aplicado em outras áreas como algoritmos genéticos, minimização de circuitos eletrônicos e correção de erros, por exemplo.

Fontes:

Wikipedia

PETRUZELLA, Frank D.. Programmable Logic Controllers. 4. ed. New York: Mc Graw Hill, 2005. 396 p. ISBN 978-0-07-351088-0.

Last updated by at .