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.

CC2640R2F: increase speed of communication

Part Number: CC2640R2F

Tool/software:

hello,
im using code composer studio version 10.3.0.00007

ble sdk simplelink_cc2640r2_sdk_5_10_00_02

XDC tool version 3_51_03_28_core

external flash w25x40cluxig

#define DEFAULT_MAX_SCAN_RES 10

// Advertising interval when device is discoverable (units of 625us, 160=100ms)
#define DEFAULT_ADVERTISING_INTERVAL 160 //This setting desides advertising Interval value multiplied by 1.6//

#define DEFAULT_DISCOVERABLE_MODE GAP_ADTYPE_FLAGS_GENERAL

#define DEFAULT_CONN_INT                         42//200 // ** Connection Parameters Used **//
#define DEFAULT_CONN_TIMEOUT               200//1000
#define DEFAULT_CONN_LATENCY               0

#define DEFAULT_SCAN_DURATION    120 //** scan Intervival in Ms **//
#define DEFAULT_SCAN_WIND             200
#define DEFAULT_SCAN_INT                 200
#define TEMP_STREAM_PERIOD          997
#define SEND_PERIOD                           503
#define ACK_PERIOD                             1109
#define BATT_PERIOD                             599999//FOR EVERY 10 min
#define DYN_ID_RESEND_PERIOD        1003// 0A command FOR EVERY 1 sec
#define READ_DELAY_PERIOD               2003 
#define STATUS_MSG_PERIOD              1501 //status msg FOR EVERY 1.5 sec

#define BUFFER_LIMIT                        2800
#define BUFFER_LIMIT1                    40000

packet length is               10
max pdu size               64 or 69

memory used:
FLASH_IMG_HDR         47%
FLASH                             95%
GPRAM                          31%
SRAM                             40%
AUX_RAM                        76%

ccurrently the speed of data from the 10th coin to the gateway is 5 to 6 sec and that of 1st coin is half a second,guide me on ways to optimize the speed other than adjusting the scan or connection parameters as the present parameters are optimal for power consumption

  • Hello,

    Thank you for reaching out! We will look into your issue and get back to you ASAP.

    Best Regards,

    Tarek

  • Hi !

    I am unsure of what the topology of your problem is.
    - Could you specify what do you mean by coin and how many of them are there ?
    - Are you using one of our boards and/or launchpad ? If yes, which model are you using ?
    - How do you measure the speed from a coin to the gateway ?

    Kind regards,
    Maxence

  • hello

    The system operates as a linear mesh network, where Coins function as both peripherals and centrals, dynamically switching roles based on proximity and connectivity. Each Coin is equipped with an lsm6ds3 and si-70006 a-20 sensor that generates data . When this occurs, the Coin advertises itself as a connectable device, while other Coins and the Gateway actively scan for advertising Coins.

    If the Coin with data is within range of the Gateway, the Gateway acknowledges its advertisement, prompting direct data transmission. However, if the Coin is out of range, it identifies the most suitable nearby Coin based on RSSI and forwards the data to it. In a network of 10 Coins connected to a single Gateway for testing, data transmission does not necessarily follow a sequential path through neighboring nodes; instead, each Coin selects the optimal recipient based on signal strength.

    When multiple Coins generate data simultaneously, an intermediate Coin connects to the nearest data-generating Coin after acknowledging it. It transmits up to 250 bytes per connection before a delay, then scans again to determine the closer data-generating Coin and reconnects. Once it receives the data, it advertises itself and either sends it directly to the Gateway or forwards it to another nearby Coin based on range.


    We are using a custom board, and the speed is measured based on the time at which the data reaches the server.

  • Hi !

    Here are some thoughts about how you could optimize for speed and power consumption :

    - You mention that to transfer data when multiple coins generate data simultaneously, an intermediate coin connect to a data-generating coin, only to transmit up to 250 bytes of data. However, since Bluetooth 5 introduced extended advertising, you can transmit up to 255 bytes of data in an advertisement packet, up from 37 in Bluetooth 4.0. This could save time and power by skipping the connection altogether.
    If you want to explore this solution, I can recommend the SimpleLink Academy course about Bluetooth Low Energy Scanning and Advertising.

    - By reading your post I feel like you have a proprietary algorithm to share data in a network of devices. You could instead use Bluetooth mesh, which seem to nicely fit your use case, and would allow you to use our SDK functions for this, saving you time to develop a proprietary networking algorithm. Be wary that Bluetooth mesh network does not support Bluetooth 5 features such as extended advertising, so this solution is incompatible with the first one.
    If you want to explore this solution, I can recommend the SimpleLink Academy course about TI Bluetooth Mesh Fundamentals.

    I hope these solutions will help you.

    Kind regards,
    Maxence