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.

how to reset radio of CC430

Other Parts Discussed in Thread: SIMPLICITI, CC1101

Hello,

i have a project using CC430 and SimpliciTi 1.1.1. This device spends most of it's time in RX with occasional TX. The device bascially works, but i get occasional state wheret here is no more RX, even albeit the device should be in RX. 

i have added periodic re-initialisation of the radio with the following sequence of simplicity calls:

SMPL_Init
SMPL_Ioctl(IOCTL_OBJ_RADIO, IOCTL_ACT_RADIO_SLEEP, 0);
SMPL_Ioctl(IOCTL_OBJ_RADIO, IOCTL_ACT_RADIO_AWAKE, 0);
SMPL_Ioctl(IOCTL_OBJ_RADIO, IOCTL_ACT_RADIO_RXON,  0);

which has improved the situation somewhat, but i still end up with occasional RX hangs. only a complete power cycle of the device fixes this and RX is back to normal.

i would like to find out how i can properly power cycle just the radio of the CC430? 

or are there any other best practices to maintain a proper RX state for devices that are primarily in RX state?

thanks in advance.

-r

  • Hi,

    when you said about resetting, do you mean that sending the command strobe SRES?

    I think this is unfortunatelly not implemented in the current SimpliciTI version (1.x). If i search through the codes for "SRES", i can only find the command strobe in MRFI_Init() function. 

  • I don't work with SimpliciTI, but I find that the RX Termination Timer of the CC430 (and CC1101) is not terribly reliable.  If this is what the SimpliciTI driver is using to control the RX duty cycle, then this might be the problem.  I use a MCU timer to manage the RX duty cycle

    Otherwise, you should try just issuing SLEEP strobe and then RXFLUSH rather than restarting the whole system.  It might do the job.  There are some errata in the CC430/CC1101 that make manual flushing a good idea.