SX1276/77/78/79
WIRELESS, SENSING & TIMING
DATASHEET
In continuous mode the received packet processing sequence is given below.
1 Whilst in Sleep or Standby mode select RXCONT mode.
2 Upon reception of a valid header CRC the RxDone interrupt is set. The radio remains in RXCONT mode waiting for the
next RX LoRaTM packet.
3 The PayloadCrcError flag should be checked for packet integrity.
4 If packet has been correctly received the FIFO data buffer can be read (see below).
5 The reception process (steps 2 - 4) can be repeated or receiver operating mode exited as desired.
In continuous mode status information are available only for the last packet received, i.e. the corresponding registers
should be read before the next RxDone arrives.
Rx Single and Rx Continuous Use Cases
The LoRa single reception mode is used mainly in battery operated systems or in systems where the companion
microcontroller has a limited availability of timers. In such systems, the use of the timeout present in Rx Single reception
mode allows the end user to limit the amount of time spent in reception (and thus limiting the power consumption) while not
using any of the companion MCU timers (the MCU can then be in sleep mode while the radio is in the reception mode). The
RxTimeout interrupt generated at the end of the reception period is then used to wake-up the companion MCU. One of the
advantages of the RxSingle mode is that the interrupt RxTimeout will not be triggered if the device is currently receiving
data, thus giving the priority to the reception of the data over the timeout. However, if during the reception, the device loses
track of the data due to external perturbation, the device will drop the reception, flag the interrupt RxTimeout and go in
StandBy mode to decrease the power consumption of the system.
On the other hand, The LoRa continuous reception mode is used in systems which do not have power restrictions or on
system where the use of a companion MCU timer is preferred over the radio embedded timeout system. In RxContinuous
mode, the radio will track any LoRa signal present in the air and carry on the reception of packets until the companion MCU
sets the radio into another mode of operation. Upon reception the interrupt RxDone will be trigged but the device will stay in
Rx Mode, ready for the reception of the next packet.
Payload Data Extraction from FIFO
In order to retrieve received data from FIFO the user must ensure that ValidHeader, PayloadCrcError, RxDone and
RxTimeout interrupts in the status register RegIrqFlags are not asserted to ensure that packet reception has terminated
successfully (i.e. no flags should be set).
In case of errors the steps below should be skipped and the packet discarded. In order to retrieve valid received data from
the FIFO the user must:
RegRxNbBytes Indicates the number of bytes that have been received thus far.
RegFifoAddrPtr is a dynamic pointer that indicates precisely where the Lora modem received data has been written up
to.
Set RegFifoAddrPtr to RegFifoRxCurrentAddr. This sets the FIFO pointer to the location of the last packet received in
the FIFO. The payload can then be extracted by reading the register RegFifo, RegRxNbBytes times.
Alternatively, it is possible to manually point to the location of the last packet received, from the start of the current
packet, by setting RegFifoAddrPtr to RegFifoRxByteAddr minus RegRxNbBytes. The payload bytes can then be read
from the FIFO by reading the RegFifo address RegRxNbBytes times.
Rev. 4 - March 2015
©2015 Semtech Corporation
Page 41
www.semtech.com