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.

CC2540: BLE Disconnection problem

Part Number: CC2540

hi to all, i am developing a device with cc2540 soc. every thing is ok until central and peripheral connection lost randomly. when i sniff BLE connection i see something like this: 

as you can see peripheral(nrf51822) try to send something to central and each time central(cc2540) dose not ack the received packet and this process continue for 9sec until two parts get disconnected, as you can see the packets are valid and also i sniff the connection with a cc2540 sniffer. can any one give me a advice to solve this problem?? there is any way to increase receiving power of cc2540 ??

  • Decrypted_1.psdi also attached the BLE connection dump.

  • Hi Alireza,

    What code is on the CC2540 - are you basing this all off of simple central? I see that SN and NESN are not incrementing so it seems that the CC2540 central is not seeing the notifications at all. You may want to try and turn on RF observables to see if the RF signals are being received or if BLE radio. Is this only happening when the boards have become far apart? Or perhaps could the timings be off - BLE needs accurate timing so that the device will wake and look for the notification at a valid time slot and on the correct channel.

    Regards,
    Katie
  • Hi katie and thanks for your response,

    My programe is based on a ti examples, i did not remember witch one but example also implemented a usb interface.

    I do not think  that problem occurs because lack of radio signals, because as you can see the sniffer can see the packets. And also this problem occurs when the devices are close to each other, even when i make the devices far apart for 3 meter the connection didn't lost. Now if the problem occurs because timing problem, how can i fix that??

    Thanks

  • and also as you can see in the screen shot of my post the slave send notifications on the same channel that master was sent an empty packet, so i think the problem is not because of the bad channel hoping by the slave. and also the notification packets was sent 230-240 us after the start of connection event,and as you can see in the below picture the connection windows size is 2(2 * 1.25 = 2.5ms), so i do not think the problem reason was timing problems.

    and another thing that i want to say is that, 1 sec after this random disconnection the devices again auto-connect to each other.

    this problem is fatal error in our project and i do not have any idea about this time-out problem. pls if you can help me to solve this problem.

    thanks

    alireza

  • Hi alireza,

    I asked about the observables because even if a packet went over the air and your sniffer saw it, it doesn't mean that it necessarily made it to the peripheral device.

    For timing problem, usually that could be something like an issue with your crystal/clock source not being tuned quite right. Are you using a custom board, or a TI evaluation board?

    Regards,
    Katie

  • i am using ti development board.