Ritardare un segnale TTL


9

Ho bisogno di progettare un circuito per ritardare un segnale in ingresso di un dato periodo di tempo (circa un secondo, ritagliabile). Il ritardo deve essere impostato mediante l'uso di componenti passivi (resistori o condensatori). Il segnale di ingresso è fondamentalmente un livello TTL che sale ad un certo momento, rimane alto per qualche tempo (100ms dovrebbe essere un buon valore), quindi torna basso.

Non riesco a utilizzare un micro o altro dispositivo programmabile perché il processo di certificazione del firmware è troppo costoso.

Ho realizzato una soluzione funzionante che utilizza un'alimentazione di rete RC in un comparatore innescato Schmidt (con un riferimento di tensione fissa posizionato in ingresso rispetto al livello di tensione RC). Non sono molto soddisfatto di questa soluzione per due motivi principali:

  1. il ritardo necessario implica grandi limiti piuttosto imprecisi;
  2. l'alto livello del segnale di ingresso deve durare almeno quanto il "ritardo";

Requisiti generali:

  • durata del ritardo 1 sec +/- 500 ms precisione +/- 10%
  • L'evento ritardato dovrebbe durare per un tempo ragionevole diciamo almeno 100ms (e meno di 200ms).

forme d'onda di esempio di segnali di ingresso e uscita


4
Oppure potresti usare un registro a scorrimento, se hai qualche segnale di clock adatto disponibile
Richard the Spacecat

1
Penso che sia necessario tracciare un diagramma del segnale di ingresso e del segnale di uscita, annotato con ciò che causa cosa e quali sono i requisiti per il segnale di uscita. Non è chiaro cosa intendi per "segnale", sia che si tratti solo dell'input + ve che sta andando avanti, o solo del -ve edge, o di entrambi, e che cosa succede quando cambia il tempo tra di loro. Una monostabile come HC123 potrebbe essere ciò di cui hai bisogno, oppure no, a seconda di ciò che desideri.
Neil_UK,

3
Ehm, che ne dici del buon vecchio timer 555?
soccer3000,

9
L'affermazione "Il mio firmware deve essere certificato" non va bene con "Non so come ritardare un segnale digitale". Puoi darci il tuo preventivo di quanto sei esperto? (Seriamente, scrivere un buon firmware di solito è più facile che progettare buoni circuiti analogici, e se la certificazione è un requisito per un sistema critico per la vita, preferirei che non progettassi la parte analogica se non sai come implementare un ritardo)
Marcus Müller,

1
Ma: dove si ferma l'hardware e inizia il software? Una soluzione molto praticabile, soprattutto se si ha a che fare con più di un segnale digitale che necessita comunque di routing e se è necessario risparmiare sul conteggio dei componenti e sullo spazio della scheda, è semplicemente progettare un layout CPLD minimo con un clock e un contatore interni e ordina queste parti (spesso disponibili preprogrammate, anche). È un hardware configurato, quindi, non un software? Sono sicuro che i tuoi standard lo definiscono!
Marcus Müller,

Risposte:


10

L' Analog Devices / Linear Technology LT6993-1 (vedi circuito sotto) è un generatore di impulsi bordo triggered positivo che ha una frequenza di clock resistore programmabile ed un valore divisore programmabile resistore e polarità, con ritardi fino a 33 secondi con precisione ~ 3%.

Un convertitore A / D interno converte la tensione di ingresso DIV in un selettore divisore a 8 bit e un selettore di polarità a 1 bit. La frequenza di clock e il valore del divisore determinano l'ampiezza dell'impulso di uscita. Le grandi impostazioni del divisore consentono ai resistori di dimensioni ragionevoli di generare lunghi ritardi.

Il circuito sottostante (dalla scheda tecnica) mostra come utilizzare due dei chip per generare un impulso ritardato in risposta al fronte di salita di un impulso di ingresso. I valori dei resistori dovrebbero essere regolati per adattarsi ai ritardi richiesti. I valori di resistenza DIV suggeriti sono mostrati nella tabella sotto il circuito.

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine


8

Custom Silicon Solutions rende il CSS555C , che è un timer 555 sposato con un contatore largo. Ti consente di contare più cicli del timer per utilizzare resistori di dimensioni ragionevoli per generare ritardi davvero lunghi. Ha un condensatore interno ritagliabile per ottimizzare i ritardi, quindi non ha nemmeno bisogno di un condensatore esterno.

Il circuito seguente mostra la modalità monostabile multi-ciclo. Avresti bisogno di due chip. Il primo chip genererebbe il ritardo di 1 secondo e il secondo chip verrebbe attivato alla fine del ritardo per generare l'impulso di 100 ms.

Se si google "prezzo CSS55C" è possibile trovare fonti in cui è possibile acquistare la parte.

installazione mono


Buon suggerimento (ho già provato NE555 ma ho avuto alcuni problemi) Ci riproverò.
weirdgyn,

6

La pagina 14 della nota dell'app 74LS123 di Texas Instruments ha un esempio di un circuito di ritardo digitale che utilizza entrambe le metà del '123. È possibile regolare sia il ritardo che la larghezza dell'impulso di uscita variando i valori di Rext. Se non è necessario terminare in modo casuale l'impulso di uscita, è possibile collegare gli ingressi "B" e gli ingressi liberi in alto.


Suona bene e abbastanza semplice ... Devo provarlo.
weirdgyn,

3

Ho realizzato una soluzione funzionante che utilizza un'alimentazione di rete RC in un comparatore innescato Schmidt (con un riferimento di tensione fissa posizionato in ingresso rispetto al livello di tensione RC).

Questo è davvero il modo molto standard di implementare un ritardo in un circuito digitale.

Non sono molto soddisfatto di questa soluzione per due motivi principali:

  • il ritardo necessario implica grandi limiti piuttosto imprecisi;

Bene, allora usa solo una R più grande! Il ritardo è definito dal prodotto di R e C, quindi puoi scambiarne uno con l'altro - e i resistori di grande valore sono più facili da ottenere esatti rispetto ai condensatori di grande valore.

  • l'alto livello del segnale di ingresso deve durare almeno quanto il "ritardo";

Quindi, forse sostituisci il tuo trigger Schmitt già pronto con limiti di isteresi predefiniti con un trigger con una soglia "off-to-on" alta e una soglia "on-off" bassa.


3

Un'altra soluzione a 2 chip. Il vantaggio di questo approccio è l'orologio continuo che può essere misurato e regolato, probabilmente più semplice del cronometrare un evento one-shot.

L'impulso di ingresso imposta il fermo NAND che rimuove il reset dal contatore, consentendogli di contare. Dopo 8 impulsi di clock l'uscita aumenta. L'impulso di clock successivo ripristina il fermo NAND che mantiene il contatore in reset, disabilitandolo.

Le altre due porte formano un oscillatore RC, i valori mostrati dovrebbero metterlo di circa 8 Hz per un ritardo di 1 secondo e una larghezza dell'impulso di 125 ms.

inserisci qui la descrizione dell'immagine


Valuto sempre qualsiasi risposta che usi un 4017 ;-)
nekomatic

2

Il 74HC4538 è uno che ho usato spesso. 1 secondo è alla fine del suo intervallo. Questo è un pacchetto unico, poiché ha due unità separate. Il primo fornirebbe il ritardo e la sua uscita guiderà il secondo, il che produrrebbe la larghezza dell'impulso finale.

Per essere più chiari, forse: il primo sarebbe configurato come unità innescata dal fronte positivo, e la sua uscita Q avrebbe guidato il secondo one-shot che è configurato per il rilevamento del bordo negativo. Il periodo del primo sarebbe di un secondo, e la seconda unità avrebbe qualsiasi ampiezza di impulso desiderata (entro limiti ragionevoli, ovviamente - probabilmente meno di un secondo sarebbe buono).

E se sei preoccupato di interfacciare TTL con CMOS, non esserlo. Supponendo che il CMOS sia l'unico carico su un'uscita TTL, l'aggiunta di una resistenza pullup da 1k a +5 farà il trucco senza problemi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.