I’m trying to design a product with a FHSS scheme implemented and turned to Semtech as a result. However, I have a technical question about your SX1276 LoRa tranceiver. I’m trying to figure out how to setup the radio for frequency hopping spread spectrum (FHSS) implementation.
It states in the datasheet under section 4.1.1.8. - Frequency Hopping with LoRa:
“each LoRa packet is transmitted on each hopping channel from a look up table of frequencies managed by the host microcontroller.”
It is not clear in the datasheet. What part of the FHSS scheme is controlled by the host microcontroller and what part is controlled by the radio. It would be helpful if someone could share with me any additional documentation for setting the sx1276 up for proper operation of the LoRa FHSS mode.
Thank you in advance. And look forward to any reply.
I believe a good place to start would be the following source code file:
The above links to a software interface description utilized by the LoRaMac-node software package, specifically the sx1276 transceiver driver abstraction. However, the interface defined is general and hence supports more than just LoRaWAN use-cases.
Specifically referring to frequency hopping spread spectrum relevant parameters, I believe the interface descriptions below provide a good overview of what is configurable. For example, you can see the bandwidth, coding rate, numer of symols between hops are all exposed (amongst others).
RX Parameters:
\param [IN] modem Radio modem to be used [0: FSK, 1: LoRa]
\param [IN] bandwidth Sets the bandwidth
FSK : >= 2600 and <= 250000 Hz
LoRa: [0: 125 kHz, 1: 250 kHz,
2: 500 kHz, 3: Reserved]
\param [IN] datarate Sets the Datarate
FSK : 600..300000 bits/s
LoRa: [6: 64, 7: 128, 8: 256, 9: 512,
10: 1024, 11: 2048, 12: 4096 chips]
\param [IN] coderate Sets the coding rate (LoRa only)
FSK : N/A ( set to 0 )
LoRa: [1: 4/5, 2: 4/6, 3: 4/7, 4: 4/8]
\param [IN] bandwidthAfc Sets the AFC Bandwidth (FSK only)
FSK : >= 2600 and <= 250000 Hz
LoRa: N/A ( set to 0 )
\param [IN] preambleLen Sets the Preamble length
FSK : Number of bytes
LoRa: Length in symbols (the hardware adds 4 more symbols)
\param [IN] symbTimeout Sets the RxSingle timeout value