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.

cc1110 receive wrong message problem

Hi everybody

i am using 4 c1110 in my project , 1 for receiver and 3 for transmitter. all device work at 433MHz and 38.4kbps, variable pakage length, the PKTLEN register equal 20.

the transmiter send one message in every 300ms like simipliciTI CCA transmit mode, so there are only one transmiter send message to receiver at one time, and all transmiter can send 1 message in 300ms.  the messages are the transmiter's status which are 8 to 18 bytes.

normally, the receiver can receive every message correctlly, but sometimes ,even the transmiter are power off,  the receiver can receive(by debugger breakpoint) a wrong message which content are not comparible with my message structure define.

this phenomenon is not so frequently, 1 time per day , or  1 time per 10 senconds.

please tell me all your thoughts!

thanks

  • Hi,

    When you are receiving with no signal, you are basically receiving noise. When doing so, there is always a certain probability that you will get something that looks like a packet to the receiver. I don't know if the packets you received had the CRC OK or not. If they did not, you should throw away packets with CRC error. But occasionally, a "packet" that is only noise will pass a CRC check. Since the CRC is 16 bits, the chance of that is 1/65536. The number of wrong packets that you get will also depend on how often you get sync. You can read about this in Section 13.7.3 of the data sheet and try to turn on additional checks to avoid false packets. Repeating the sync word to get 32 bits will help, as will using the sync word detector with a strict setting, and preamble qualifier (PQI).

    Even if you have set up all parameters to minimize the probability of getting packets from noise, you will occasionally see it happening. It has a low probability, but given that the receiver runs for a long time, you get a lot of samples into it, which means that it is expected to see some false packets. So you will also need to do some filtering to remove those packets by looking at the contents. The more checks you add, the lower the probability becomes of mistaking noise for a valid packet. You will never get the probability to zero, but you can make it extremely low so that it will happen not once a day or once every 10 seconds, but maybe once a year or even less frequently.

  • thanks hec.

    yes, I do some check of the packets.

    1, set minimum 4 preamble bytes and 30/30 sync word bits detect.

    2, set the CRC check.

    3, increase the PQT value. (But sometimes I lost some correct packets)

    4, add checksum byte in the packets.

    5, add source and destination address filter . (Just in my project)

    It do reduce the probability of the wrong message to zero in last 5 days. But I think doing the first three methods of above list is enough , so I ask you the reason.

    Read your reply, I know  the false packets is unavoidble, Your explanation makes sense. thanks!