ADALM-PLUTO wersja Revision D

W marcu 2021 roku ukazała się poprawiona wersja Adalm-Pluto Revision D. Wersja C była identyczna z wersją B (bez 2 niebieskich przewodów). Firma Analog Device opublikowała nowe informacje dotyczące wersji D. Ponieważ firmware jest taki sam między wersjami D i C, firmware identyfikuje i rozpoznaje sprzęt w wersji D jako wersję C. Więcej informacji i schemat Adalm-Pluto Revision D można znaleźć pod adresem: https://wiki.analog.com/university/tools/pluto/hacking/hardware . Omówienie i dyskusję można znaleźć na forum AMSAT: https://forum.amsat-dl.org/index.php?thread/3686-adalm-pluto-revision-c/

We wpisie ADALM-PLUTO do satelity Es’hail-2 i nie tylko opisałem swoje doświadczenia z poprzednią wersją sprzętową Adalm-Pluto. Po uszkodzeniu płytki zdecydowałem się zamówić nowy egzemplarz. Zgodnie z oczekiwaniami otrzymałem wersję Adalm-Pluto Revision D.

Po wstępnym sprawdzeniu, że Pluto współpracuje z SDR Console przystąpiłem do dostosowania płytki do mojego systemu.

Uwaga – jeśli po podłączeniu Pluto do komputera zobaczysz komunikat „Failed to enumerate available contexts” – może to oznaczać konflikt adresu IP. W polu adresowym przeglądarki wpisz domyślny adres Pluto 192.168.2.1 . Jeśli zgłosi się inne urządzenie niż Pluto, należy w pliku config.txt zmienić „ipaddr = ” na inny adres, nieużywany w puli adresowej serwera sieci lokalnej. Po zapisaniu pliku config.txt należy wykonać operację „– Wysuń PlutoSDR (X:)”. Chodzi o dysk, a nie całe urządzenie! Nie odłączać Pluto!

W pierwszej kolejności wykonałem opisane w ADALM-PLUTO do satelity Es’hail-2 i nie tylko poprawki „hakerskie”. W tym celu wykorzystałem program terminalowy PuTTY z ustawieniami: Serial – COMxx – 112500 (gdzie xx to numer portu COM, pod którym w systemie zgłasza się Pluto). Po kliknięciu „Open” wpisałem login: root i Password: analog. Po zgłoszeniu się Pluto wprowadziłem komendy:
# fw_setenv attr_name compatible
# fw_setenv attr_val ad9364
# fw_setenv maxcpus
# pluto_reboot reset

W następnym kroku wymontowałem płytkę z plastikowej obudowy i wykonałem zalecane połączenie (za pomocą odcinka srebrzanki) obudów złączy USB z punktem GND. Następnie zamontowałem płytkę w metalowej obudowie i dokonałem podłączenia do płytki PTT: masa, +5V (pad niewlutowanego kondensator C185), GPIO0 i GPIO1. Do odpowiedniego gniazda IPEX dołączyłem sygnał 40 MHz z płytki Pluto-clocker (patrz niżej).

Aby przełączyć źródło sygnału generatora 40 MHz z wewnętrznego na zewnętrzny należy (po uruchomieniu terminala PuTTY lub podobnego) wprowadzić komendę:
# fw_setenv refclk_source external

Po restarcie Pluto uruchomiłem SDR Console – na ekranie pojawiły się charakterystyczne prążki z satelity QO-100, lecz przesunięte w częstotliwości górę o ok. 9,6 kHz. Jako przyczynę podejrzewałem fakt, że ustawiona fabrycznie wartość częstotliwości generatora zewnętrznego była różna od 40 MHz, co sprawdziłem komendą:
# fw_printenv ad936x_ext_refclk
Otrzymany rezultat: ad936x_ext_refclk=<39999804>. Nie wiadomo dlaczego nie zastosowano wartości nominalnej 40000000! Do zmiany tej wartości (zgodnie z https://wiki.analog.com/university/tools/pluto/devs/booting) służy komenda:
# fw_setenv ad936x_ext_refclk „<40000000>”

Po jej zastosowaniu teoretycznie było OK:
# fw_printenv ad936x_ext_refclk
ad936x_ext_refclk=<40000000>

Niestety – po restarcie Pluto znowu wracała „stara” częstotliwość:
# fw_printenv ad936x_ext_refclk
ad936x_ext_refclk=<39999804>

Zastosowanie komendy # fw_setenv ad936x_ext_refclk_override 40000000 oraz wprowadzenie wartości xo_correction=40000000 w pliku config.txt nie rozwiązały problemu. Po restarcie zawsze wracała „stara” częstotliwość i występowało przesunięcie częstotliwości odbioru w SDR Console,  które nie powinno występować, ponieważ zarówno częstotliwość zegara Pluto 40MHz, jak i częstotliwość wzorcowa LNB 25MHz były bardzo dokładne.

Zdecydowałem się na sprawdzenie z innymi wersjami firmware Adalm-Pluto. Zacząłem od najnowszej wersji v0.34 ze strony Analog Device. Potem sprawdziłem z poprzednio używaną wersją Evariste F5OEO. W końcu zainstalowałem (wraz z poprawkami) najnowszą dostępną wersję „perseverance 0303”, która dostosowana jest do wersji Revision D i umożliwia nie tylko obsługę PTT, ale także nadawanie sygnałów DVBT. Wersja ta jest do pobrania na stronie https://www.f5uii.net/en/patch-plutodvb/ .

Po pobraniu PlutoDVB perseverance firmware 0303 :pluto.zip(26,6M) oraz poprawki PlutoDVB Patch Detection Hardware Revision firmware perseverance 0303.zip – należy je rozpakować. Aby zainstalować nowy firmware należy skopiować plik pluto.frm na dysk Adalm-Pluto. Następnie należy wykonać operację „– Wysuń PlutoSDR (X:)”. Chodzi o dysk, a nie całe urządzenie! Dioda LED z lewej strony Pluto zaczyna szybko migać. Należy odczekać kilka minut, dopóki nie wróci do normalnego stanu. W czasie aktualizacji nie wolno odłączać kabla USB! Adalm-Pluto pojawi się w systemie Windows w postaci okna – dysk PlutoSDR (X:). Należy uruchomić info.html – Let’s go to PlutoDVB (on USB connection) – Main mode selection: Passthrough (SDR Console,…) – Apply Settings.

Aby zainstalować wspomniane wyżej poprawki, klikamy System – Maintenance, odszukujemy folder z rozpakowanymi plikami PlutoDVB Patch Detection Hardware Revision firmware perseverance 0303 , i klikamy: Upload.  Po zakończeniu ładowania wybieramy: Reboot the Pluto.

Niestety – wypomniane przesunięcie częstotliwości odbioru w SDR Console o wartości 9,6 kHz ciągle było obecne. Występowało także przesunięcie częstotliwości nadawania o 2,25 kHz.

Po wielu nieudanych eksperymentach zdecydowałem się rozwiązać problem na poziomie aplikacji. Jak wszyscy użytkownicy satelity QO-100 wiedzą, rzeczywista częstotliwość odbioru na wejściu Adalm-Pluto jest przesunięta o 9750 MHz w dół w stosunku do rzeczywistej częstotliwości nadajnika QO-100 (downlink) w pasmie 10 GHz i mieści się w zakresie 739,5-740 MHz. Z kolei częstotliwość nadawania na wyjściu Adalm-Pluto (uplink) jest w zakresie 2400 MHz, a przesunięcie w stosunku do  częstotliwości downlink wynosi 8089,5 MHz. Wystarczyło wprowadzić odpowiednie korekty w SDR Console (Select Radio – Definitions… – Edit):
RX: __9749.990.400
TX: __8089.497.750
i można już normalnie używać urządzenie jako transceiver. Jak widać na poniższym obrazku częstotliwość beacona 10489.750 kHz jest na swoim miejscu.

Uwaga – w maju 2023 postanowiłem wrócić do problemu przesunięcia częstotliwości w SDR console opisanego wyżej. Robiłem wiele eksperymentów, ostanie to:
– ponowne zainstalowanie firmware w wersji „perseverance 0303”
– usunięcie starych poprawek (patch) w Adalm-Pluto (System-Maintenance…)
– zainstalowanie najnowszej poprawki F5EOE PlutoDVB-Patch-Detection-Hardware-Revision-firmware-perseverance-0303-v2022-08-21.zip
– puszczenie (na wszelki wypadek) poprawek „hakerskich”
– # fw_setenv refclk_source external
– # fw_setenv ad936x_ext_refclk_override „<40000000>”

W efekcie Pluto z SDRConsole zaczęło działać tak jak powinno, czyli z nastawami: RX Offset 9.750.000.000 TX Offset 8.089.500.000. Nawet po resecie Pluto. Nareszcie!

Chociaż komenda # fw_printenv ad936x_ext_refclk dalej daje odpowiedź ad936x_ext_refclk=<39999804>. Na szczęście fałszywą.

Mirek SP5GNI

 

 

Liczba komentarzy: 2

Skomentuj

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *