当前文档版本为 v0.6.0,您可以访问当前页面的 开发中 版本以获取最近可能的更新。

关于FIFO操作时间说明

1. 概述

pan262x使用的51内核,不同数据类型的操作时间不同,而且时间相差比较大,现对usb fifo和rf fifo相对不同类型数据的操作时间差异测试出来供用户参考。

2. USB FIFO操作时间

image-20240430190756809

由上表可以推测出,对USB FIFO的操作速度:idata数据指针 > xdata数据指针 > 通用指针

用户可以根据自己的实际需要采取适合自己的FIFO操作方式。

3. RF FIFO操作时间

image-20240430190724245

由上表可以推测出,RF的FIFO操作速度与USB FIFO的操作速度规律相似:idata数据指针 > xdata数据指针 > 通用指针

4. 增强型接收端RF处理流程说明

在增强型接收端收到一包数据且需要回复一包数据给发送端时,用户在接收端的写fifo时间需要与rf的发送时间匹配才能正常发送,否则可能会面临回复的数据还没有写完,rf就开始发送的问题。

现以64字节的xdata数据操作为例,接收端的代码处理步骤如下:

  • 接收到rf rx中断

  • 读取rf接收的数据长度(64bytes)

  • 根据长度读取rf rx fifo中接收到数据(使用RF_ReadPayloadByXDATA接口),查以上时间表,此操作约需要121.1us时间

  • 将回复的数据写入rf tx fifo中(使用RF_WriteAckPayloadByXDATA接口 ),查以上时间表,此操作约需要129.1us时间

  • 清除接收中断

由以上步骤大概可以推算出从rf接收中断产生到用户将回复的64bytes数据完全写入rf tx fifo中,需要的时间大于250us,所以rf发送的建立时间要大于250us,保险起见将发送建立时间设置为300us。

RF_SetTxSetupTime(300);//设置rf发送建立时间为300us

以上只是一种典型应用说明,具体的时间用户根据自己代码流程耗时灵活配置。