Part Number:CC1310
CC1310 sdk例程中有同步收发的例子,在rfSynchronizedPacketRx_CC2640R2工程中存在syncOffsetTime变量,通过注释可知其是测量发送与接收之间的漂移
/* The synchronisation offset might be used to calculate the clock drift between tranStateMachine_itter and receiver. */
int32_t syncOffsetTime = rxTime – RX_START_TO_SETTLE_TICKS – RF_cmdPropRx.startTime;
在以下链接中,提到syncOffsetTime应该小于RX_START_MARGIN,若是大于则需要增加RX_START_MARGIN的值。
https://www.ti2k.com/wp-content/uploads/2022/03/DeyiSupport_1GHz_starterware-cc1350stk-how-to-decide-the-value-of-rx_start_margin
理论上若没有晶体漂移或传输延迟错误,syncOffsetTime = RX_START_MARGIN
在我的理解syncOffsetTime > RX_START_MARGIN时,表明当前时间戳rxTime 值较大即收到数据时间较晚,无需提早开启RF,按照上面链接回答为何还要增加RX_START_MARGIN,不应该减小RX_START_MARGIN值吗?
请问我这样的理解是否准确,请有理解的大佬解答疑惑,谢谢!
Cherry Zhou:
您好我们已收到您的问题并反馈给工程师,如有答复将尽快回复您,谢谢!
,
Cherry Zhou:
syncOffsetTime 似乎是代码中不会使用的值。
如果 syncOffsetTime 更多,那么确实会比需要的时间早唤醒。
但很抱歉我们目前不确定可以分配给 RX_START_Margin 的值的限制。 我们还是建议您在不知道最大晶体漂移的情况下使用默认值会更安全一些。