RP2040 zawiera procesor PIO (po jednym na rdzeń), który pozwala sterować wyjściami nawet z prędkością zegara systemowego.
Dość łatwo można uzyskać przebieg sinusoidalny 3.5-3.8 MHz za pomocą 8-bitowej drabinki R/2R:
Na zdjęciu niekoniecznie jest sinusoida
. Do znalezienia błąd w przetworniku lub w programie.
Program napisałem w Pythonie (Thonny). Opracowanie danych dla generatora zajmuje kilka sekund.
Dla każdej częstotliwości potrzebne są osobne obliczenia, więc do zastosowań w Rx/Tx należałoby sięgnąć po C/C++.
Ze wstępnych obliczeń wynika, że da się uzyskać raster kilku herców, ale nie są to stałe kroki.
Znaczne zwiększenie generowanej częstotliwości, zwiększenie ilości bitów ponad 8, zmiana na generator I/Q powoduje wystąpienie problemów z wydajnością DMA. Możliwe, że problemy te da się przynajmniej częściowo rozwiązać.
Wykorzystując jeden rdzeń do sterowania, drugi do filtrów być może dałoby się zrobić TRX-a na 80m z minimalną liczą elementów.
Dość łatwo można uzyskać przebieg sinusoidalny 3.5-3.8 MHz za pomocą 8-bitowej drabinki R/2R:
Na zdjęciu niekoniecznie jest sinusoida
. Do znalezienia błąd w przetworniku lub w programie.Program napisałem w Pythonie (Thonny). Opracowanie danych dla generatora zajmuje kilka sekund.
Dla każdej częstotliwości potrzebne są osobne obliczenia, więc do zastosowań w Rx/Tx należałoby sięgnąć po C/C++.
Ze wstępnych obliczeń wynika, że da się uzyskać raster kilku herców, ale nie są to stałe kroki.
Znaczne zwiększenie generowanej częstotliwości, zwiększenie ilości bitów ponad 8, zmiana na generator I/Q powoduje wystąpienie problemów z wydajnością DMA. Możliwe, że problemy te da się przynajmniej częściowo rozwiązać.
Wykorzystując jeden rdzeń do sterowania, drugi do filtrów być może dałoby się zrobić TRX-a na 80m z minimalną liczą elementów.
Andrzej

