Atraso no sinal TTL

9

Preciso projetar um circuito para atrasar um sinal de entrada por um determinado período de tempo (cerca de um segundo, aparável). O atraso deve ser definido através do uso de componentes passivos (resistores ou capacitores). O sinal de entrada é basicamente um nível TTL que aumenta em um determinado momento, permanece alto por algum tempo (100 ms deve ser um bom valor) e depois volta para baixo.

Não consigo usar um micro ou outro dispositivo programável porque o processo de certificação de firmware é muito caro.

Percebi uma solução funcional que usa um feed de rede RC em um comparador acionado por Schmidt (com uma referência de tensão fixa colocada na entrada contra o nível de tensão RC). Não estou muito satisfeito com esta solução por dois motivos principais:

  1. o atraso necessário implica letras maiúsculas bastante imprecisas;
  2. o alto nível do sinal de entrada precisa durar pelo menos tanto quanto 'atraso';

Requisitos gerais:

  • duração do atraso 1 s +/- 500 ms precisão +/- 10%
  • O evento atrasado deve durar um tempo razoável, digamos que pelo menos 100ms (e menos de 200ms).

formas de onda de exemplo de sinais de entrada e saída

weirdgyn
fonte
4
Ou você pode usar um registrador de deslocamento, se você tiver algum sinal de clock adequado disponível
Richard o Spacecat
11
Eu acho que você precisa desenhar um diagrama do sinal de entrada e do sinal de saída, anotado com o que causa o que e quais são os requisitos para o sinal de saída. Não está claro o que você quer dizer com 'sinal', seja apenas a borda de entrada + ve, ou apenas a borda -ve, ou ambas, e o que acontece quando o tempo entre elas muda. Um monoestável como o HC123 pode ser o que você precisa ou não, dependendo do que você deseja.
Neil_UK
3
Ah, e o bom e velho temporizador 555?
calcium3000
9
A declaração "Meu firmware precisa ser certificado" não se encaixa bem com "Não sei como atrasar um sinal digital". Você pode nos dar sua própria estimativa de como você é experiente? (Sério, escrever um bom firmware geralmente é mais fácil do que projetar bons circuitos analógicos e, se a certificação for um requisito para um sistema crítico para a vida, eu prefiro que você não projete a parte analógica se não souber como implementar )
Marcus Müller
11
Mas: onde o hardware para e o software começa? Uma solução muito viável, especialmente se você estiver lidando com mais de um sinal digital que precise ser roteado, e se precisar economizar na contagem de componentes e no espaço da placa, é apenas projetar um layout mínimo de CPLD com um relógio e contador internos e encomende estas peças (frequentemente disponíveis pré-programadas, até). É hardware configurado, então, não software? Tenho certeza que seus padrões definem isso!
Marcus Müller

Respostas:

10

O Analog Devices / Linear Technology LT6993-1 (consulte o circuito abaixo) é um gerador de pulsos com borda positiva que possui uma frequência de clock programável por resistor e um valor e polaridade programável do resistor e polaridade, com atrasos de até 33 segundos com ~ 3% de precisão.

Um conversor A / D interno converte a tensão de entrada DIV em um seletor de divisor de 8 bits e um seletor de polaridade de 1 bit. A frequência do relógio e o valor do divisor determinam a largura do pulso de saída. As configurações de divisores grandes permitem que resistores de tamanho razoável gerem longos atrasos.

O circuito abaixo (da folha de dados) mostra como usar dois chips para gerar um pulso atrasado em resposta à borda ascendente de um pulso de entrada. Os valores do resistor precisariam ser ajustados para corresponder aos atrasos exigidos. Os valores sugeridos do resistor DIV são mostrados na tabela abaixo do circuito.

insira a descrição da imagem aqui

insira a descrição da imagem aqui

crj11
fonte
8

A Custom Silicon Solutions fabrica o CSS555C , que é um cronômetro 555 casado com um amplo contador. Permite contar vários ciclos de temporizador para usar resistores de tamanho razoável para gerar atrasos muito longos. Ele possui um capacitor interno ajustável para ajustar os atrasos, portanto nem precisa de um capacitor externo.

O circuito abaixo mostra o modo monoestável de vários ciclos. Você precisaria de duas fichas. O primeiro chip geraria seu atraso de 1 segundo e o segundo chip seria acionado no final do atraso para gerar o pulso de 100ms.

Se você pesquisar no Google "preço CSS55C", poderá encontrar fontes para comprar a peça.

configuração mono

crj11
fonte
Boa sugestão (eu já tentei o NE555, mas tive alguns problemas); tentarei novamente.
Weirdgyn
6

A página 14 da nota do aplicativo Texas Instruments 74LS123 tem um exemplo de um circuito de atraso digital usando as duas metades do '123. Você pode ajustar o atraso e a largura do pulso de saída variando os valores de Rext. Se você não precisar finalizar aleatoriamente o pulso de saída, poderá amarrar as entradas 'B' e as entradas nítidas altas.

BobT
fonte
Soa bem e muito simples ... Eu tenho que dar uma chance.
Weirdgyn
3

Percebi uma solução funcional que usa um feed de rede RC em um comparador acionado por Schmidt (com uma referência de tensão fixa colocada na entrada contra o nível de tensão RC).

Esta é realmente a maneira muito padrão de implementar um atraso em um circuito digital.

Não estou muito satisfeito com esta solução por dois motivos principais:

  • o atraso necessário implica letras maiúsculas bastante imprecisas;

Bem, basta usar um R maior, então! O atraso é definido pelo produto de R e C, para que você possa trocar um pelo outro - e resistores de grande valor são mais fáceis de obter exatos do que capacitores de grande valor.

  • o alto nível do sinal de entrada precisa durar pelo menos tanto quanto 'atraso';

Portanto, talvez substitua seu gatilho Schmitt pré-definido por limites de histerese predefinidos por um gatilho com um limite alto de "ligado para ligado" e um limite baixo de "ligado para desligado".

Marcus Müller
fonte
3

Outra solução de 2 chips. A vantagem dessa abordagem é o relógio contínuo que pode ser medido e ajustado, possivelmente mais fácil do que cronometrar um evento único.

O pulso de entrada define a trava NAND que remove a redefinição do contador, permitindo a contagem. Após 8 pulsos de relógio, a saída aumenta. O próximo pulso de clock redefine a trava NAND que mantém o contador em redefinição, desativando-o.

Os outros dois portões formam um oscilador RC, os valores mostrados devem colocá-lo em torno de 8 Hz por um segundo de atraso e largura de pulso de 125ms.

insira a descrição da imagem aqui

Quase pronto
fonte
Eu sempre upvote qualquer resposta que usa um 4017 ;-)
nekomatic
2

O 74HC4538 é um que eu sempre usei. 1 segundo termina no final de seu intervalo. Este é um acordo de pacote único, uma vez que possui duas unidades separadas. O primeiro forneceria o atraso e sua saída conduziria o segundo, o que produziria a largura final do pulso.

Para ser mais claro, talvez: a primeira seria configurada como uma unidade acionada pela borda positiva e sua saída Q conduziria a segunda one-shot configurada para detecção de borda negativa. O período do primeiro seria de um segundo e a segunda unidade teria qualquer largura de pulso desejada (dentro da razão, é claro - provavelmente menos de um segundo seria bom).

E se você estiver preocupado com a interface entre TTL e CMOS, não fique. Supondo que o CMOS seja a única carga em uma saída TTL, adicionar um resistor pull-up de 1k a +5 fará o truque sem problemas.

WhatRoughBeast
fonte