TI中文支持网
TI专业的中文技术问题搜集分享网站

为什么CC2541蓝牙BLE通信速度实测最大只有500Byte/s?

主机与从机都是使用CC2541,主机的功能是将从机发来的数据通过串口(波特率为115200)发送到电脑,从机每隔40ms使用notify的方式向主机发送数据,一次发送一个包的数据,一个包是20字节,最大连接间隔和最小连接间隔都设定为6了,这样测试出来的速度约为500Byte/s。

为了提升速度,如果从机发送数据间隔变小或者一次发送二个包,那么串口的数据就会部分丢失。

请问有什么办法能让它的通信速度增加?

Yan:

wanfu,

试一下这个:

http://processors.wiki.ti.com/index.php/OverlappedProcessing

da qin zheng sheng:

回复 Yan:

学习了

wenzhong shen:

这是你的串口透传机制的bug引起的,TI官方的吞吐量测试程序,速率可以达到5.9KB/s,是7ms连接间隔发送4包数据,每包20字节。我们这边用的这个程序进行的修改,用手机作为采集器调试完美通过,其中还包含从eprom读数据的时间。

da qin zheng sheng:

回复 wenzhong shen:

很好阿

wanfu zheng:

回复 Yan:

Yan,

目前我使用的协议是1.3.2,打算之后试下1.4.0

wanfu zheng:

回复 wenzhong shen:

只要连接间隔发送1个包以上,数据就会丢失,我使用的协议栈是1.3.2,跟这个应该有些关系

supcond:

我遇到的问题跟你一样,改成20ms,使用notification,主机的响应速率只有30HZ,无从解决啊…

wanfu zheng:

原因找到了,是因为我在使能notify之前就发数据了,后来在notify使能之后再发数据,这样速度就非常快,将近4K/S

cheng qin1:

回复 wanfu zheng:

你好,我调试过程中遇到了同样的问题,你QQ多少,麻烦加一下我,我请教一下你。我的QQ:569083188

wanfu zheng:

回复 cheng qin1:

其实真正的原因不是使能notify,而是在连接参数更新成功之前就不停传输数据导致参数更新失败了,所以当我在参数更新成功之前不传输数据,参数更新成功后再传输,速度就能达到4K/s

赞(0)
未经允许不得转载:TI中文支持网 » 为什么CC2541蓝牙BLE通信速度实测最大只有500Byte/s?
分享到: 更多 (0)