DRF1278F Dorji.
Firma Dorji bezpłatnie udostępniła użytkownikom forum elektroda.pl moduły transceiverów DRF1278F opartych o układ Semtech LoRa SX1278.
Testy pary modułów DRF1278F zostały przeprowadzone na podstawie dokumentacji, przykładowych kodów źródłowych producenta oraz testach modułów DRF4463F przeprowadzonych na elektroda.pl w zeszłym roku.
Płytki modułów mają niewielkie wymiary, do podłączenia wyprowadzeń można wykorzystać zarówno otwory, jak i pola dostępne na krawędzi modułu. Na płytce modułu dostępne są opisy każdego z wyprowadzeń, co znacznie ułatwia montaż i testy. Zasilanie modułu 3.3V.
Wyprowadzenia modułu są dość blisko siebie, w przypadku lutowania przewodów kolejne luty należy wykonywać ostrożnie.
Testy modułu DRF1278F zostały przeprowadzone w konwencji zeszłorocznych testów DRF4463F, czyli jeden moduł pracuje jako stacja nieruchoma przekazująca wyniki prób połączeń portem szeregowym do PC, natomiast drugi moduł pracujący jako stacja ruchoma przekazująca informacje o swoim położeniu na podstawie danych z odbiornika GPS.
Do sterowania modułami został wykorzystany mikrokontroler AtMega8 komunikujący się z modułami z wykorzystaniem interfejsu SPI.
Schemat blokowy stacji nieruchomej "bazowej":
Oraz schemat stacji ruchomej komunikującej się ze stacją "bazową":
Aby umożliwić komunikację z modułem, SPI należy skonfigurować w trybie CPOL=0 CPHA=0 (w terminologii Motorola/Freescale).
Wyjście DID0 możemy skonfigurować tak, aby informowało mikrokontroler o wystąpieniu zdarzeń na poziomie modułu, które należy obsłużyć z poziomu mikrokontrolera (np. informacja o zakończeniu transmisji).
Moduł udostępnia także wyjścia DIO1 DIO2 DIO3 DIO4 DIO5, każde z nich może zostać skonfigurowane do informowania o innych zdarzeniach.
Moduł może pracować w różnych stanach.
W stanie SLEEP zużywa małe ilości energii i pozwala na konfigurację rejestrów. Tylko w tym trybie można zmieniać konfigurację statyczną.
W stanie STAND-BY pracuje oscylator modułu, część RF oraz PLL jest wyłączona. Tylko w tym trybie można zapisywać kolejkę FIFO dla modemu LoRa.
W stanach FSTX i FSRX PLL są włączone i zsynchronizowane, modły RF są wyłączone.
W stanie TX uruchomione są wszystkie elementy potrzebne do transmisji, po zakończonej transmisji pakietu moduł powraca do stanu STAND-BY.
W stanie RXCONTINUOUS uruchomione są elementy potrzebne do odbioru danych.
W stanie RXSINGLE uruchomione są elementy potrzebne do odbioru danych, po odebraniu poprawnego pakietu moduł powraca do stanu STAND-BY.
W stanie CAD moduł wykrywa sygnał preambuły dla modulacji LoRa na poszczególnych kanałach.
SX1278.
Moduł obsługujemy zapisując i odczytując dane z określonych adresów rejestrów SX1278.
Moduły pozwalają na pracę z modulacją OOK, FSK, GFSK, MSK, GMSK, LoRaTM oferując pasmo 7.8 kHz do 500 kHz. Główną atrakcją modułu jest obsługa modulacji LoRa, która w założeniu ma pozwalać na zwiększenie zasięgu oraz odporność na zakłócenia. SX1278 posiada wbudowane wykrywanie preambuły (ciągu pozwalającego na synchronizację z odbieranym sygnałem - "synchronizacja w bicie"), wykrywanie słowa synchronizującego ("synchronizacja w bajcie"), mechanizmy transmisji pakietowej oraz obliczanie sum kontrolnych CRC pakietów.
LoRaTM.
Wbudowany modem LoRa pozwala na konfigurację współczynnika rozproszenia SF (6-12) oraz korekcji błędów CR (1-4), co pozwala na optymalizację zwiększenia zasięgu oraz odporności na zakłócenia w porównaniu do modulacji OOK lub FSK.
Im większy współczynnik SF rozproszenia, tym większa czułość demodulatora, lecz mniejsza prędkość przesyłania danych. Przykładowo dla współczynnika SF=6 uzyskujemy największą przepustowość łącza i średni współczynnik SNR demodulatora -5 dB, wykorzystując 64 symboli na pojedynczy bit. Dla współczynnika SF=12 wykorzystujemy 4096 symboli na bit, uzyskując najmniejszą przepustowość łącza oraz oraz najkorzystniejszy współczynnik SNR demodulatora -20 dB.
Parametr CR pozwala na ustawienie kodów korekcyjnych, które dodają do właściwych danych nadmiarowe dane pozwalające na korekcję błędów transmisji. Dla ustawienia CR=1 wykorzystujemy kodowanie 4/5, co daje narzut w transmisji na poziomie 1.25, natomiast dla CR=4 otrzymujemy kodowanie 4/8, licząc się z narzutem na poziomie 2.
Im wyższy współczynnik CR, tym większa odporność na zakłócenia, lecz mniejsza prędkość transmisji.
Modem LoRa pozwala na ustawienie pasma transmisji BW w zakresie 7.8KHz do 500KHz, przykładowo dla SF=12 (4096 symboli na bit) i CR=1 (4/5) dla pasma 7.8KHz otrzymujemy przepustowość 18b/s, natomiast dla pasma 500KHz 1172b/s. Im szersze pasmo, tym większa prędkość transmisji oraz większy wpływ na inne urządzenia pracujące w paśmie.
Prędkość transmisji nie jest definiowana wprost, wynika ona z ustawionych parametrów SF, CR, BW.
Testy DRF1278F.
Układy testowe zostały połączone na płytkach stykowych.
Stacja bazowa:
Stacja mobilna:
Stacja bazowa cyklicznie wysyła zapytanie do stacji mobilnej i czeka na odpowiedź. Stacja mobilna sprawdza, czy zapytanie posiada numer zgodny z jej numerem ID, jeżeli tak odczytuje dane o położeniu z odbiornika GPS (portem szeregowym 9600b/s), następnie przesyła sentencję NMEA $GPGGA do stacji bazowej. Stacja bazowa wysyła odebrane dane portem szeregowym do PC z prędkością 9600b/s. Stacja mobilna zasilana jest napięciem ~3V z dwóch baterii AA.
Testy modułów były prowadzone przy ustawieniach komunikacji używającej FIFO, modulacji LoRa, zmiennej długości pakietu oraz SF=7,CR=3(4/7), BW=3 oraz mocy wyjściowej modułu na poziomie ~5mW.
Poniżej widoczna przykładowa mapa współrzędnych GPS odebranych przez stację bazową, od poruszającej się stacji mobilnej:
Poniżej dostępne są przykładowe kody stacji bazowej i mobilnej opartej o DRF1278F mikrokontroler Atmel AtMega8A, kod został skompilowany przy użyciu Atmel Studio. Kod programów należy traktować jako przykład pozwalający na napisanie swojej wersji produkcyjnej.
DRF1278F to zaawansowane moduły dwukierunkowej komunikacji radiowej, obsługa modułów z poziomu interfejsu ISP jest prosta, możliwość obsługi zdarzeń przy pomocy przerwań odciąża mikroprocesor, dzięki czemu w czasie oczekiwania na transmisję można realizować inne zadania. Wbudowany modem LoRa pozwala na budowę urządzeń komunikujących się na znaczne odległości przy zachowaniu małej mocy wyjściowej oraz odporności na zakłócenia.
Moduł szczególnie ciekawy do transmisji niewielkich ilości informacji na duże odległości np. na potrzeby telemetrii.
Fajne? Ranking DIY