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.

Compiler/CC2640R2F: CC2640 crash and Bluetooth connection failed

Part Number: CC2640R2F
Other Parts Discussed in Thread: CC2640

Tool/software: TI C/C++ Compiler

Question 1: When the device is charged, it turns on, connects Bluetooth normally, communicates, discharges the cell phone after shutting down, and presses the button, it will be invalid. After resetting, it will be normal.           

Question 2: Through Bluetooth connection of mobile phone and equipment, there will be two times that the connection can not be connected, and the frequency offset is normal by spectrum analyzer.

 The above problem has been solved, and the test has not appeared at present. Thank you.

  • Hi,
    What SDK and HW are you testing with?
  • SDK:1.30.00.25(03 Mar 2017),We adopt BLE4.2 protocol, and we test the transmission frequency offset by smartRF studio 7.
  • So you are running the tests with your own custom hardware? Have you tried to reproduce on a TI Launchpad?
  • Hi Joakim,First of all, thank you for your support.

    There are many peripherals in our program, and the running logic is continuous. We can't test the original development board separately. My schematic has been provided before. We have 462 MHZ sub-g wireless outside. We have charge and discharge chips that need to be controlled. If we can test separately, we will test them.

    3531.PT01-V2.4.pdf

  • Hi,

    I need some more details to understand your questions.

    > Question 1: When the device is charged, it turns on, connects Bluetooth normally, communicates, discharges the cell phone after shutting down, and presses the button, it will be invalid. After resetting, it will be normal.

    * Which device turns on? CC2640R2?
    * What do you mean by "discharges the cell phone after shutting down"? What shuts down? Discharge the battery? Which battery, phone or device?
    * What do you mean by "presses the button, it will be invalid" ? Which button, what is invalid?
    * What does normal mean?


    > Question 2: Through Bluetooth connection of mobile phone and equipment, there will be two times that the connection can not be connected, and the frequency offset is normal by spectrum analyzer.

    * Is your device acting as a BLE peripheral device?
    * How do you detect that that the connection isn't made?
    * If it is a peripheral, does it advertise?
    * Do you have a sniffer trace of the connection establishment procedure that fails? With e.g. a Frontline, Ellisys or TI sniffer?
    * Do you mean two times ever? How can this be reproduced?

    Best regards,
    Aslak
  • Before answering your question, let me talk about the composition of our products: CC2640R2(Master control and BLE), AX5043 (low frequency RF),Battery management:IP5209 (Charging and external discharge),key(Control the device to go to sleep and start working),LED indicator (indicating device status),
    The workflow of the device is connected and mobile phone with BLE(Protocol 4.2), and the mobile APP can send data to the device.
    key:Press the button once to go to sleep, then press another,turn on the device
    CC2640 and AX5043 communicate by SPI ,and IP5209 communicate with I2C

    * Which device turns on? CC2640R2?
    The entire product belongs to the device, and the entire device is the CC2640R2 control implementation function.

    * What do you mean by "discharges the cell phone after shutting down"? What shuts down? Discharge the battery? Which battery, phone or device?
    Press the button to put the device to sleep, and charge the phone through the Micro USB (the device discharges externally).

    * What do you mean by "presses the button, it will be invalid" ? Which button, what is invalid?
    Press the button again to wake up the device and the device will not wake up to work.

    * What does normal mean?
    The normal process is to let the device sleep and wake up by pressing the button. The problem is that it can't wake up or it doesn't work.

    * Is your device acting as a BLE peripheral device?
    Their communication is device and mobile phone through BLE, the processor controls the transmission and reception of data through low frequency RF.

    * How do you detect that that the connection isn't made?
    Detecting the connection success is through the APP on the mobile phone

    * If it is a peripheral, does it advertise?
    No advertising

    * Do you have a sniffer trace of the connection establishment procedure that fails? With e.g. a Frontline, Ellisys or TI sniffer?
    I asked the software engineer to tell you again.

    * Do you mean two times ever? How can this be reproduced?
    Our testers are constantly testing the equipment, randomly appearing,

    We are now ready to change the program to test the Bluetooth connection problem, a way to simply test the Bluetooth connection of the phone and device, do not do other data communication.
    Another way is to add data communication. After our Bluetooth connection, the mobile app will write an address to the device by Bluetooth. The device receives and responds with an ACK, which is considered as a successful Bluetooth connection. so So our current device connection success is to judge two parts, one is Bluetooth connection, one is data normal communication once
  • Hi,

    Ok, so if I understand this:
    * The failure is always that the CC2640R2 is not responsive after having gone to sleep. Both your questions are talking about the same problem.
    * The problem is not related to BLE, but device power state.
    * None of the RF interfaces on the board are responsive in the failure state, but this is because the CC2640R2 is controlling everything, and is not waking up.

    Is this correct?

    Assuming this is correct, it would be useful if you can
    * Add a LED turn-on in the interrupt handler for the button, to see if it responds to button press at all. Turn this off when going to sleep.
    * Measure the input voltage seen by the CC2640R2 when it fails to wake up
    * Explain how you enter "sleep", in the code. What API function is used, how and when is it called.
    * Explain how you wake it up, in the code.
    * Measure the current consumption of the CC2640R2 during 1) sleep state, 2) after waking up normally, 3) after failed wakeup

    If you are using Power_shutdown(..) to enter the lowest power state, it is possible for the device to get stuck during wakeup if the TCK pin has been pulsed by accident. Read more about this here: dev.ti.com/.../_power_c_c26_x_x_8h.html

    Best regards,
    Aslak