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.

CC2540 - more than 4 notifications per connection event!!?

Other Parts Discussed in Thread: CC2540

Hi all,

I modified the KeyFobDemo application (following the excample http://processors.wiki.ti.com/index.php/CC2540_Data_Throughput) which now sends data from the CC2540 Keyfob to the USB Dongle. Sending starts immediately after the gapProfileState change to GAPROLE_CONNECTED.

I call the function 4 times, so 4 GATT_Notifications with each 10 byte were sent.

With BTool, I see that the data arrives, but unfortunately I can’t use a sniffer to check if 4 packets per interval are sent. For this reason I take an oscilloscope to check the Rx/Tx phases.

I have read in several threads ( http://e2e.ti.com/support/low_power_rf/f/538/t/123119.aspx or http://e2e.ti.com/support/low_power_rf/f/538/t/194407.aspx)  that the maximum is 4 packets per interval, but as you can see in the following oscillogramm there are 5 Rx/Tx phases in the second interval. Sometimes there are even 6 Rx/Tx phases.

(note: timebase is 4.15 ms/div in zoom)

Does anyone have an explanation?

 

Best regards

Fabian

  • Hi Fabian,

    This is interesting, do you have the BTool log to verify that >4 notifications actually was sent (and received by BTool)?

    Best Regards.

  • Hi,

    yes, the function "sendData" count the notification and put the result in byte 2 and in my case byte 3. BTool received all notifications with hex values from 00 to 22, next is 26. So the first 34 notifications arrived, after that the UART is to slow I think. Or am I wrong?

    Here you can see the actually oscillogramm with first 3 adv packets and again 5 data packets in the second connection event.

    and the BTool log for the packets 2-5

    Best Regards

     

  • Hi Fabian, 

    I now know the reason. The maximum of 4 notifications has been around the discussions regarding maximum throughput, that is using notifications with 20 bytes of data. When sending (queueing) notifications with smaller payload it is possible that more packets are sent during the actual connection interval. The limit is 80 Bytes of user data per connection event.

    I hope that cleared things up.

    Best Regards. 

  • Hi Nick,

    that sounds obvious. I'll test and check it as soon as possible with the maximum of 20 bytes and report the result.

    Thanks a lot

  • Hi Nick,

    yes, you were right. I checked it with 20 bytes and the maximum were 4 notifications. With 2 bytes, sometimes there were up to 8 notifications per event or even more. So not the notifications are limited, they only depend on the maximum data size of 20 bytes.

    Thanks a lot for clearing up

    Best regards