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.

CC2640: Won't Power up if Temperature is High

Part Number: CC2640


Hi,

I have developed a custom board which attaches a CC2640 SaBLE-x-R2 module, firmware based on ble5stack simple_peripheral project. My board is designed by flowing the reference design of LSR SaBLE-x Dev Board. 

While I was doing some environmental tests on it and found out that it would not power up if the temperature is heated up a little bit (5~10 Celsius) until about 30 seconds later.

It can be running just fine once started in heated environment, but if I turn power off then turn on, or hit restart, it will fall into black and won't get anything running (No BLE signal, not LED, no ADC reading, no nothing). Waited for about 10 to 30 seconds, then it can be powered up and run everything just fine. 

The module is powered from a LTC3530 Buck-Boost converter. It is set for 3.4 V. The input to the converter is a dual alkaline battery(~3.0 V) fed thru an on/off switch. There are no external voltage sources that can bleed into the module after power down.

I put a line of codes in the SimpleBLEPeripheral_init() to set one of test pins to high, then monitor it with a scope. It stays low when this problem happens, I assume this means the chip never gets the firmware initiation running and suck in limbo. 

I contacted LSR and waiting for their reply, just wondering if anyone here encountered similar situation and could there be anything related to TI chip causing this problem (internal temperature protection) or if there is any approach in firmware can do with it. 

Thanks, Merry Christmas and Happy New Year!

  • Hello,

    I recommend performing the HW bring check items on the BLE wiki under CC26xx HW Troubleshooting in order to confirm that the CC2640R2F is being powered correctly and external components are functioning. Also, how are you heating the board? Is it via an increase in ambient temperature or are you applying direct heat? I'm assuming you are warming the board 5-10 C degrees above ambient, which is well within the MCU's operating range.

    Best wishes
  • Hi Jeff,

    Happy new year to you!

    I heated the board by blowing hot air to the board from distance and monitoring with a thermal detector on the surface of the module. It was definitely in the operation range (-40 to +85 C).

    Once the chip get running, the heat won't interrupt or stop the operation. The problem (No BLE signal, not LED, no ADC reading, no nothing) only occurred when powered off and powered on after heated.

    By checking the CC26xx HW Troubleshooting items, I attached then XDS110 to the board and reproduced the problem by heating the board up. It appeared that when the chip stuck after power down and up with no functions running, the Flash Programmer 2 can still see and connect it, and CCS can reprogram it also. But even reprogrammed, it was still stuck until cool down a little bit and retry power down and power up.

    I also disabled the internal DC/DC, it seemed to be helpful a little bit: chip didn't get hot as quick as DC/DC enabled, and the chance of stuck got lower.
  • Hello Blubthree,

    Coming back to this, I still don't have an explanation for the behaviour you observe. Just to rule out the Halt-in-Boot (HIB) issue in SmartRF Flash Programmer 2 v1.7.5, can you perform a power reset after removing JTAG before the test is performed. When it does remain in the stuck state, what is the power consumption of the MCU? That could help identify what state the chip is in.

    Best wishes
  • Hi Jeff,

    When it is in the stuck mode, the power consumption runs up to around 10 mA of the whole board (normal operation's about 0.7 mA).
  • and power reset after removing JTAG before the test is performed just fine
  • Hi Bulbthree ,

    So just to confirm, you do see normal / expected operation when you reset the board after disconnecting JTAG prior to starting the heat up test? If so, then I think you are encountering the HiB issue described here: processors.wiki.ti.com/.../CC2640_OAD_User's_Guide

    Also, performing a device reset after JTAG is a required operation.

    Best wishes
  • Hi Jeff,

    My issues seems not relevant to the JTAG in connect or disconnect, it always does reset fine before heating up. Once heated up (just a little bit), system will be lost in limbo after reset (no operation, drawing more current), until I turn it off and wait for about half minute or one, then it backs to normal by itself.

    I followed the HiB Fix instruction by updating my XDS to 7.0.100.1 and CCS to 7.4.0.00015, and tried to reprogram and reset by using CCS and FP2, the issue persists.
  • I finally figured out:

    Laird sets the Sable-x-R2 in the configuration file ccfg.c as Bootloader enabled with DIO9 as a backdoor, which is the same
    pin I used for a analog measurement for board temperature. So when the temperature gets high on board, DIO9 is pulled up (a little more than 1 V) then the processor considers it as a high. Once restart, it enters boot load mode.

    Once I disabled the boot loader backdoor pin, it works fine.
  • Wow, glad you figured it out! Like the saying goes, it all makes sense once you know what's going on :)

    Best wishes