11-09-2018, 11:54
Hej
Przy okazji projektu generatora sterowanego GPS'em trochę podłubałem i poczytałem w temacie PLL, FLL itp.
Nie wszyscy wiedzą ale jest też DLL czyli Delay Locked Loop (https://en.wikipedia.org/wiki/Delay-locked_loop) Podstawową sprawą w takiej pętli jest linia opóźniająca której opóźnienie reguluje się napięciowo (i analogowo)... Sprawa nietrywialna w amatorskim wykonaniu ale.. ale!
Cyfrowa linia opóźniająca do DLL (nie mylić z taktowanym rejestrem przesuwnym!) jest w sumie wykonana bardzo podobnie jak zwykły bufor cyfrowy z tym że napięcie zewnętrzne reguluje czas w jakim "zadziałają" tj. przełączą się wewnętrzne tranzystory.
Każdy kto przegląda noty katalogowe scalaków cyfrowych wie że transition time (czyli czas przejścia zbocza) zależy od napięcia. Im mniejsze tym scalak jest bardziej leniwy. To prosta fizyka wynikająca z konieczności ładowania/rozładowywania wewnętrznych struktur i pojemności.
Wziąłem więc 74HC04 (sześć inwerterów), połączyłem w szereg i dodałem regulator napięcia (0-5V) na zasilaniu. Do pierwszego inwertera dałem sygnał 1kHz (taki miałem pod ręką) przez bramkę shmidta.
Przy zasilaniu 5V sześć inwerterów daje opóźnienie ~20nS. Przy zasilaniu 2.5V opóźnienie jest około 100nS. Można regulować płynnie. Jeśli trzeba mniejszego opóźnienia, dajemy mniej inwerterów. Przy większych opóźnieniach było widać "jitter" ale może to (zdziwił bym się jakby nie) być wina płytki stykowej, hihi.
Trzeba uważać bo jeśli napięcie zasilania jest mniejsze niż napięcie wejściowe na bramkę, zabezpieczające diody przesyłają wejście na linię zasilającą. Kondensatory i dobry stabilizator przydatne. Jeśli napięcie wyjściowe będzie za małe przyda się jakiś bufor który podbije do TTL. No i nie można za bardzo spowolnić bramek bo wtedy szybsze sygnały nam ugrzęzną i nici z linii..
Jeśli chcemy wygenerować szereg impulsów zsynchronizowanych w czasie z pierwszym, wyprowadzamy sygnał z każdego inwertera przez bramkę XOR (proszę popatrzeć na tak zwany XOR frequency doubler albo schematy DLL).
Ot, taka ciekawostka. Może się komuś przyda. Może będzie ciąg dalszy?
Przy okazji projektu generatora sterowanego GPS'em trochę podłubałem i poczytałem w temacie PLL, FLL itp.
Nie wszyscy wiedzą ale jest też DLL czyli Delay Locked Loop (https://en.wikipedia.org/wiki/Delay-locked_loop) Podstawową sprawą w takiej pętli jest linia opóźniająca której opóźnienie reguluje się napięciowo (i analogowo)... Sprawa nietrywialna w amatorskim wykonaniu ale.. ale!
Cyfrowa linia opóźniająca do DLL (nie mylić z taktowanym rejestrem przesuwnym!) jest w sumie wykonana bardzo podobnie jak zwykły bufor cyfrowy z tym że napięcie zewnętrzne reguluje czas w jakim "zadziałają" tj. przełączą się wewnętrzne tranzystory.
Każdy kto przegląda noty katalogowe scalaków cyfrowych wie że transition time (czyli czas przejścia zbocza) zależy od napięcia. Im mniejsze tym scalak jest bardziej leniwy. To prosta fizyka wynikająca z konieczności ładowania/rozładowywania wewnętrznych struktur i pojemności.
Wziąłem więc 74HC04 (sześć inwerterów), połączyłem w szereg i dodałem regulator napięcia (0-5V) na zasilaniu. Do pierwszego inwertera dałem sygnał 1kHz (taki miałem pod ręką) przez bramkę shmidta.
Przy zasilaniu 5V sześć inwerterów daje opóźnienie ~20nS. Przy zasilaniu 2.5V opóźnienie jest około 100nS. Można regulować płynnie. Jeśli trzeba mniejszego opóźnienia, dajemy mniej inwerterów. Przy większych opóźnieniach było widać "jitter" ale może to (zdziwił bym się jakby nie) być wina płytki stykowej, hihi.
Trzeba uważać bo jeśli napięcie zasilania jest mniejsze niż napięcie wejściowe na bramkę, zabezpieczające diody przesyłają wejście na linię zasilającą. Kondensatory i dobry stabilizator przydatne. Jeśli napięcie wyjściowe będzie za małe przyda się jakiś bufor który podbije do TTL. No i nie można za bardzo spowolnić bramek bo wtedy szybsze sygnały nam ugrzęzną i nici z linii..
Jeśli chcemy wygenerować szereg impulsów zsynchronizowanych w czasie z pierwszym, wyprowadzamy sygnał z każdego inwertera przez bramkę XOR (proszę popatrzeć na tak zwany XOR frequency doubler albo schematy DLL).
Ot, taka ciekawostka. Może się komuś przyda. Może będzie ciąg dalszy?