STM32: obsługa transceiverów RFM70 na pasmo 2,4 GHz
Najpoważniejszym atutem wybranego do projektu modułu RFM70 (fotografia 1), produkowanego przez firmę HoperRF, jest niska cena. Są to kompletne moduły radiowe zintegrowane z anteną, pracujące w paśmie 2,4 GHz, charakteryzujące się wymiarami zewnętrznymi 12,8 x 16,8 mm. Moduły te mogą przesyłać dane z prędkością 1 lub 2 Mb/s, tor nadawczy wyposażono we wzmacniacz o programowalnej mocy wyjściowej w zakresie -40 dBm do 5 dBm. Wymiana danych pomiędzy modułem a otoczeniem odbywa się za pomocą 4-przewodowej magistrali SPI z maksymalną szybkością taktowania 8 MHz.
Fot. 1. Wygląd modułu RFM70
Korzystając z programów udostępnionych przez producenta oraz przykładu przygotowanego na mikrokontroler STM8S przez Grzegorza Kołodziejczyka, dostępnego na forum FORBOT.pl, przygotowano prosty przykład przesyłający paczkę danych pomiędzy modułami dołączonymi do mikrokontrolerów STM32. Przykładowy program przygotowano na dwie platformy:
- ZL31ARM z procesorem STM32F103RBT6 oraz na
- zestaw STM32 Value Line Discovery z procesorem STM32F100RBT6.
Odpowiednią konfigurację ustawia się za pomocą odpowiednich definicji w głównym pliku main.c:
#define ZL31ARM 1
//#define STM32VL_DISCOVERY 1
Przygotowane są zarówno procedury dla mastera jak i slave’a przełączane również za pomocą odpowiednich definicji:
//#define MASTER 1
#define SLAVE 1
Moduły należy dołączyć do obu płytek w sposób pokazany na rysunku 2.
Rys. 2. Sposób dołączenia modułu RFM70 do mikrokontrolerów STM32
Jeżeli do dwóch zestawów wgramy odpowiednio kod mastera oraz slave’a to przy ich jednoczesnej pracy powinny migać diody LED w takt transmisji sygnału. Moduły posiadają bardzo rozbudowane możliwości, które nie zostały w pełni wykorzystane w opracowanym przykładzie. W celu szerszego ich poznania zachęcam do zajrzenia do dokumentacji przygotowanej przez producenta łącznie z przykładowymi programami.
Michał Waśkiewicz