Hello,
HW configuration: 2 boards using SX1280 chip with following configuration:
BOARD A: continuous TX (beacon) of LoRa packet 83 bytes long, TX interval: 1 second
BOARD B: continuous RX (listener)
Problem:
- corrupted packet received on BOARD B i.e. random byte or bytes with different value received than expected (transmitted)
- value of crcError bit in error status byte doesn’t reflect problem when corrupted packet is received
- nor any bit of error status byte (status->Params.LoRa.ErrorStatus) indicates the problem
Investigation done so far:
- checked proper SPI transmission of TX buffer into LoRa chip, using Logic Analyzer on BOARD A -> no problem observed, buffer content is transferred correctly via SPI to LoRa chip
- checked SPI transmission (reception) of received buffer from LoRa chip, using Logic Analyzer on BOARD B -> corrupted bytes of packet observed (on SPI MISO line)
- BOARD A and BOARD B functionalities replaced vice versa -> same problem observed
- SPI master chips used: tested with STM32F417 as well as Nordic NRF52820 -> same problem observed using both of the chips
LoRa configuration used:
#define RADIO_SPREADING_FACTOR LORA_SF10
#define RADIO_BANDWIDTH LORA_BW_1600
#define RADIO_CODING_RATE LORA_CR_4_5
#define RADIO_HEADER_TYPE LORA_PACKET_VARIABLE_LENGTH
#define RADIO_PREAMBLE_LENGTH 12
#define RADIO_POWER_MODE USE_DCDC
#define RADIO_TX_POWER 13
#define RADIO_RX_TIMEOUT 0xFFFF
#define RADIO_BROADCAST_FREQUENCY 2450000000UL
Example of the problem captured on BOARD B: Expected value of bytes: 0x06 and 0x07 but received different values
I have captured the same problem when board A is transmitting bytes of values only 0xFF but board B receives different values, but I was allowed to post only one picture (forum restriction).
When spreading factor is decreased to SF6 the problem with corrupted received packets was not observed so far. What could be the problem around having SF10 as spreading factor?
We tested SF11 and SF12 values as well, didn’t help.
Thank You,
BR,
Lubo