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.

how to increase Data Rate on CC2541.

Other Parts Discussed in Thread: CC2541, ADS1293

Hi

some quick direction required!!!!!!!!!

I am working on wireless heart monitor using ADS1293 with CC2541. I am in need of large samples per second. So First i have changed the data rate in ads1293 according to the document.But the output from the cc2541 doesn't match the data rate with ads1293.

Currently the wireless heart rate monitor transfers 120 samples per second through BLE. I need to increase the data rate.

Is there any limitation for connection interval of BLE. Currently Data from ADS1293 device is ping-pong buffered and up to six notifications are sent every 14 ms based on an OSAL timer.

I need change these time to increase the data rate. is this may affect in the device? if so detailed it.  please guide in which file has to change these things.

  • Hi,

    What type of central device are you using? You can start by checking if this device is limiting the throughput.
    Use a sniffer to see if the more data (MD) bit is set in the last notification sent by the heart rate monitor device in each connection event.
    This would mean that the peripheral device has more data to transfer, but the central is limiting the throughput. This would be a good start to see if there are any possibility for throughput improvements.

    Regards,
    Johan
  • Hi,

    I have using the android tablet as a central device. when I trigger the notification i have received only 120SPS per channel (i.e approx 60 notifications per second).

    what are the parameter have to check/modify to increase data rate ? Suggest me some possible ways to increase the number of notifications per second effectively.

    Thanks,
    Mari
  • Hi,

    I think that the interesting thing for you would be to see how often you call GATT_Notification();.
    To increase the throughput, this should be called as often as possible.

    You could also try to increase the connection interval to 10 ms using:

    // Minimum connection interval (units of 1.25ms) if automatic parameter update request is enabled
    #define DEFAULT_DESIRED_MIN_CONN_INTERVAL 200

    // Maximum connection interval (units of 1.25ms) if automatic parameter update request is enabled
    #define DEFAULT_DESIRED_MAX_CONN_INTERVAL 1600

    Regards,
    Johan
  • Hi Johan,

    When I go through the code have noticed that default enable update request is set as false. when I changed this as true and checked the data rate. The samples received at android is increased.

    The both min and max connection interval is set as 8
    i.e :
    // Minimum connection interval (units of 1.25ms) if automatic parameter update request is enabled
    #define DEFAULT_DESIRED_MIN_CONN_INTERVAL 8

    // Maximum connection interval (units of 1.25ms) if automatic parameter update request is enabled
    #define DEFAULT_DESIRED_MAX_CONN_INTERVAL 8

    From this parameter may I know the calculation to find out connection interval.