微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > CC2640 采用notify传输最大速率?

CC2640 采用notify传输最大速率?

时间:10-02 整理:3721RD 点击:

请问,CC2640 采用notify传输最大速率能有多大呢?

我做了个简单的试验:

使用周期函数循环发送数据包,200ms 触发一次,发送一个数据包(400byte),采用的是放入队列,产生信号量的方法,结果程序直接死了;

将周期加大,比如到800MS,就可以发送成功;或者将数据包数据量减少(比如100byte),在200ms内依然可以发送。

所以我的理解是采用notify发送,速度也不是很快对吗?

上面试验应该和我程序的堆设置无关,堆已经足够大

cc2540据说国外测试可以达到每秒4k字节以上!

我的是CC2640

现在我是每隔200毫秒发送一个440字节的数据,基本是一发送就死机

你好,

CC2640在使能BT4.2的协议栈下可以做到100kbps的速率。

Result

Using the parameters described above, we are able to achieve a throughput of around 38.6kB/s without data length extension

Throughput 27B Controller Payload

Using data length extension and the maximum controller data payload we see a throughput increase to 100kB/s.

Throughput 251B Controller Payload

Throughput calculations can be done by hand following this equation

THROUGHPUT_KBPS = (NUM_PACKETS_PER_CXN_EVT) * (NUM_BYTES_PER_PACKET - TOTAL_PACKET_OVERHEAD)/ (CONNECTION_INTERVAL) 

With standard controller features the throughput example will use the following vars

NUM_BYTES_PER_PACKET = 27 bytes TOTAL_PACKET_OVERHEAD = 7 bytes CONNECTION_INTERVAL = 200ms 

With DLE enabled the throughput example will use the following vars

NUM_BYTES_PER_PACKET = 251 bytes TOTAL_PACKET_OVERHEAD = 7 bytes CONNECTION_INTERVAL = 200ms 

As an example, from the above sniffer capture 85 packets of 244 data payload bytes are sent in one connection event (200 ms). This comes out to 103.7kB/s which is similar to what Ellisys is calculating.

测试代码如下所示:

https://github.com/ti-simplelink/ble_examples/blob/master/docs/throughput_example.md

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top