This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Random BLE disconnect/re-connect

Hi,

We are developing a product that consists of a "central" and "peripheral" device.  A small amount of data is periodically send from the central to peripheral device (to keep the 2 in sync).  The period ranges from nom. 500ms up to several seconds.  I am seeing the devices randomly disconnect / re-connect.  Sometimes it will run for most of the day without any problems, other times will will disconnect / re-connect every few minutes (or even seconds).

My application SW is implemented as a "state machine" that runs on a 50ms ticker.  The peripherals used are GPIO's for buttons and LED's, and I2C.  I'm using the s132 soft device with version 15.0 of the nRF5 SDK.  The "older" SDK version came about as a result of following some online tutorials to get myself going.

Are there any timing parameters, etc that I can alter to make the system more "robust"?  Do you have any suggestions re: how I should go about determining the cause of the problem (I've been having trouble debugging as breakpoints tend to cause the soft device to fall over).

Although the system is battery powered, power consumption is not a huge concern.  When not in use the system is completely powered off.  When in use the system runs a motor (so the uP's current draw is insignificant).

Thanks,

Chris.

Parents
  • Hi Chris,

    Are there any timing parameters, etc that I can alter to make the system more "robust"? 

    Yes. Assuming the disconnection reason is timeout due to packet loss, this can probably be improved by looking at the connection parameters. The combination of connection interval and supervision timeout (and paritally slave latency) dictates how many packets can be lost before the link is disconnected due to supervision timeout. Generally, reducing the connection interval and/or increasing the supervision timeout will make the link more robust.

    Einar

Reply
  • Hi Chris,

    Are there any timing parameters, etc that I can alter to make the system more "robust"? 

    Yes. Assuming the disconnection reason is timeout due to packet loss, this can probably be improved by looking at the connection parameters. The combination of connection interval and supervision timeout (and paritally slave latency) dictates how many packets can be lost before the link is disconnected due to supervision timeout. Generally, reducing the connection interval and/or increasing the supervision timeout will make the link more robust.

    Einar

Children
No Data
Related