I have configured two CC1200 radios so that they will ping-pong between TX and RX modes. One radio sends a packet to the other and then transitions to RX mode waiting for an "Ack" packet. The other radio received that packet of data and automatically transitions to TX mode to send it's ack. I have set up the system so that I've pre-loaded packets in the TX Fifos so that when the RX to TX transition occurs, the radio should immediately start sending what's in the TX Fifo. I am successfully able to run in this mode for a short period of time where I am able to perform anywhere from 50 to 800 successful transactions. However, eventually, things hang with both radios "stuck" in RX mode.
I have configured the RFEND_CFG1 and RFEND_CFG0 register values to be 0x2F and 0x30 respectively in both CC1200 devices. With this scheme, I'm able to send one of my large packets every 1.44ms until the system locks up with both devices stuck in RX mode.
Is there some error status that I could possibly check to recover from this lock-up? Is there some way for me to avoid the lock-up? I realize that the system is going to need to be tolerant of lost or garbled packets. And I will need to be able to restart the packet transfers. However, I don't think that's the problem I'm seeing at the moment. Before I started trying to add this ack capability to the system, I was able to transmit over 9000 packets at speeds of about 1.1ms per packet without a single dropped packet or checksum issue. So I believe my test environment is fairly "RF quiet" and I shouldn't be dropping packets due to noise in my lab.
I'm at a bit of a loss as to what I can check at this point. Any suggestions would be greatly appreciated.
Thanks,
Chris.