WIRELESS, SENSING & TIMING
SX1276/77/78/79
DATASHEET
Packet Filtering based on Preamble Start
The LoRa modem does automatically filter received packets based upon any addressing. However the SX1276/77/78/79
permit software filtering of the received packets based on the contents of the first few bytes of payload. A brief example is
given below for a 4 byte address, however, the address length can be selected by the designer.
The objective of the packet filtering process is to determine the presence, or otherwise, of a valid packet designed for the
receiver. If the packet is not for the receiver then the radio returns to sleep mode in order to improve battery life.
The software packet filtering process follows the steps below:
Each time the RxDone interrupt is received, latch the RegFifoRxByteAddr[7:0] register content in a variable, this
variable will be called start_address. The RegFifoRxByteAddr[7:0] register of the SX1276/77/78/79 gives in real time
the address of the last byte written in the data buffer + 1 (or the address at which the next byte will be written) by the
receive LoRa modem. So by doing this, we make sure that the variable start_address always contains the start address
of the next packet.
Upon reception of the interrupt ValidHeader, start polling the RegFifoRxByteAddr[7:0] register until it begins to
increment. The speed at which this register will increment depends on the Spreading factor, the error correction code
and the modulation bandwidth. (Note that this interrupt is still generated in implicit mode).
As soon as RegFifoRxByteAddr[7:0] >= start address + 4, the first 4 bytes (address) are stored in the FIFO data buffer.
These can be read and tested to see if the packet is destined for the radio and either remaining in Rx mode to receive
the packet or returning to sleep mode if not.
Receiver Timeout Operation
In LoRaTM Rx Single mode, a receiver timeout functionality is available that permits the receiver to listen for a
predetermined period of time before generating an interrupt signal to indicate that no valid packets have been received.
The timer is absolute and commences as soon as the radio is placed in single receive mode. The interrupt itself, RxTimeout,
can be found in the interrupt register RegIrqFlags. In Rx Single mode, the device will return to Standby mode as soon as
the interrupt occurs. The user must then clear the interrupt or go into Sleep mode before returning into Rx Single mode.
The programmed timeout value is expressed as a multiple of the symbol period and is given by:
TimeOut = LoraRxTimeout ⋅ Ts
Rev. 4 - March 2015
©2015 Semtech Corporation
Page 42
www.semtech.com