We’re using two Zigbee 2.4GHZ Xbee Pro units (2.4GHz, u.fl antenna connectors) paired with a PIC18LF2680 to do telemetry between a solar car and a chase vehicle. Everything works well for a while, but after several hours of running the system continuously, we find that the “good” data rate falls to 20% of the overall data rate. It starts at about 98%.
The PICs are on 8MHz crystals and communicate with the Xbees at 115.2 kbps. The Xbees are configured for transparent mode, but have an encryption key to avoid accidental crosstalk with other modules which may be in the area.
Our data packet looks something like this:
1 start byte
4 bytes of timestamp
1 bytes of origin ID
1 bytes of message ID
8 bytes of payload
1 hash byte ( [FNV-1a[/b], 8-bit)
The PIC has a software 256 byte buffer and can listen to the CTS line to stop sending data until the Xbee buffer empties out. The receiver is a computer. It listens to a packet, computes the hash. If it matches, it’s OK. If it doesn’t, it slides one byte down in the buffer and does it again. When there’s hash hit, you know the two streams are synchronized.
Does anybody have any idea what causes the successful packet rate to drop to 20% after a few hours of operation? It comes right back with a system reboot.
Thanks for the help!](Fowler–Noll–Vo hash function - Wikipedia)