Opóźnianie sygnału TTL

9

Muszę zaprojektować obwód opóźniający sygnał wejściowy o określony czas (około sekundy, możliwość przycięcia). Opóźnienie należy ustawić za pomocą elementów pasywnych (rezystorów lub kondensatorów). Sygnał wejściowy to w zasadzie poziom TTL, który w pewnym momencie wzrasta, pozostaje wysoki przez pewien czas (100 ms powinno być niezłą wartością), a następnie wraca na niskim poziomie.

Nie mogę użyć mikro ani innego programowalnego urządzenia, ponieważ proces certyfikacji oprogramowania układowego jest zbyt kosztowny.

Uświadomiłem sobie działające rozwiązanie, które wykorzystuje zasilanie z sieci RC do komparatora wyzwalanego przez Schmidta (ze stałym napięciem odniesienia umieszczonym na wejściu w stosunku do poziomu napięcia RC). Nie jestem bardzo zadowolony z tego rozwiązania z dwóch głównych powodów:

  1. potrzebne opóźnienie oznacza duże niedokładne duże limity;
  2. wysoki poziom sygnału wejściowego musi trwać co najmniej tak długo, jak „opóźnienie”;

Ogólne wymagania:

  • czas opóźnienia 1 sek. +/- 500 ms dokładność +/- 10%
  • Opóźnione zdarzenie powinno trwać przez rozsądny czas, powiedzmy co najmniej 100 ms (i mniej niż 200 ms).

przykładowe przebiegi sygnałów wejściowych i wyjściowych

weirdgyn
źródło
4
Możesz też użyć rejestru przesuwnego, jeśli masz odpowiedni sygnał zegara
Richard the Spacecat
1
Myślę, że musisz narysować schemat sygnału wejściowego i wyjściowego, opatrzony adnotacjami, co powoduje co i jakie są wymagania dotyczące sygnału wyjściowego. Nie jest jasne, co rozumiesz przez „sygnał”, czy jest to tylko zbocze wejściowe + ve, czy tylko zbocze -ve, czy jedno i drugie, i co dzieje się, gdy zmienia się czas między nimi. Monostabilny, taki jak HC123, może być tym, czego potrzebujesz, lub nie, w zależności od tego, czego chcesz.
Neil_UK
3
Ahem, a co powiesz na dobry, stary 555 zegar?
wapń 3000
9
Stwierdzenie „Moje oprogramowanie musi być certyfikowane” nie pasuje do „Nie wiem, jak opóźnić sygnał cyfrowy”. Czy możesz podać nam własną ocenę swojego doświadczenia? (Poważnie, pisanie dobrego oprogramowania układowego jest zwykle łatwiejsze niż projektowanie dobrych obwodów analogowych, a jeśli certyfikacja jest wymagana dla systemu o krytycznym znaczeniu dla życia, wolałbym nie projektować części analogowej, jeśli nie wiesz, jak zaimplementować opóźnienie)
Marcus Müller
1
Ale: gdzie zaczyna się sprzęt i oprogramowanie? Bardzo realnym rozwiązaniem, szczególnie jeśli masz do czynienia z więcej niż jednym sygnałem cyfrowym, który i tak wymaga routingu, i jeśli chcesz zaoszczędzić na liczbie komponentów i przestrzeni na płytce, to po prostu zaprojektować minimalny układ CPLD z wewnętrznym zegarem i licznikiem i zamówić te części (często nawet wstępnie zaprogramowane). To skonfigurowany sprzęt, a nie oprogramowanie? Jestem pewien, że twoje standardy to określają!
Marcus Müller,

Odpowiedzi:

10

Analog Devices / Technologia LT6993-1 liniowe (patrz obwodu poniżej) jest zbocze narastające wyzwalany generator impulsów, który ma częstotliwość zegara rezystora programowalny i rezystor programowalnych rozdzielacza i polaryzacji, z opóźnieniem do 33 sekund ~ dokładnością do 3%.

Wewnętrzny przetwornik A / D przekształca napięcie wejściowe DIV w 8-bitowy selektor dzielnika i 1-bitowy selektor polaryzacji. Częstotliwość zegara i wartość dzielnika określają szerokość impulsu wyjściowego. Duże ustawienia dzielnika pozwalają rezystorom o rozsądnej wielkości generować duże opóźnienia.

Poniższy obwód (z karty danych) pokazuje, jak wykorzystać dwa układy do generowania impulsu opóźnionego w odpowiedzi na narastające zbocze impulsu wejściowego. Wartości rezystorów będą musiały zostać dostosowane w celu dopasowania do wymaganych opóźnień. Sugerowane wartości rezystorów DIV pokazano w tabeli poniżej obwodu.

wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj

crj11
źródło
8

Niestandardowe rozwiązania krzemowe sprawiają, że CSS555C jest zegarem 555 podłączonym do szerokiego licznika. Pozwala policzyć wiele cykli czasowych, aby użyć rezystorów o rozsądnych rozmiarach, aby wygenerować naprawdę duże opóźnienia. Ma przycinany wewnętrzny kondensator, aby dostroić opóźnienia, więc nie potrzebuje nawet zewnętrznego kondensatora.

Poniższy obwód pokazuje tryb monostabilny w wielu cyklach. Potrzebujesz dwóch żetonów. Pierwszy układ wygeneruje 1 sekundowe opóźnienie, a drugi układ zostanie wyzwolony na końcu opóźnienia w celu wygenerowania impulsu 100 ms.

Jeśli przejrzysz w Google „cenę CSS55C” , możesz znaleźć źródła, w których możesz kupić część.

konfiguracja mono

crj11
źródło
Dobra sugestia (już próbowałem NE555, ale miałem pewne problemy) Spróbuję ponownie.
weirdgyn
6

Strona 14 noty aplikacyjnej Texas Instruments 74LS123 zawiera przykład cyfrowego obwodu opóźniającego wykorzystującego obie połówki „123”. Możesz dostosować opóźnienie i szerokość impulsu wyjściowego, zmieniając wartości Rext. Jeśli nie musisz losowo przerywać impulsu wyjściowego, możesz powiązać wejścia „B” i wyczyścić wejścia wysokie.

BobT
źródło
Brzmi dobrze i dość prosto ... Muszę spróbować.
weirdgyn
3

Uświadomiłem sobie działające rozwiązanie, które wykorzystuje zasilanie z sieci RC do komparatora wyzwalanego przez Schmidta (ze stałym napięciem odniesienia umieszczonym na wejściu w stosunku do poziomu napięcia RC).

Jest to rzeczywiście bardzo standardowy sposób realizacji opóźnienia w obwodzie cyfrowym.

Nie jestem bardzo zadowolony z tego rozwiązania z dwóch głównych powodów:

  • potrzebne opóźnienie oznacza duże niedokładne duże limity;

W takim razie po prostu użyj większego R! Opóźnienie jest określone przez iloczyn R i C, więc możesz wymieniać jeden na drugi - a rezystory o dużych wartościach są łatwiejsze do uzyskania niż kondensatory o dużych wartościach.

  • wysoki poziom sygnału wejściowego musi trwać co najmniej tak długo, jak „opóźnienie”;

Może więc zastąp gotowego wyzwalacza Schmitta predefiniowanymi granicami histerezy wyzwalaczem o wysokim progu „od włączenia do włączenia” i niskim progu „włączenia – wyłączenia”.

Marcus Müller
źródło
3

Kolejne rozwiązanie 2-chipowe. Zaletą tego podejścia jest ciągły zegar, który można mierzyć i regulować, być może łatwiejszy niż pomiar zdarzenia jednorazowego.

Impuls wejściowy ustawia zatrzask NAND, który usuwa Reset z licznika, umożliwiając zliczanie. Po 8 impulsach zegarowych wyjście przechodzi w stan wysoki. Następny impuls zegarowy resetuje zatrzask NAND, który utrzymuje licznik w stanie zerowania, wyłączając go.

Pozostałe dwie bramki tworzą oscylator RC, pokazane wartości powinny wynosić około 8 Hz dla opóźnienia 1 sekundy i szerokości impulsu 125 ms.

wprowadź opis zdjęcia tutaj

Prawie skończone
źródło
Zawsze głosuję za odpowiedzią, która używa 4017 ;-)
nekomatic
2

74HC4538 jest jednym Używałem często. Upłynęła 1 sekunda na końcu zakresu. Jest to oferta obejmująca jeden pakiet, ponieważ ma dwie oddzielne jednostki. Pierwszy zapewni opóźnienie, a jego moc wyjściowa napędza drugi, co wytworzy końcową szerokość impulsu.

Być może dla uproszczenia: pierwszy byłby skonfigurowany jako dodatnia jednostka wyzwalana zboczem, a jego wyjście Q sterowałoby drugim jednorazowym strzałem skonfigurowanym do wykrywania ujemnego zbocza. Okres pierwszego wynosiłby jedną sekundę, a druga jednostka miałaby dowolną szerokość impulsu, jaką chcesz (oczywiście z rozsądku - prawdopodobnie prawdopodobnie mniej niż sekunda byłaby dobra).

A jeśli martwisz się połączeniem TTL z CMOS, nie rób tego. Zakładając, że CMOS jest jedynym obciążeniem na wyjściu TTL, dodanie 1k rezystora pullup do +5 załatwi sprawę bez żadnych problemów.

WhatRoughBeast
źródło