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.

CC2642R: BLE : Connection between a single Central device to multiple peripherals

Part Number: CC2642R
Other Parts Discussed in Thread: BLE-STACK, SYSCONFIG

Hello,

I'm trying to understand the following:- 

1) Can a single Central device establish a connection with multiple peripherals at the same time?

     - If so, is there a limit to the number of peripherals it can connect to ?

2) Will the Central device be able to listen to advertisements (channel 37,38,39) when its connected to  a peripheral?

 - From what I understand, the central listens to advertisements(connectable) from the peripheral, sends connection request

- Once the connection is established , the data transmission is in another channel. Eg: channel 17

- My concern is that the radio is occupied in the communication with the central and the connected peripheral device, Is it possible to use the Central to scan for advertisements during this process ?

I'm really new to this, kindly excuse my amateur questions. Any links to resources or other posts regarding the same will be appreciated.

Thanks

  • Hi Sanjay,

    Have you taken a look at the SimpleLink Academy labs for Bluetooth? http://dev.ti.com/tirex/explore/node?node=AO9tDQs88Bcw33.wxV2moA__krol.2c__LATEST

    It provides interactive labs to learn everything from fundamentals to more advanced topics about Bluetooth.

  • Hello Severin,

    I did go through the examples. They do cover the basics of advertising, scanning and connections. The examples are more inclined towards individual concepts, but I wasn't able to find answers specifically to my questions.

    It answered my first question regarding multiple connections but I couldn't verify the below:-

    My concern is that the radio is occupied in the communication with the central and the connected peripheral device, Is it possible to use the Central to scan for advertisements during this process ?

    Kindly help me out.

  • Hi,

    Try multi role example program, you can connect up to 3 peripherals.

    -kel

  • Hi Sanjay,

    1) There is a limit to how many devices you can be connected to. We test the CC2642R for up to 32 BLE connections but you can connect to more. In the end it will come down to RAM usage.

    2) Yes. The TI BLE-Stack has an internal scheduler that prioritizes between different BLE tasks (connection event, scanning for advertisements). However you will have to leave enough time between connection events to do the scan. E.g. if you want to scan for 30 ms you need to have a connection interval that is greater than 30 ms, if not the scan will be cut short.

    Connection events will always be prioritized over scanning for advertisements. 

    Unless you are continuously streaming data over the BLE connection, or you use the very lowest connection interval (under 10 ms)  you will have plenty of time to scan between connection events.

  • Thanks a lot Marie, this is exactly what I was looking for. The internal scheduler being able to prioritize between tasks. 

    One more question regarding the connection interval: I can do an experiment based on the number of connections I'll require in order to estimate the connection interval based on  the devices I need to connect.

    My question here is, is there any TI documentation on  the connection interval  duration set (for example using CC2642R and 32 BLE connections) and if there's any constraints like the number of packets that's transmitted in each interval and the size of each packets.

    My idea is to just use these as references instead of spending time to verify the same using a trial and error technique.

    Kindly let me know. I really appreciate the help. 

  • Hi Sanjay,

    As a general rule, all queued packets will be transmitted in the next connection event. So if your application has queued e.g. 5 packets they will all be transmitted in the next connection event, even if it means a connection event with a different peer device is lost.

    The BLE-Stack on your device has a RAM buffer for these packets, its size is determined by the MAX_NUM_PDU define (set in sysconfig). (Please not if the peer device keeps sending packets the connection event will continue.)

    You can read about our design for 32 connections here. I don't think we performed the test you are asking about.

    http://dev.ti.com/tirex/explore/content/simplelink_cc13x2_26x2_sdk_3_40_00_02/docs/ble5stack/ble_user_guide/html/ble-stack-common/link-layer-cc13x2_26x2.html#connections-design

  • Thanks a lot Marie, this helps. I can work with this.