微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > BLE4.0 CC2540之间数据通讯实时性问题请教

BLE4.0 CC2540之间数据通讯实时性问题请教

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

我用两个CC2540,BLE 1.4.0协议栈,想实现 IC---->串口(CC2540)------蓝牙-------串口(CC2540)----》IC这个数据传输过程。串口通过每隔30ms,发送9个字节为一帧的数据;

实验中,我开了两个串口精灵模拟收发数据,发现串口接收端有丢帧现象,不是丢某个字节。

两种情况,在主端CC2540,串口发出的数据个数,与实际进行蓝牙发送后,再输出到主端串口的数据个数不一致;

另一种情况, 主端CC2540串口发出数据,与实际进行蓝牙发送后,输出到主端串口数据一致,但从端2540的串口输出个数与主端不一致。

代码里,我更改了主从的连接时间间隔为:

          #define DEFAULT_DESIRED_MIN_CONN_INTERVAL     6   

         #define DEFAULT_DESIRED_MAX_CONN_INTERVAL     6

更改了从机的#define DEFAULT_DESIRED_CONN_TIMEOUT          100

请问,还有没有再优化的空间,以保证数据不丢包。

谢谢。

Sunny hua,

你可以参考一下这个例子:http://processors.wiki.ti.com/index.php/SerialBLEbridge_V_1.4.1

Hi,Y, 

谢谢你的帮助。

针对这个例子,我有一个疑问,我看到在串口回调里需要对接收来的数据进行按格式判断,如果串口数据传送过来的非常快,可能串口回调正在处理这组数据的时候,下一组又过来了,会不会导致串口数据有未来得处理的情况,或者如果是一大串的串口数据很快的过来,DMA的缓冲满了,是否也会有串口数据未来得及处理的可能,因为DMA的速度很快,但是CPU的处理速度要慢一些。会不会有这种可能。

谢谢。

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

网站地图

Top