Hi All,
I am using a CC430 in a project where I need the RF1A module to do a "windowed" receive. To initialize the sequence a syncronizing beacon is transmitted and then the CC1101 receiver is turned on for about 4 mS (or shorter is a message is received before the timeout). To detect a reception I am using the RFIFG10 Radio Core Interrupt. Its functionality is listed in table 22-5 of the User Guide as follows:
RFIFG10
Positive edge: Packet received with CRC OK.
Negative edge: First byte read from RX FIFO. (Equal to GDOx_CFG=7)
I have used this interrupt sucessfully on stand alone CC1100 parts in the past so I am familiar with the functionality, but the CC430 RF1A doesn't seem to be functioning as I expect. The interrupt seems to work properly once, and then never occurs again. But when I look in the Rx FIFO after the timeout occurs I can see the expected message sitting in the buffer. So the message is being received, but the interrupt is not occuring.
Further investigation led to inspection of the "Radio core signal input register" (RF1AIN Register). This register is the source of the RFIFG10 flag. I think the way it works is the RF1AIN bit 10 signal should go low to high when the CRC is verified and should go high to low when the first byte is read from the FIFO. The problem I am having is that I cannot get the RF1AIN bit 10 to clear without reseting the RF1A module. If I reset then the above cycle starts over again, but leaves me in the same spot with only the first messsage triggering the "Packet received with CRC OK" interrupt.I have tried several things to clear the bit, but can't find a confiiguration that or work around that works.
I have also looked thru the Errata and can't find a bug that matches my experience. Although RF1A5 is close as it deals with these interrupts as well.
Has anyone else found this problem? Is it something I don't have configured properly?