微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > 射频无线通信设计 > 协调器发送无线数据包到接收终端数据的时延问题

协调器发送无线数据包到接收终端数据的时延问题

时间:10-02 整理:3721RD 点击:
协调器发送无线数据包到终端,终端接收数据包立马回复数据包给协调器。此间耗时600+ms,为什么时延这么大?能通过什么方法降低这种时延么?

问题详述:
当初选用Zigbee的非常重要的原因就是其时延短。
但我现在通过PC对Zigbee协调器写,使其发送数据到终端;终端接收到数据包就采集ADC然后发送数据包给协调器,协调器接收包立马串口发送给PC。经PC上串口写和串口读之间花费时间的输出,发现总共用了800+ms。
然后我让Zigbee协调器接收到串口数据立马返回,然后用PC去测试,发现200ms。
那就是说协调器发送一个数据包给终端、终端的ADC采集和终端将采集数据发送到协调器总共需要600+ms。
在CC2530芯片的技术文档里,每个ADC采集时的序列转换只需要花费(16+分辨率)*0.25us的时间,也就是说采用14分辨率采集8路ADC也只需要花费60us,不到1ms的时间。
那么从协调器发送无线数据包到终端和终端发送数据包到协调器的总时间需要300+ms的延时。这是因为什么原因啊?我能不能让这个时延变小到几十ms啊?谢谢

由于你采用的是ed
ED的数据接收时poll方式的,数据没有第一时间发送给ed而是缓存起来
等ed过来poll看是否有数据,有的话就取走
这些基本概念在spec中描述的非常清晰
需要调整poll时间

我抓包后,协调器每次发送一个数据,终端都会等到一个Data request包发出去,然后协调器再重发这个数据包,然后终端才处理这个数据包。每两个Data request包之间间隔在f8wConfig.cfg文件中。我查资料这个Data request包类似心跳包一样。我把DRFD_RCVC_ALWAYS_ON设置为true之后,终端从接收包到发出数据包的间隔就只有几毫秒了。如果要调整poll间隔事件的话,需要调整那个参数?谢谢

DRFD_RCVC_ALWAYS_ON
这个表示一直RX 就不存在poll的说法了
为false的时候是poll机制 目的是为了低功耗
至于poll参数 你贴一个cfg文件我看下 很近不搞记不得了

带POLL字眼的cfg参数 你看看

该问题已基本解决,就在.cfg中的一个参数可以设置谢谢

您好我想请问一下具体是调整了哪些参数?

-DRFD_RCVC_ALWAYS_ON=FALSE

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

网站地图

Top