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.

CC1121 RX/TX packets

Other Parts Discussed in Thread: CC1121

Hi sir

We can transmit/receive packets by our board now. But we have some questions. Please help us to clarify it. Thanks ~

1. If MCU does not read out data from RX FIFO in time, is it possible to have two or more packets in the RX FIFO? If yes, how can we distinguish different packets?
2. Is it possible to have an incomplete packet in RX FIFO?
3. If another packet is received by CC1121 when MCU is reading current packet from RX FIFO, what will happen? Will the second packet be lost?
4. We find that RX packet loss rate is related to delay between TX packets transmission. Shorter delay causes larger packet loss rate. Do you have any idea of it?

Your reply will be highly appreciated.

  • Hi

    1. Yes it is possible to have a number of packets in the RXFIFO as long as the total number of bytes is within the FIFO limits of 128 bytes. There are two ways to distinguish the different packets. Either you have set up the radio to fixed packet length which means that you know exactly how many bytes each packet is, or you have set the radio up to variable packet length where the first byte of each packet is the length byte indicating the size of the packet.

    2. The radio will start to fill the RXFIFO with data received after sync word is detected. In variable packet length it will read the first byte preceding the sync word and then fill the RXFIFO with a number of bytes corresponding to the length byte. For fixed packet length the radio will fill the RXFIFO with the number of bytes set by the PKTLEN register. If for some reason the transmitter stops during transmission, the receiver will continue to fill the RXFIFO with a number of bytes given by the received length byte or the PKTLEN register even though this would be noise. If you use CRC on your packets you can set the radio up to perform CRC check when it receives packets and optional flush the packet from the RXFIFO if the CRC check fails.

    3. All new data put into the RXFIFO will be placed after the last byte, so if you are reading from the RXFIFO while receiving a new packet, the receiving packet will be placed after the the packet(s) thats already in the RXFIFO in the same way as if you where not reading.

    4. This depends on how the radio is set up. If it goes out of RX after packet received it will need some time to go back into RX again and be ready to receive next packet. If RXOFF_MODE is set to RX. The radio is ready to receive a new packet immediately after the last byte is placed in the RXFIFO. To be able to help you more on this I need more information about your set up. How long are the delays between the TX transmission, what are your register settings on the transmitter and receiver?

  • 2. If RX is cancelled during transmission, for example by sending an IDLE strobe during RX, there will be an incomplete packet in the RX FIFO that might need manual cleaning.

  • You are correct Johannes. If the transmission is terminated on the receiver side you will get an incomplete packet. 

    Thank you for pointing that out.