Powrót do strony głównej

STM32H723 odbiornik SDR: I/Q na 16-bitowy ADC

Stanowisko odbiornika SDR KF na STM32H723ZGT6 realizuje przetwarzanie sygnałów I/Q 48 kHz z 16-bitowym ADC. Tor analogowy na mikserze Tayloe i filtrze dolnoprzepustowym Sallen-Key. Tryb autonomiczny z FFT, demodulacją i DAC; USB UAC1 dla PC.

SDR KF na STM32H723: od ADC do DAC
Advertisement 728x90

Realizacja odbiornika SDR na pasma KF z wykorzystaniem STM32H723 i 16-bitowego przetwornika ADC

Mikrokontroler STM32H723ZGT6 umożliwia realizację odbiornika SDR (Software-Defined Radio) na pasma KF (1–30 MHz) z wykorzystaniem mieszacza Tayloe. Sygnał audio jest wyprowadzany poprzez wewnętrzny 12-bitowy przetwornik DAC lub strumień I/Q do komputera PC za pośrednictwem interfejsu UAC1. Płytka drukowana o wymiarach 100×60 mm, czterowarstwowa, z wyprowadzeniem nieużywanych pinów mikrokontrolera na złącza PLS w celu rozbudowy.

Obwód wejściowy wykorzystuje detektor Tayloe. Testowano warianty z transformatorami i włączaniem symetrycznym — nie stwierdzono różnic w wydajności. Wybrano prosty układ, pomimo różnicy czułości rzędu 1–2 dB pomiędzy pasmem 160 m a 10 m.

Tor analogowy i filtracja

Z wyjścia mieszacza sygnały są wzmacniane za pomocą wzmacniaczy operacyjnych instrumentalnych w celu tłumienia zakłóceń wspólnych. Kolejny etap to aktywny filtr dolnoprzepustowy 4. rzędu według schematu Sallena-Key'a z częstotliwościami odcięcia 48 kHz lub 24 kHz.

Google AdInline article slot

Charakterystyka częstotliwościowa filtru LPF wykazuje wystarczające tłumienie na granicach pasma, jednak obserwuje się aliasing od silnych sygnałów w zakresie ±25–30 kHz. Dla przetwarzania w pobliżu częstotliwości zerowej jest to akceptowalne.

Sygnały są podawane na wejścia 16-bitowego przetwornika ADC STM32H723ZGT6. Mieszacz jest taktowany przez generator Si5351 z mnożeniem częstotliwości przez 4.

Realizacja programowa i interfejs

Kod został opracowany w środowisku STM32CubeIDE z wykorzystaniem HAL, TinyUSB dla złożonego urządzenia USB (COM + audio) oraz CMSIS-DSP do przetwarzania sygnałów cyfrowych. Parametry są zapisywane w zewnętrznej pamięci flash.

Google AdInline article slot

Sterowanie: enkoder z przyciskiem oraz trzy przyciski funkcyjne. Wyświetlacz pokazuje częstotliwość, AGC/NOTCH, wskaźnik S, wodospad widma ±24 kHz, granice demodulowanego pasma.

W trybie USB z komputerem PC widmo jest ukryte, wyświetlany jest status. Przetworniki ADC pracują w trybie dwóch niezależnych kanałów (ADC1/ADC2) z wyzwalaniem od timera 8 na 48 kHz. Tryb podwójny Dual mode powodował odbicie lustrzane sygnału — nie został wykorzystany.

  • Korekcje po przetworzeniu analogowo-cyfrowym:

- Usunięcie składowej stałej (DC).

Google AdInline article slot

- Kalibracja amplitudy i fazy (współczynniki dla poszczególnych zakresów).

I/Q w buforze pierścieniowym: na komputer PC — UAC1, autonomicznie — FFT dla wodospadu, demodulacja SSB/CW, AGC/NOTCH, DAC.

DAC (12 bitów) jest taktowany tym samym timerem 8, buforowany przez OPAMP1 + filtr RC LPF. Wystarczające dla krótkofalowców i nadawania. Testowano zewnętrzny przetwornik PCM5102 (16–24 bitów) w celu poprawy jakości.

Cyfrowe przetwarzanie sygnału

Przetwarzanie sygnałów cyfrowych było opanowywane poprzez aplikację w C# do analizy I/Q z ADC lub plików WAV, plus generator testowych sygnałów I/Q.

Fragmenty kodu DSP są dostępne na stronie autora. Dalsze plany: optymalizacja i część nadawcza.

Co jest istotne:

  • 16-bitowy przetwornik ADC STM32H723 zapewnia pracę w czasie rzeczywistym dla I/Q przy 48 kHz.
  • Mieszacz Tayloe + Si5351 minimalizuje koszty sprzętowe.
  • HAL + CMSIS-DSP przyspieszają rozwój bez utraty wydajności.
  • Tryb autonomiczny z FFT, demodulacją i DAC na pokładzie mikrokontrolera.
  • USB UAC1 do przesyłania I/Q na komputer PC bez dodatkowych sterowników.

— Editorial Team

Advertisement 728x90

Czytaj dalej