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

Connection problem

Currently using nordic52832 to develop products that use batteries.

We found that the problem is that when the BLE module is connected successfully, it takes 200ms to send the message.

How can I improve this problem?

We need a very short grip time and turn off the power.

  • Do you use GATT Client/Server architecture? If so then you are even lucky if you see GATT Server Discovery only 200ms long, usual phones will take 600-1500ms even for the minimal GATT Server configuration. If you have control over both sides of the link (e.g. two nRF5x devices running against each other) then you could debug and optimize (with minimal 7.5ms connection interval and GATT Service Discovery you should still be able to do it within 100ms, probably less). In every case such problems should be always debugged with RF analyzer (sniffer), that will tell you immediately where you are loosing 200ms (it can be on-air procedures and then you can see which side does i and maybe change it or at least understand why, it can be even invisible on radio which signals that one of the sides hangs in higher layers and should be debugged...)

  • Sorry, I did not describe it clearly, I was not talking about the connection time, We use two nrf52832 modules and use the example ble_central \ ble_app_uart_c With ble_peripheral \ ble_app_uart_c, When the two ends ble module connection is successful, Cental ble module needs 200ms to receive RX message, we use the oscilloscope to measure the signal.

    Do we want to have a function that can send messages quickly after power-up, can we recommend features? (Mesh..or etc ...)

  • OK so this makes it even more confusing;) What is exact configuration of your test system and sequence of steps? Can you take RF trace by some BLE sniffer? Then you can clearly say what part is spent before even GAP Peripheral starts advertising, then how long it takes to GAP Central to pick-up the advertisement and issue CONNECT_REQ and finally how long the LL and GATT procedures take before any meaningful exchange happen on APP layer. Without this you can hardly debug and optimize your set-up. There can be many easy/stupid mistakes or misunderstandings like nRF5x starting with LF crystal takes 200-400ms just there so you need o use internal RC or synth from HF if you require start in <100ms range etc.

  • thanks, your response. You can refer as below link for the measurement of the waveform,. link text

  • To be sure what exactly are these 3 colorful lines? How "close" are you to actual processing code on nRF MCU? Also what is your exact set-up and sequence? Is GAP Peripheral running indefinitely and only GAP Central is power on at the beginning of test? And you expect that GAP Central will connect and communicate with Peripheral right after it boots and starts scanning? Also what exactly is happening on BLE radio? That can show you which device is the bottle neck and in which phase...

Related