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.

CC2530 Lock Up - Sleep Mode, ADC, and interrupts

Other Parts Discussed in Thread: CC2530

I use the CC2530 in an application with a rechargeable battery.  The device has the concept of a shutdown mode that is entered when there is no activity.  There are two ways to wake up - button press and battery charging.

The button press drives a P2 pin, the ISR wakes up the device, and watchdog is used to reset.

The battery charge IC has 2 status pins, connected to pins on P1.  Either pin can fire an interrupt waking up the device.  The net effect  is to simply monitor charge status, not turn on the device.

The issues:

1) frequently, a button press will not wake the device, but unplug/replug of the USB charge cable will - my guess, I got a bug here and I am digging  to find it.

2) infrequently and most help needed, the device hangs completely where even the debugger/ Reset low will not restart the device.  Power has to be completely removed and then reconnected to get the CC2530 to restart.  Has anyone experienced this?  The device is connected to the charging cable when this happens.  What the device does while connected to the charge cable:  uses sleep timer to wake up periodically to:  read ADC on P0_7 to check charge current of battery (voltage over a resistor with current proportional to charge current provides voltage to ADC), if below predetermined level, use Timer4 and LED as a charge complete indicator and sleep in IDLE mode only. If charge current too high, update the sleep timer compare and go to PM2, wake up and do it over again.

Unplugging the cable while 'powered off' causes the device to enter PM3.

The device operates at 4 MHz, but sets the clock back to 32 MHz when shutting down to support the ADC use.

Any help or insight will be greatly appreciated - Sam

  • I am experiencing the same issue with some of out units. They get in a mode where the reset line will not reset the processor.  Did you ever get any satisfaction from TI?

     

    Danny

  • Hi Samuel,

    Wondering if you ever resolved this? 

    And not sure why this never got answered, perhaps because it is in software, rather than hardware . . .  I know it is over a year old, and I doubt you are still waiting for an answer, but it would be good to know what the solution was (or was not).

    -Leonard

  • I have been experiencing this type of lock up behavior recently on a cc2530.  It only occurs once or twice a month. Need a power cycle to fix it.  I have not tried the reset line. I was pretty well convinced it was my app but based on attempts to reproduce proving fruitless, I am starting to think otherwise.  running 2.4.0 HA implementation

  • Hi Dan,

      This could most likely be due to a SLEEP Timer issue (see description on page 21 of the datasheet).  If you would like us to look at the code to determine if this is possibly the cause, let me know and we'll arrange a way to transfer.

    -Leonard

     

  • Thanks Leonard, my data sheet has a block diagram on page 21.  Most probably looking at the wrong document.  Would be glad to get an extra set of eyes on the code. Let me know how you would like to proceed.

    Regards, Dan

  • Hi,

     

    I have the same issue. I have about 10 devices  (cc2530) which are measuring temperature and there’s battery voltage and send that data periodically to coordinator (all devices go to PM2 sleep mode between periods of sending messages).

    After a day or two or sometimes a week passes that everything is working fine and then some devices stop to work. So I tried to figure what is going on. At first I thought it was a software error then I started test which included all devices (hardware and software is same, period of sending are the same batteries are same) and results where:

    1. The lock does not happen on all devices (it is not uniform transformation)
    2. Period of error (lock) can defer from to device (on one device I can happened in just for between two hours sometimes between two weeks)
    3. Some of devices never failed
    4. 4.       If I don’t use sleep (power conserve) issue never happens everything works fine

    So my conclusion is:

    It can’t be a software error (hardware, software, period and all conditions are same). Because some devices never failed, and others that did didn’t have uniform transformation of failure (device1 failed 3 times device2 failed 10 times device4 1, ….)

     

    I thought that it must be problem with external 32Mhz oscillator (Mine devices are in fridge temperatures between 3 and 6 C) so I replaced it with new one I got same results. Then I tried to replace oscillator capacitors I got same thing and then I added 1 Mohm resistor to help him to start and that did not help

     

    I even tried to enable CKE (clock fail detection) and that helped me.

    I tried to enable watchdog, and that helped me a little bit because the system restarted when locked and continued to work but that doesn’t work as it should. What happens (my sending period is 5 minutes) is when my device starts is it should send message to coordinator (and go to PM2 for 5 minutes) and then send another one and so on…., this normally works ok but sometimes when my watchdog get triggered and device gets restarted it does not do nothing sometimes for like 10, 15 to 25 minutes, and then starts to work why I don’t know  why (I suspect that is something generally wrong with my external oscillator and device is waiting to clock to become stable in init_function or something like that)

     

     

    Please help me