Alongando um pulso de 5 ns


13

Eu tenho uma largura de pulso de 5 ns alta saindo de um comparador que é assíncrono. Estou tentando contar esse pulso. Meu microcontrolador atual (dsPIC33FJ) possui um contador assíncrono a bordo, com uma especificação mínima de pelo menos 10 ns de largura de pulso Alta.

Quais são minhas opções para aumentar / alongar esse pulso de 5 ns para que possa ser lido pelo contador? Estou aberto a mudar para um microcontrolador diferente ou a usar um contador front-end mais qualificado, mas prefiro usar circuitos passivos / simples. Isso é possível?

O que eu pesquisei até agora:

  1. Tentei amarrar um capacitor .1uF entre o sinal de saída e o terra, na esperança de que a descarga o desacelerasse, mas tudo o que fiz foi distorcer fortemente o sinal. Posso usar um valor muito mais baixo?

  2. Pesquisei amostras e segurei ICs, mas o menor tempo de aquisição que encontrei é de cerca de 200 ns, o que não é adequado para a minha aplicação.


Nyquist diz que você precisa, pelo menos, um relógio de amostragem 400 MHz para teoricamente pegar um evento de duração 5ns ... se bem me lembro / calculado corretamente
vicatcu

6
Nyquist não tem nada a ver com isso. Não há questão de reproduzir um sinal analógico a partir de amostras de tempo discretas aqui.
The

2
Com que rapidez o pulso pode se repetir e você ainda precisará contá-lo como pulsos separados? Se for longo o suficiente, você pode tentar o SN74LVC1G123 ( ti.com/product/sn74lvc1g123 ).
The Photon

2
Confira este artigo do EE Times: A maca de pulso rápida e simples detecta eventos em nanossegundos . Existem comparadores rápidos com uma função de trava, que podem ser usados ​​para alongamento de pulso.
Nick Alexeev

Respostas:


16

Um multivibrador monoestável recuperável como o 74LV123 atenderia bem aos seus requisitos:

  • Largura mínima de pulso 3,0 ns para operação de 3 volts, 2,5 ns a 5 volts.
  • Largura de pulso de saída configurada por R / C externo, normalmente 470 microssegundos
  • Tempo de recuperação de 45 ns (3 volts) a 40 ns (5 volts).

É um IC lógico padrão, com pouca complexidade e há duas monoestáveis ​​no pacote, caso você precise esticar outra fonte de pulso.

A peça está disponível no DIP e no TSSOP, portanto opções de produção e placa de ensaio.

Espero que isso tenha ajudado.


6

Aqui está uma maca de pulso positivo simples com algumas condições:

O ganho do transistor fará a saída aumentar rapidamente, mas depois decairá de volta ao solo de acordo com a constante de tempo RC, que é de 47 ns neste exemplo.

Um dos problemas é que você pode não ser capaz de tolerar a queda de tensão BE. Se a entrada PIC exigir 80% de Vdd para uma alta garantida e o processador estiver executando a partir de 3,3 V, OUT deve estar acima de 2,6 V para ser interpretado como alto. No entanto, se IN também for um sinal lógico de 3,3 V e assumindo uma queda de 700 mV BE, então OUT só chega a 2,6 V em primeiro lugar.

Esse circuito ainda pode ser utilizado se o limite mínimo alto da lógica PIC for menor ou IN for uma tensão mais alta. Algumas entradas em algumas partes 33F são 5 V tolerantes. Se você puder organizar IN para ser um sinal lógico de 5 V e usar uma entrada tolerante de 5 V, você terá margem suficiente para a constante de tempo para manter a linha alta por mais tempo que o pulso.

Se, de alguma forma, for possível garantir que OUT atinja 3,3 V no pico do pulso e a entrada lógica alta garantida do PIC é 2,6 V, esse circuito esticará o pulso em cerca de 1/2 constante no tempo, ou cerca de 24 ns em este exemplo.


Por que não usar um opamp em vez do transistor para que a queda de tensão BE não seja um problema?
Joel B

2
Um opamp pode não ser rápido o suficiente. Eles não gostam especialmente de entradas de etapas.
gbarry

3

Com que frequência você está recebendo pulsos? Seu contador pode contar bordas ascendentes e descendentes em vez de pulsos?

Se os pulsos não forem muito frequentes, execute o pulso na entrada do relógio de um T-Flip-Flop. Toda vez que você pressiona, a saída TFF alterna, criando uma borda. Os pulsos devem estar suficientemente afastados para que o MCU tenha tempo de registrar a borda antes que a próxima apareça.

Se o MCU não conseguir trabalhar com as bordas ascendente e descendente, poderá usar dois contadores (uma borda ascendente, uma borda descendente) ou apenas aceitar que você só pode contar a cada dois pulsos.


2

Uma linha de atraso programável deve fazer o que você procura. Ele aumentará seu pulso de 5 ns entre 5 e 500 ns. O que está acima está fora de estoque na DigiKey, mas a folha de dados é uma boa leitura para mostrar a teoria. Aqui está um da Linear que está em estoque e deve fazer o que você espera.


A "largura de pulso mínima reconhecida" para essa parte linear é de 5 ns típica, sem nenhum mínimo ou máximo especificado. Na verdade, eu não usaria isso para um pulso de 5 ns, pois basicamente não há margem para erro e provavelmente não funcionará sobre PVT.

A peça Dallas Semi tem uma largura de pulso mínima de 5 ns (um mínimo mínimo, não típico como Linear Tech), o que a torna melhor que a peça Linear, mas pode ou não funcionar dependendo do que exatamente o OP precisa.

O DS1040 parece bom, mas, como David disse, o pulso mínimo de 5ns me deixa um pouco desconfortável. Eu vi a faixa de pulso de 4-7 ns. Quanto à frequência dos pulsos, eles podem ser separados por um comprimento tão curto quanto 5 ns (embora improvável). Eu gostaria de capturar o máximo de pulsos possível para garantir um sinal / contagem mais preciso. A Tecnologia Linear que você vinculou parece ter um mínimo de 1000 ns.
Cameron

1

Aqui está uma maca de pulso muito simples. Pode usar a porta lógica universal NC7SZ58P6X para implementar a porta OR. A folha de especificações mostra um atraso máximo de propagação de 4,3nS em 5v.

esquemático

simular este circuito - esquemático criado usando o CircuitLab

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.