This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC1200: RXFIFO ERROR!

Part Number: CC1200

Hi,

I am working on CC1200 radio link project which gives me RXFIFO error. The configuration I use is 4-GFSK with Fast TX on after RX mode off & RX mode after TX using RFEND configuration registers.

The issue is after sending around 100 packets CC1200 gives a RXFIFO error and beyond that if I try to transmit, it doesn't allow to transmit. 

In one of the threads I saw that it may relate to Tns being too small (around 400ns) which I also changed it to approx. 1µsec. 

Please assist.

-Pawan

  • Hi

    There are two things that can make the chip enter RX_FIFO_ERROR state, an RXFIFO_OVERFLOW or an RXFIFO_UNDERFLOW.
    You can find out which one caused you to enter the ERRO state by reading the MODEM_STATUS1 register.

    The only way to resume normal operation from this state is to issue an SFRX strobe command.

    If you entered the state due to an overflow, this can have several reasons:
    - The MCU was occupied with other stuff and did not read out the RXFIFO fast enough.
    - You are not using length filtering and you received a packet with a length byte greater than 127 (only a problem if your code wait to read the
    packet until the complete packet is received. This often happens if you know that you are always sending packets that fit into the FIFO, and the
    SW is not written to handle cases where you receive “false” packets of a different format)
    - You are not reading all the bytes in the RX FIFO on each receive. If this is the case, there will be bytes left in the RX FIFO for every packet
    received, and it will eventually overflow

    If you entered the state due to an underflow, this can happen if you read the RXFIFO directly on a PKT_SYNC_RXTX interrupt. If you use any kind of filtering, the FIFO might be empty when this interrupt occurs and reading an empty FIFO will result in an underflow.

    BR
    Siri