This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2538利用mac timer配合rf实现以31.25ns为精度的TDMA发送,是否可行?

Other Parts Discussed in Thread: CC2538

通过查阅zstack的mac/low_level部分的代码,发现设置延迟是以WAITX等类似的指令进行退避。该类指令只能以mac timer的overflow为最小精度进行发送。 不满足我的需求。

再仔细研究文档, 有诸如WEVENT1,WEVENT2之类的指令,该类指令可以设定mac timer的event,通过等待event事件之后,进行发送。 但是又存在其他问题,比如,我想把WEVENT1映射到mac timer overflow cmp1 event, 把WEVENT2映射到mac timer cmp1 event, 连续等待这2个事件, 期望能达到效果。 关键问题是,我的理解是这2个event不是是独立的,  WEVENT2的多次触发才会导致WEVENT1的触发,因此, 达不到精确定时的目的。

如果仅使用一个event1, 比如将WEVENT1配置成 mac timer overflow cmp1 event, 并且将mac timer的周期设置成0, 这样,每隔31.25ns会产生一次overflow,这样,最长可以延迟0.5s左右。 但是整个时间轴的最长时间也是0.5s, beacon的周期将会很难设定。

希望大神能够提供一些思路,告诉我这个需求是否可以满足?