首页 理论教育 链路层确认需求实例:功率锁

链路层确认需求实例:功率锁

时间:2023-06-28 理论教育 版权反馈
【摘要】:TinyOS链路层协议栈通过Packet Acknowledgements接口支持确认。在发送端,堆栈在一小段时间内等待链路层确认,并报告是否接收确认信号。例如,在CC2420射频上,每个操作需要通过SPI总线发送一个命令来读取或写入数据。然而,这个SPI总线是多个芯片和子系统共享的,在节点接收数据分组时,闪存驱动器可能需要在同一时间使用SPI总线来读取数据。我们不能依赖于SPI总线组件来调度多个外部请求,因为它可能试图在两个射频堆栈操作之间插入一个较大的flash写操作。

链路层确认需求实例:功率锁

链路层的数据分组通信就是功率锁的一个例子。TinyOS链路层协议栈通过Packet Acknowledgements接口支持确认。当一个节点接收到一个发送给该节点的数据分组时,它会立即发送一个小数据分组来进行响应,对接收进行确认。在发送端,堆栈在一小段时间内等待链路层确认,并报告是否接收确认信号。最大限度地减少发送端的等待时间是提高性能的关键,所以接收机要尽快发送确认信号。

从编程的角度来看,射频堆栈的接收部分需要经过以下几步:

1)读取无线信道上的数据分组;

2)检查数据分组,看它是否应该发送确认;

3)转变射频为发送模式;(www.xing528.com)

4)发送确认;

5)返回射频接收模式。

以上每个步骤都是单独的分阶段操作。例如,在CC2420射频上,每个操作需要通过SPI总线发送一个命令来读取或写入数据。然而,这个SPI总线是多个芯片和子系统共享的,在节点接收数据分组时,闪存驱动器可能需要在同一时间使用SPI总线来读取数据。我们不能依赖于SPI总线组件来调度多个外部请求,因为它可能试图在两个射频堆栈操作之间插入一个较大的flash写操作。我们需要一个方法来使射频堆栈请求独占访问总线,这样它可以快速地执行这五个操作,然后释放总线以供给其他部分使用。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈