RFM69HW RSSI stuck on RSSI measurement, no receive data.

GitRaccon

Newbie level 4
Newbie level 4
Joined
Sep 27, 2024
Messages
6
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
74
Hi. For a few days now I've been trying to communicate two RFM69HW modules with each other and I've got a bit of a problem.

Generally, both modules are connected to one Nucleo board, to one SPI, with the CS pins used to select a given module. They have an antenna made of a piece of cable and are about 0.5m apart.
I've tried the LowPowerLab library, adapting it to STM32 (but im not using interrupt pin) and communication via SPI works, the configuration is uploaded, and the register reading indicates that it is being uploaded correctly. I'm watching communication on the analyzer.
I'm trying to transmit in a loop every 1s from module A to B and the problem is that at the first attempt to transmit (from power reset) the signal is first measured RSSI and its read value is 0xFF, and the transmission does not occur. The next attempt to transmit stops at the RSSI measurement which is never completed - the RssiDone bit still has the value 0.
When I turn off the RSSI measurement before transmitting the signal, it will be transmitted (I can see the transmission on RTL-SDR), so the transmission procedure itself seems to work correctly.
The situation is the same with data reception on the second module - the FIFONotEmpty bit still has the value 0 (of course the TX module then transmits with RSSI reading disabled).
I have the impression that with a certain BitRate and FDEV setting it worked and RSSI finished the measurement after a while, but I am currently unable to reproduce this. I also changed the modules to new ones to exclude damage to the RF stages.

I've looked through a dozen or so threads online but none of them address this issue. Do you have any ideas/tips?
 

After further attempts I am almost at the same place :) I think that maybe I do not understand some basics regarding using RFM69HW.

Currently I have connected RFM modules to separate NUCLEO boards with STM32, but the problem is similar. The transmitting module transmits, but the RSSI measurement takes from a few dozen to a few hundred milliseconds (randomly, i mean waiting for RSSIReady bit), after which the read value fluctuates around -100dB, which does not meet the threshold condition of the CSMA_LIMIT level (-90dB). Finally, the module transmits data (view on SDR) thanks to exceeding the timeout for the RSSI measurement (yes, I set such a timeout for the start-up time). Regardless, the receiving module does not receive the frame (it does not set the PayloadReady bit). The modules have the same configuration (except that I turn one into receive mode), I do not use address filtering, they are connected to NUCLEO on cables of about 20cm, and there is a 100uF capacitor on the power supply at the RFM module. SPI works at 1MHz and the frames look correct (I tried 250kHz, and 2MHz and 4MHz according to the recommendations - no difference). I tried moving them a dozen or so meters apart - no difference.

Please help, because I feel like I'm making a mistake somewhere at the basic level and I don't see it.
 

Similar threads