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.

Como é que o som de uma música é convertido em sinal digital e armazenado na memória do computador?

Resposta originalmente postada no Quora em 22/07/2019

À medida que o tempo passa e que uma música é tocada conforme indicado na figura abaixo, ocorre o seguinte processo:

Diagrama geral da conversão Analógica para digital
  1. Um sistema de sincronismo, gera um sinal de clock que vai sincronizar o trabalho todo.
  2. Esse sinal de clock de tempos em tempos dispara uma ordem para que seja “tirada uma foto” da música que está tocando. Em outras palavras: o clock aciona um circuito para tirar uma amostra do sinal de áudio.
  3. Essa amostra do sinal de áudio corresponde ao volume do som que está sendo tocado, é uma voltagem que pode ser maior ou menor.
  4. Esse amostra indicando a intensidade instantânea do som é enviada para um conversor analógico digital que converte esse valor para um número digital, composto por zeros e uns.
  5. Por último esse número digital é gravado na memória.

Na hora de tocar a música, basta fazer o caminho contrário: Ir lendo na mesma velocidade que foram gravados esses números e ir convertendo esses números para intensidade de som (converter de digital para analógico) para depois acionar o alto falante e reproduzir a música.

Abaixo tem o diagrama em blocos de um circuito integrado conversor Analógico – Digital mais antiguinho com saída em dados paralela (D0 – D9) para ser gravado na memória:


E aqui o diagrama em blocos de um conversor Analógico – Digital, mais moderno com interface SPI para conectar em um Arduino, por exemplo:

Qual é o significado de ‘ativo baixo’ e ‘ativo alto’ em circuitos digitais e projetos lógicos?

Pergunta originalmente postada o Quora, em nov/2016

Em circuitos digitais quando:

Um sinal é ‘ativo baixo’, significa que o sinal irá executar sua função quando seu nível lógico for 0

Um sinal é ‘ativo alto’, significa que o sinal irá executar sua função quando seu nível lógico for 1

Considerando o sinal ‘habilita_clock’, a figura abaixo mostra um exemplo de sinal ativo alto no lado esquerdo e um exemplo de sinal ativo baixo no lado direito da figura.

Diferença entre ‘ativo alto’ e ‘ativo baixo’.

Simples assim. Espero que ajude. Dê uma setinha para cima se você achar útil.

Last updated by at .