Platforma edukacyjna SDR ADALM-PLUTO firmy Analog Devices
Radio SDR (Software-defined radio), zwany także niekiedy radiem programowalnym, to model radiowego toru sygnałowego, w którym część elementów jest implementowana programowo. Są to układy takie jak mieszacze, modulatory i demodulatory, filtry itp., wcześniej implementowane w postaci układów scalonych lub na elementach dyskretnych. Niewątpliwymi zaletami modelu jest łatwość implementacji, a także wprowadzania poprawek w rozwijanej lub istniejącej technologii. W mniej skomplikowanych projektach zyskujemy także na cenie, gdyż gros toru radiowego można zaprogramować na mikrokontrolerze lub procesorze ogólnego przeznaczenia.
Rys. 1. Schemat blokowy radia SDR (źródło: wikipedia.pl)
Generalnie z powodu kosztów oraz coraz większego skomplikowania technik komunikacji bezprzewodowej, elementy toru radiowego są implementowane cyfrowo i scalane w tak dużym stopniu jak to tylko możliwe. Wyjątkowo przydaje się to w aplikacjach, w których mamy kilka technologii, między którymi system może się przełączać (np. GPS+GSM, Bluetooth+Wi-Fi itd.). Technologia jest jednak wyjątkowo przydatna w rozwoju nowych technik komunikacji, gdyż łatwo można dokonać „przeprogramowania” praktycznie całego układu radiowego.
SDR oczywiście wymaga zastosowania odpowiedniego oprogramowania w celu swobodnego dobierania parametrów „elementów” i odpowiedniej implementacji standardów. Jednym z nich jest GNU Radio, czyli darmowe i otwarte oprogramowanie do implementacji radia programowalnego. Pozwala zarówno na zaprogramowanie systemu radiowego, nawet z użyciem niedrogiego sprzętu, ale także na symulację projektu w odpowiednim środowisku. Pomimo, że platforma jest otwarta, to szeroko wykorzystuje się ją nie tylko w projektach hobbystycznych, ale też w badaniach, przemyśle oraz wielu realnych systemach komunikacyjnych.
Rys. 2. Okno GNU Radio w systemie Windows
Platformy sprzętowe SDR
Na rynku dostępne jest już kilka platform badawczych umożliwiające projektowanie, rozwój i wdrażanie systemów SDR. Spośród nich najpopularniejszymi są Hack RF One, Lime SDR czy bardziej skomplikowane urządzenia USRP firmy Ettus Research, należącej do NI. Moduły tego typu oferują transmisję w bardzo szerokim paśmie (70 MHz – 6 GHz) w trybie full-duplex. Jest to więc już sprzęt profesjonalny o bardzo dużych możliwościach.
Na drugim brzegu spektrum rynku są niedrogie urządzenia z serii RTL-SDR. Zgodnie z nazwą moduły te oparto o układ RTL2832U firmy Realtek. Pełnią one wyłącznie rolę odbiornika sygnału radiowego w paśmie ok. 25-1766 MHz. Bardzo często są sprzedawane jako dekoder DVB-T podłączany do USB, ale po prostej modyfikacji sterownika można odbierać sygnały nadawane w całym obsługiwanym paśmie, w tym radia FM, satelit pogodowych NOAA, komunikacji lotniczej, kolejowej i wielu innych. Wiele informacji o specyfice platformy oraz możliwych zastosowaniach można znaleźć na stronie www.rtl-sdr.com.
Rys. 3. Popularny i tani odbiornik RTL-SDR w formie klucza USB
Dostępna jest jeszcze jedna platforma, przeznaczona bardziej dla edukacji i nauki komunikacji radiowej w szkołach i na studiach. Jest to opracowane przez Analog Devices urządzenie ADALM-PLUTO, nazywany także PlutoSDR. Ma ono dość wysokie możliwości i jak wspomniałem, dysponuje zasobami pozwalającymi na użycie w celu nauki podstaw radiokomunikacji oraz używania technologii SDR.
Rys. 4. Moduł edukacyjny ADALM-PLUTO
Platforma ADALM-PLUTO firmy Analog Devices
ADALM-PLUTO to przenośny moduł RF, sterowany z zewnętrznego komputera (hosta). Zasilanie jest dostarczane przez interfejs USB 2.0. Poprzez tą magistralę dostępna jest także komunikacja danych. Moduł oferuje jeden kanał nadawczy (Rx) oraz jeden kanał odbiorczy (Tx). Pozwala to na komunikację w formie half-duplex oraz full-duplex.
Głównym układem odpowiedzialnym za komunikację radiową jest AD9363. Jest w stanie pracować na częstotliwościach od 325 MHz do 3,8 GHz z szerokością kanału nawet do 20 MHz. Zawiera także wbudowane po dwa przetworniki ADC oraz DAC o rozdzielczości 12 bitów i próbkowaniu do 61,44 MSPS, co pozwala doprowadzić do transceivera po dwa strumienie danych wejściowych i wyjściowych. Moduł obsługuje dupleksację w dziedzinie czasu (TDD) i częstotliwości (FDD).
W roli hosta zainstalowano układ SoC Xilinx Zynq-7010, model XC7Z010-1CLG225C4334. Układ ten zawiera część FPGA, ekwiwalentną układom Artix-7, a także dwa rdzenie mikroprocesorowe ARM Cortex-A7 o taktowaniu 667 MHz. Część FPGA zawiera 28 tysięcy bramek logicznych, 17 600 tabel LUT, 35 200 przerzutników, 60 bloków pamięci RAM (2,1 Mbit), a także 80 bloków DSP. Dodatkowo układ zawiera dwa przetworniki ADC 12-bit, a także funkcje bezpieczeństwa (AES, SHA) standardowo stosowane w rodzinie układów Zynq-7010.
Oprócz wyżej wymienionych układów warto zaznaczyć, że Pluto zawiera także pamięć DDR3L o pojemności 4 Gbit (512 MB), pamięć QSPI Flash o pojemności 256 MBit (32 MB), a także odpowiednie układy do zapewnienia zasilania i komunikacji z magistralą USB 2.0. Całość umieszczono w wysokiej jakości plastikowej obudowie.
Rys. 5. Schemat blokowy modułu PlutoSDR
Programowanie modułu
Moduł ADALM-PLUTO jest zgodny z omawianym wcześniej oprogramowaniem GNU Radio. Pozwala także na sterowanie ze środowiska MATLAB/Simulink, co pozwala wykorzystać w transmisji radiowej zaawansowane obliczenia. Moduł współpracuje z biblioteką libiio, bez problemu pracującej na systemach Windows, Mac OS, a także Linux, ten ostatni również w wersji embedded (np. dla Raspberry Pi). Można także wykorzystać funkcje Pluto we własnych projektach w C, C++, C# czy Pythonie. Dostępne są także aplikacje graficzne umożliwiające wyświetlenie danych, takie jak oscyloskop.
Dla bardziej zaawansowanych użytkowników producent przygotował również szereg narzędzi umożliwiających programowanie układu Zynq na płytce. Układ ma wyprowadzony interfejs JTAG, co pozwala na normalną obsługę układu w środowisku Xilinx Vivado. Analog Devices udostępnia również pliki BSP umożliwiające obsługę modułu w środowiskach programistycznych.
Producent udostępnia także zestaw materiałów edukacyjnych, przykładów, tutoriali i wiele innych cennych wskazówek na stronie wiki Analog Devices. Dodatkowo dostępny jest bezpłatny e-book Software-Defined Radio for Engineers, w którym znajdziemy pełną teorię radiokomunikacji, radia SDR i innych dziedzin nauki potrzebnych do skutecznej i efektywnej obsługi platformy.
Podsumowanie
Techniki SDR umożliwiają programową implementację systemów komunikacji radiowej. Umożliwia to uproszczenie, implementację programową, a także możliwość prostej korekty wielu elementów toru radiowego. Ma to duże znaczenie m.in. w edukacji, gdzie daje to duże możliwości prezentacji różnych rozwiązań w praktyce. Platforma SDR ADALM-PLUTO firmy Analog Devices jest zaprojektowana właśnie pod kątem edukacji i wraz z dostarczonymi bibliotekami, oprogramowaniem i przykładami pozwala na wygodną i efektywną naukę podstaw radiokomunikacji oraz technik radia programowalnego.
ADALM-PLUTO jest dostępny w ofercie sklepu internetowego Kamami.pl