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.

  • Resolved

CC2650 real-world throughput?

Prodigy 135 points

Replies: 13

Views: 4644

Hi all,

I am trying to build a portable wireless EEG system using ADS1299 and I am entangled with wireless module/chip selection.

In my case,I want the output EEG signals of multiple ADS1299s to be transferred to one receiving end wirelessly(star network topology), the throughput is about:

250Hz(sample rate) * 24bits(resolution) * 8(channel) * N(TX-end number)= 48*N kbps

I think the zigbee is too slow for my design and wifi is too power hungry for battery-powered applications, so is bluetooth suitable? I know the max data rate of CC2650 is 1Mbps but what is the max real-world throughput?

If CC2650 is not suitable, could anyone please give me some suggestions on wireless module/chip selection? Thanks!

Regards,

Eric

  • Guru 100485 points
    Hi Eric,

    Around 190 kbps is the maximum actual throughput for BLE on CC26xx as of now.

    Cheers,
    Fredrik
  • In reply to Fredrik K:

    Do you mean 190 kbps of data or 190 kbps total? Chip makers like to include CRC bits in "total" throughput statistics...
  • Guru 100485 points

    In reply to Peter Borenstein:

    Actual data throughput.
  • In reply to Fredrik K:

    Hi Fredrik,
    Thank you.

    Eric
  • In reply to Eric Tian:

    Hi Fredrik,
    One step further.. Do you have any data WRT the approximate maximum expected BLE throughput when the CC2650 is paired/connected and transferring data to an iPhone (say 5s or 6s).. same question for a typical Android phone (say Samsung S6)? I am wondering if the phones reduce the (~190kbps) max throughput. Thanks, Merril
  • Guru 104890 points

    In reply to Newman:

    Hi Merril,

    Yes, iOS does constrain the throughput on BLE. I haven't confirmed with iOS9, but on iOS8, the maximum throughput was limited to 6 connection event packets @ the nominal 30ms connection interval that iOS typically establishes the connection. I don't have any characterization on Samsung throughput, although Android devices usually accept faster connection intervals than iOS.

    You can also take note of the BLE High Throughput wiki article: processors.wiki.ti.com/.../CC26XX_BLE_Throughput which demonstrates the maximum BLE throughput using two CC2640 devices. These devices are operating in standard BLE mode.

    Best wishes

    Please click the "This Resolved My Issue" button on this post if it answers your question

  • In reply to JXS:

    Based on this doc :

    developer.apple.com/.../BluetoothDesignGuidelines.pdf

    It seems that if we configure our device as a HID the  min packet interval time can drop to 11.5ms, but for all other devices the minimum will be 20ms.

    Please confirm if that is your understanding as well.

    There are 2 other questions:

    1. apparently the BLE spec says that number of packets is 6 (although I could not find it in spec), and iOS only supports 4 (which I also could not find in any spec).

    2. several sources also state that BLE can send 20 bytes per packet .. again, I couldn't find this in the spec.

    With the data above I end up with
    packet interval time = 20ms
    number of packets per interval = 4
    number of bytes per packet = 20

    => 4000 bytes per second

     

  • Guru 104890 points

    In reply to Sajid Dalvi:

    Hello,

    Regarding the Apple BT Design Guide, you are correct in that you can request 11.5ms for a HID device, although it may only allow HID. Note that I've seen the iOS device assign a 15ms CI when 11.5ms is requested. I'm not sure where you obtained the number of packets iOS supports. YMMV.

    For your other questions,

    1) The BT Core Spec does not define a numerical limit for the number of LE packets in a connection. The connection event is over when one of the following occurs, a) there is not enough time to send another packet before the start of the next event (150uS before), b) two CRC or missed packets occur, or c) the Master elects not to continue the connection event after the first packet. Refer to "4.5.1 Connection Events" in the BT4.0 Core Spec, Vol 6, Part B (Link Layer Specification).

    2) The PDU size is 27 bytes for BLE in BT4.0 & BT4.1. Depending on the higher level protocol being used, the number of payload bytes may be less. For a default ATT_MTU of 23, the max GATT Notification payload is 20 bytes.

    Best wishes

    Please click the "This Resolved My Issue" button on this post if it answers your question

  • In reply to JXS:

    hi all
    I am using 2 cc2640 evm v2.1 sdk, till now i am able to achive only 1260 bytes/second. actually required is 16000bytes/sec. i went through above post i found it is possible to achive 190kbps(~23000bytes/second) in order to achieve this what all are the configurations changes i need to make, Thanks in advance.
  • In reply to madhusudan sangam69:

    madhusudan sangam69
    hi all
    I am using 2 cc2640evm v2.1 sdk, till now i am able to achive only 1260 bytes/second. actually required is 16000bytes/sec. i went through above post i found it is possible to achive 190kbps(~23000bytes/second) in order to achieve this what all are the configurations changes i need to make, Thanks in advance.

    This was mentioned previously in the thread: http://processors.wiki.ti.com/index.php/CC26XX_BLE_Throughput


    If the question is answered, please press the  Verify Answer button below the answer to help other users find the correct answer easily.

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.