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.

[参考译文] CC1312R:如果 rfPacketTx 传输速度非常快、rfPacketRx 会丢弃数据包

Guru**** 2551110 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1050596/cc1312r-rfpacketrx-drops-packets-if-rfpackettx-is-transmitting-very-fast

器件型号:CC1312R

我按照 Siri 的建议、在每个数据包和上插入前导码和同步字、以连续发送数据包

发送包含许多数据包的整个帧。  这种方法解决了我减少触发器之间间隔的问题(我正在使用

TRIG_EXTERNAL)。   我发现接收器(rfPacketRx)会丢弃数据包-约占传输数据包的5%。  我已经转向了

(UseCrc = 0)、因此我认为它不是 rfPacketRx 检测位错误并丢弃数据包。   在我看来、它更有可能

接收器需要更多时间来处理单次传输中数据包之间的前导码和同步字。  我已经尝试再添加2个

在发送端的数据包之间进行前导码、但仍然看到数据包被丢弃。  在接收端有什么我可以做的

解决这个问题?  我正在运行速率为1Mbps 的标准 rfPacketRx 示例。  单个传输的数据包如下所示:

静态 uint8_t fullPacket0[]={
0x55、0x55、0x55、        //将前置放大器配置为1位,同步字配置为0x55,因此我得到的第一个前置放大器为33位
0x93、0x0B、0x51、0xDE、//同步字
0x06、//长度字节
'('、'!'、'@、'#'、'$'、 '%'、
0x55、0x55、

0x55、0x55、0x55、0x55、0x55、 0x55、
0x93、0x0B、0x51、0xDE、//同步字
0x06、//长度字节
')'、'、'T'、'H'、'I'、 "S"、
0x55、0x55、

0x55、0x55、0x55、0x55、0x55、 0x55、
0x93、0x0B、0x51、0xDE、//同步字
0x06、//长度字节
'、'I'、'S'、'、'T'、 'h'、
0x55、0x55、

0x55、0x55、0x55、0x55、0x55、 0x55、
0x93、0x0B、0x51、0xDE、//同步字
0x06、//长度字节
'e'、'、'R'、'I'、'G'、 'h'、
0x55、0x55、

0x55、0x55、0x55、0x55、0x55、 0x55、
0x93、0x0B、0x51、0xDE、//同步字
0x06、//长度字节
"T"、""、"T"、"I"、"I"、"M"、 'e'、
0x55、0x55、

0x55、0x55、0x55、0x55、0x55、 0x55、
0x93、0x0B、0x51、0xDE、//同步字
0x06、//长度字节
'、'F'、'O'、'R'、'、'、 'A'、
0x55、0x55、

0x55、0x55、0x55、0x55、0x55、 0x55、
0x93、0x0B、0x51、0xDE、//同步字
0x06、//长度字节
'L'、'L'、'、'G'、'O'、 'O'、
0x55、0x55、


0x55、0x55、0x55、0x55、0x55、 0x55、
0x93、0x0B、0x51、0xDE、//同步字
0x06、//长度字节
'D'、'、'M'、'E'、'N'、 '、
0x55、0x55、

0x55、0x55、0x55、0x55、0x55、 0x55
0x93、0x0B、0x51、0xDE、//同步字
0x06、//长度字节
"T"、"O"、""、"C"、"O"、 'm'、
0xA、0xB、

0x55、0x55、0x55、0x55、0x55、 0x55、
0x93、0x0B、0x51、0xDE、//同步字
0x06、//长度字节
'e'、'、'T'、'O'、'、'、 "T"、
0xA、0xB、

0x55、0x55、0x55、0x55、0x55、 0x55、
0x93、0x0B、0x51、0xDE、//同步字
0x06、//长度字节
'H'、'E'、'、'A'、'I'、 "D"、
0xA、0xB、

0x55、0x55、0x55、0x55、0x55、 0x55、
0x93、0x0B、0x51、0xDE、//同步字
0x06、//长度字节
'、'O'、'F'、'、'T'、 'h'、
0xA、0xB、

0x55、0x55、0x55、0x55、0x55、 0x55、
0x93、0x0B、0x51、0xDE、//同步字
0x06、//长度字节
'e'、'i'、'R'、'、'O'、 'W'、
0xA、0xB、

0x55、0x55、0x55、0x55、0x55、 0x55、
0x93、0x0B、0x51、0xDE、//同步字
0x06、//长度字节
'N'、'、'P'、'A'、'R'、 "T"、
0xA、0xB、


0x55、0x55、0x55、0x55、0x55、 0x55、
0x93、0x0B、0x51、0xDE、//同步字
0x06、//长度字节
'I'、'E'、'S'、'、'['、 '*'、
0xA、0xB、

0x55、0x55、0x55、0x55、0x55、 0x55、
0x93、0x0B、0x51、0xDE、//同步字
0x06、//长度字节
'&'、'^'、'%'、'$'、']'、 '\n'、
0xA、0xB、
};

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的德克:

    丢包的最常见原因是噪声。 您能否进行一些简单的测试、例如检查不同范围的数据包错误率(PER)、以了解这是否是您的问题?

    您是在 LaunchPad 上还是在定制板上运行此功能?

    谢谢、

    玛丽·H.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您需要先在数据包之间进行延迟测试(测试1Mbps PHY 并为每个 TX 命令发送一个数据包)。

    您现在没有丢失任何数据包吗? 如果是这种情况、问题很可能是接收器需要更多的时间、而您只需要在"无限"数据包中添加更多的"虚拟"前导码字节。

    在 RX 端、没有任何事情可以做来加快速度。

    BR

    Siri

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    玛丽:

      我使用的是 CC1312R1 LaunchPad、而不是定制板。  我正在传输上面消息中所示的确切帧(包含16个数据包)。  是的、如果我传输一个较小的帧、比如帧中有8个数据包、那么我看不到丢弃的数据包(运行几个小时后)。  如果我运行完整的数据包、即使使用前导码的额外2个字节、我也始终会看到大约5%的数据包丢失。  丢弃模式始终缺少6个字节(1个数据包的大小)。 我也没有看到任何损坏的字符。  由于我已关闭 UseCrc、因此不太可能出现位错误导致的下降。


    TW

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    SIRI:

      实际上、发送1个数据包和最多8个数据包不会导致数据包丢失。  当我发送包含16个嵌入式数据包的整个帧时、我开始看到大约5%的数据包丢失。   我将尝试添加更多前导码、看看它是否起作用。  两个问题: 1)我还应该增加 RX 端的前导码长度配置吗? 2)通过调整(覆盖) AGC 基准电平、是否有助于缩短所需的前置放大器?

    谢谢、

    TW

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Marie 和 Siri:

     通过在数据包之间填充最多15个字节的前导码、RX 端不会看到丢失或损坏的数据包。

    这解决了我眼前的问题。

    谢谢、

    TW