Mam szerokość impulsu 5 ns High wychodzącą z komparatora, który jest asynchroniczny. Próbuję policzyć ten puls. Mój obecny mikrokontroler (dsPIC33FJ) ma asynchroniczny licznik na pokładzie, z minimalną specyfikacją co najmniej 10 ns szerokości impulsu High.
Jakie są moje opcje przedłużenia / wydłużenia tego impulsu 5 ns, aby mógł zostać odczytany przez licznik? Jestem otwarty na przejście na inny mikrokontroler lub użycie bardziej wykwalifikowanego licznika front-end, ale wolałbym zamiast tego użyć pasywnego / prostego obwodu. czy to możliwe?
Co do tej pory badałem:
Próbowałem związać kondensator .1uF między sygnałem wyjściowym a ziemią w nadziei, że rozładowanie go spowolni, ale wszystko to mocno zniekształciło sygnał. Czy mogę użyć znacznie niższej wartości?
Badałem próbki i trzymałem układy scalone, ale najkrótszy czas akwizycji, jaki udało mi się znaleźć, to około 200 ns, co nie jest odpowiednie dla mojej aplikacji.
źródło
Odpowiedzi:
Moniwabilny multiwibrator z możliwością ponownego uruchomienia, taki jak 74LV123 , dobrze spełni Twoje wymagania:
Jest to standardowy układ logiczny, bardzo niewielka złożoność, aw pakiecie znajdują się dwa monostabilne na wypadek potrzeby rozciągnięcia innego źródła impulsu.
Część jest dostępna w DIP, a także w TSSOP, więc płyta tartaczna i opcje produkcyjne.
Mam nadzieję, że to pomogło.
źródło
Oto prosty nosze z dodatnim impulsem z pewnymi warunkami:
Wzmocnienie tranzystora sprawi, że moc wyjściowa wzrośnie szybko, ale potem zaniknie z powrotem do ziemi zgodnie ze stałą czasową RC, która w tym przykładzie wynosi 47 ns.
Jednym z problemów jest to, że możesz nie być w stanie tolerować spadku napięcia BE. Jeśli wejście PIC wymaga 80% Vdd dla gwarantowanego wysokiego poziomu, a procesor pracuje z 3,3 V, wówczas OUT musi być powyżej 2,6 V, aby interpretować je jako wysokie. Jeżeli jednak IN jest również sygnałem logicznym 3,3 V i przy założeniu spadku 700 mV BE, wówczas OUT zawsze osiąga jedynie 2,6 V.
Obwód ten może być nadal użyteczny, jeśli minimalny wysoki próg logiczny PIC jest niższy lub IN jest wyższym napięciem. Niektóre wejścia na niektóre części 33F są tolerowane 5 V. Jeśli możesz ustawić IN jako sygnał logiczny 5 V i użyć tolerancyjnego wejścia 5 V, będziesz miał wystarczający margines dla stałej czasowej, aby utrzymać linię wysoką na dłużej niż puls.
Jeśli OUT może w jakiś sposób zagwarantować, że osiągnie 3,3 V w szczycie impulsu, a gwarantowane wysokie wejście logiczne PIC wynosi 2,6 V, wówczas obwód ten rozciąga puls o około 1/2 stałej czasowej lub około 24 ns w ten przykład.
źródło
Jak często otrzymujesz puls? Czy twój licznik może policzyć narastające i opadające krawędzie zamiast pulsów?
Jeśli impulsy nie są zbyt częste, uruchom puls na wejście zegara T-Flip-Flop. Za każdym razem, gdy pojawi się impuls, wyjście TFF będzie się przełączać, tworząc zbocze. Impulsy muszą być wystarczająco daleko od siebie, aby MCU miał czas na zarejestrowanie zbocza, zanim pojawi się następny.
Jeśli MCU nie jest w stanie poradzić sobie z narastającymi i opadającymi zboczami, być może możesz użyć dwóch liczników (jeden zbocze narastające, jeden zbocze opadające), a nawet po prostu zaakceptować fakt, że możesz liczyć tylko co dwa impulsy.
źródło
Programowalna linia opóźniająca powinien robić to, co jesteś po. Rozciągnie puls 5 ns w dowolnym miejscu między 5 ns a 500 ns. Powyższy egzemplarz jest niedostępny w DigiKey, ale arkusz danych jest dobrym materiałem do zapoznania się z teorią. Oto jeden z Linear, który jest w magazynie i powinien zrobić to, na co masz nadzieję.
źródło
Oto bardzo prosty nosze pulsacyjne. Może używać uniwersalnej bramki logicznej NC7SZ58P6X do implementacji bramki OR. Arkusz specyfikacji pokazuje maksymalne opóźnienie propagacji 4,3 nS przy 5 V.
symulacja tego obwodu - Schemat utworzony przy użyciu CircuitLab
źródło