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.