HomeMade

Pełna wersja: LMK61E2 kontra SI570 (SI571)
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Ja nie znam się na tych ppm i jitter tak dobrze jak niektórzy z tego forum i proszę o pomoc. Widzę w sieci, że istnieje na świecie generator Texas Instruments LMK61E2. Jest duuUUUuuużo tańszy niż SI570 (w wersji co potrafi zrobić 1GHz).
LMK61E2 też potrafi tyle wycisnąć i widzę że ma lepsze parametry szumowe.
Jeśli za 60 zł naprawdę można mieć alternatywę dla wypasionej wersji SI570 to byłaby dla nas wszystkich SUPER wiadomość.
Generator ten planuję wykorzystać, między innymi, eksperymentalnie do taktowania AD9951 - chcę sprawdzić czy pozbędę się trochę spursów z sygnału, który napędza mi analizator widma.

LMK61E2 = 68zł
SI570(810MHz) = 133zł (przy 50 sztukach)
Ceny z Mousera.
(Nie załączam pdf-ów bo są ogólnie dostępne w sieci)
Teraz powstaje tylko pytanie czy jest jakiś haczyk czający się z nocie katalogowej tego generatora.
Na pierwszy rzut oka wydaje się, że to wzajemnie równoważne komponenty. Jednak nurtuje mnie czas i zakres zaskoku VCO charakterystyczny dla SI570. Czyżby to był jakiś zdecydowany plus czy tylko nie doczytywałem?
Jestem zainteresowany tematem, natomiast martwię się o przebiegi.
Odbiornik zbudowany na NE602 po podaniu sygnału z Si5351 świrował, pierdział, piszczał.
Mówi się, że przy częstotliwościach UKFu w grę wchodzi tylko synteza z LO.
Artur możesz użyć i SI problem jest jedynie właściwa amplituda oscylatora. Wielokrotnie podawałem prostokąt i zawsze to działało. Z prostokąta jak Ci zależy zrobisz sinus przepuszczając sygnał przez filtr dolnoprzepustowy.
(09-11-2016 10:51)SP4EJT napisał(a): [ -> ]...
LMK61E2 = 68zł
SI570(810MHz) = 133zł (przy 50 sztukach)
Ceny z Mousera.
Właśnie się dowiedziałem, że Mouser przy zakupie dolicza VAT.
Porównanie SI570 i LMK61E2 tutaj
https://www.changpuak.ch/electronics/LMK61E2.php
Witam!

Jako, że mam pewne doświadczenia w programowaniu SI570 to z zaciekawieniem zajrzałem do dokumentacji LMK61E2.

dokumentacja producenta (Texas Instruments)

Układ jest chyba dedykowany głównie do pracy w systemach nadajika/odbiornika szybkiego Ethernetu bo zamieszczone przykłady aplikacji w zasadzie ograniczają się wyłącznie do tego zakresu.

Jakkolwiek, formuła dotycząca częstotliwości generatora jest mniej więcej tak samo skomplikowana jak w przypadku SI570 bo wygląda następująco:

FOUT = FVCO / OUTDIV -> gdzie
FVCO = FREF × D × [(INT + NUM/DEN)]
FREF dla SI570 to ok. 114MHz a tu działa generator 50MHz (lub 100MHz jeśli zmienna D=2).

to dalej nie jest już tak "prosto".

Pocieszające jest to, że żadna ze zmiennych nie ma długości większej niż 22 bity co pozwala na uniknięcie obliczeń podwójnej precyzji niezbędnych w przypadku SI570.

O ile jednak w przypadku SI570, w zasadzie, można byłoby już zacząć programować układ trzymając się dwóch prostych reguł o tyle LMK61E2 to już prawdziwy kombajn i chyba umiejętność programowania, nie wsparta wiedzą na temat PLL, może nie wystarczyć.

W LMK61E2 można programować wszystko a niektóre z ustawień muszą być wzięte pod uwagę co najmniej raz a inne przy każdej zmianie częstotliwości.

Oczywiście można programować częstotliwość wyjściową zgodnie z powyższymi formułami ale także sposób konfiguracji wyjścia, prąd ładowania "charge pomp PLL", szerokość pasma pętli PLL, dublowanie częstotliwości wzorca, tajemniczą wartość "Program Charge Pump Phase Shift" oraz "Closed Loop Wait Period" aż do wartości oprników RC filtru dolnoprzepustowego pętli PLL (2 rezystory i 2 kondensatory).

Część z wymienionych wartości programuje się prawdopodobnie raz i można je na stałę zapamiętać ale z pewnym niepokojem czytam o optymalizacji szerokości pasma PLL właśnie ze względu na optymalny "jitter" sygnału. Wprawdzie ogólna formuła nakazuje

"at rule of thumb, keeping the phase detector frequency approximately between 10 × PLL loop bandwidth and 100 × PLL loop bandwidth"

ale w dokumentacji nie znajdziemy żadnego praktycznego przykładu obliczeń ani doboru właściwych, lub zalecanych, wartości poszczególnych zmiennych. W szczególności dobór filtru dolnoprzepustowego (wartości 2 rezystorów i 2 pojemności) kwituje się informacją, że

"is recommended to use the WEBENCH Clock Architect Tool to design your loop filter"

Tak więc mój początkowy entuzjazm nieco osłabł gdy uświadomiłem sobie, że nie znam algorytmu jakim operuje "WEBENCH Clock Architect Tool" i nie będę mógł prawidłowo dobrać właściwych wartości filtra dolnoprzepustowego z punktu widzenia optymalnego jitter.

Cena jest zachęcająca ale dla częstotliwości w zakresie do kilkuset MHz jitter, nawet kilkukrotnie mniejszy niż dla SI570 nie jest problemem. Problemem w przypadku SI570 jest długi stan nieustalony podczas zmian częstotliwości wymagających głębszej ingerencji w rejestry. Daje to właśnie owe osławione stuki o ile poziom sygnału heterodyny nie jest odpowiednio duży a sam mieszacz nie ma odpowiedniej konstrukcji.

Niestety, manual nie informuje również o dynamice układu podczas przestrajania choć wiadomo, że jakieś stany przejściowe muszą w nim zachodzić. Jedyne na co natrafiłem to "Closed Loop Wait Period - CLSDWAIT", dla którego zalecana wartość to 500us (czyli 0.5ms -> ok. 200Hz w dziedzinie cząstotliwości).

Piszę o układzie raczej z pozycji programisty niż konstruktora stąd większość uwag mam do programowania układu ale przypuszczam, że z cyfrowego charakteru układu mogą wynikać również cyfrowe "odpowiedzi" - choćby prawdopodobny okres dostrojenia pętli w czasie 0.5ms, który może się dać wysłyszeć w odn=bieranym sygnale.

Dlatego z zaintreresowaniem będę śledził temat, może znajdzie się pierwszy odważny kto zastosuje układ i przetestuje jego zachowanie w odbiorniku? Bo, że układ działa na karcie sieciowej, z ustaloną częstotliwością pracy to wiadomo - przynajmniej tym się chwali producent w dokumentacji.

L.J.
Tu jest opis syntezy na LMK61E2 10-850MHz. Autor dodał też kod programu do Arduino.
Witam!

Dziękuję za link do oprogramowania, widziałem go wcześniej ale teraz spróbowałem zagłębić się w kod programu.
I choć nie jestem specjalistą w zakresie C dla Arduino to wydaje mi się, że algorytm nie zawiera sekcji gdzie dobierane byłyby parametry układu ze względu na generowaną częstotliwość. Program zawiera sekcję "INIT LMK61E2" gdzie prawdopodobnie ustawiane są na stałe wszystkie niezbędne stany układu, poza rejestrami dotyczącymi częstotliwości. Te zaś ustawiane są oczywiście w powiązaniu ze stanem impulsatora.

Nie ma więc w przykładzie prawdopodobnie żadnej optymalizacji ustawień filtra ze względu na jitter choć, jak pisałem wcześniej, nie jitter jest tu istotny a raczej odpowiedź układu na zmianę częstotliwości od impulsatora.

Podana wcześniej wartość "Closed Loop Wait Period - CLSDWAIT" - rzędu 0.5ms dotyczyć może bardzo dużych zmian częstotliwości a podczas płynnego przestrajania, charakterystycznego dla zwykłego odsłuchu pasma, może tego efektu nie da się zauważyć w ogóle.

Podobnie jest z SI570, który ma pewien margines tolerancji pętli PLL i możliwe jest "bezstukowe" przestrajanie częstotliwości w otoczeniu częstotliwości wyliczonej z algorytmu, w zakresie od kilkunastu kHz - dla najmniejszych częstotliwości, do kilku MHz dla częstotliwości wysokich. Wymaga to jednak odpowiedniego oprogramowania procesora, który musi rozpoznawać wielkość odstrojenia od ostatnio wybranej częstotliwości za pomocą algorytmu podstawowego.
Sądzę, że jedynie praktyka rozstrzygnie ten dylemat.

L.J.
Przekierowanie