English
Language : 

RFM92 Datasheet, PDF (32/126 Pages) List of Unclassifed Manufacturers – Low Power Long Range Transceiver Module
RFM92W/93W V3.0
Principle of Operation
Thanks to its dual port configuration, it is possible to simultaneously store both transmit and receive information in the FIFO
data buffer. The register RegFifoTxBaseAddr specifies the point in memory where the transmit information is stored.
Similarly, for receiver operation, the register RegFifoRxBaseAddr indicates the point in the data buffer where information
will be written to in event of a receive operation.
By default, the device is configured at power up so that half of the available memory is dedicated to Rx
(RegFifoRxBaseAddr initialized at address 0x00) and the other half is dedicated for Tx (RegFifoTxBaseAddr initialized at
address 0x80).
However, due to the contiguous nature of the FIFO data buffer, the base addresses for Tx and Rx are fully configurable
across the 256 byte memory area. Each pointer can be set independently anywhere within the FIFO. To exploit the
maximum FIFO data buffer size in transmit or receive mode, the whole FIFO data buffer can be used in each mode by
setting the base addresses RegFifoTxBaseAddr and RegFifoRxBaseAddr at the bottom of the memory (0x00).
The FIFO data buffer is cleared when the device is put in SLEEP mode, consequently no access to the FIFO data buffer is
possible in sleep mode. However, the data in the FIFO data buffer are retained when switching across the other LoRaTM
modes of operation, so that a received packet can be retransmitted with minimum data handling on the controller side. The
FIFO data buffer is not self-clearing (unless if the device is put in sleep mode) and the data will only be “erased” when a
new set of data is written into the occupied memory location.
TheFIFO data buffer location to be read from, or written to, via the SPI interface is defined by the address pointer
RegFifoAddrPtr. Before any read or write operation it is hence necessary to initialize this pointer to the corresponding base
value. Upon reading or writing to the FIFO data buffer (RegFifo) the address pointer will then increment automatically.
The register RegRxNbBytes defines the size of the memory location to be written in the event of a successful receive
operation. The register RegPayloadLength indicates the size of the memory location to be transmitted. In implicit header
mode, the register RegRxNbBytes is not used as the number of payload bytes is known. Otherwise, in explicit header
mode, the initial size of the receive buffer is set to the packet length in the received header. The register
RegFifoRxCurrentAddr indicates the location of the last packet received in the FIFO so that the last packet received can be
easily read by pointing the register RegFifoAddrPtr to this register.
It is important to notice that all the received data will be written to the FIFO data buffer even if the CRC is invalid, permitting
user defined post processing of corrupted data. It is also important to note that when receiving, if the packet size exceeds
the buffer memory allocated for the Rx, it will overwrite the transmit portion of the data buffer.
Page 32
Tel: +86-755-82973805 Fax: +86-755-82973550 E-mail: sales@hoperf.com http://www.hoperf.com