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.

[参考译文] LAUNCHXL-CC1310:PacketTX 上缺少连续数据包

Guru**** 1825110 points
Other Parts Discussed in Thread: CC1310, WMBUS
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/956573/launchxl-cc1310-missing-consecutive-packets-on-packettx

器件型号:LAUNCHXL-CC1310
主题中讨论的其他器件:CC1310WMBUS

您好!

我们正在尝试在 CC1310 LP 板上实现仿真器件。 我只需导入 packetTX TI-RTOS 示例、然后从 SmartRF Studio 导出 SmartRF 设置、即可使用频率、同步字等无线 MBUS 设置

假设我们需要连续发送1000个数据包、我 将反复调用 rf_runCmd、因为它已经阻断、然后使用另一个 LP 板使用 SmartRF Studio7侦听数据包。 如果我在 TX 命令之间添加延迟(使用任务睡眠或命令触发 TRIG_ABSTIME)、一切都正常。 但是、如果我使用 TRIG_NOW 并且在 TX 命令之后不添加延迟、则几乎一半的数据包不会传输。

我正在尝试了解导致 TX 数据包失败的原因、我无法获取任何事件或终止原因。 我在这里缺少什么吗? 下面是我的 SmartRF 设置和 TX 命令的代码片段。

RFC_CMD_PROP_TX_t RF_cmdPropTx =
{
.commandNo = 0x3801、
syncdWord = 0x543D、 //0x543D 0x663F、
.status = 0x0000、
.pNextOp = 0、//插入适用的指针:(uint8_t*)&xxx
.StartTime = 0x00000000、
.startTrigger.triggerType = trig_now、
.startTrigger.bEnaCmd = 0x0、
.startTrigger.triggerNo = 0x0、
.startTrigger.PastTrig = 0x0、
.condition.rule = 0x1、
.condition.nSkip = 0x0、
.pktConf.bFsOff = 0x0、
.pktConf.bUseCrc = 0x0、
.pktConf.bVarLen = 0x0、
.pktLen = 0x07、
.pPKT = 0 //插入适用的指针:(UINT8_t*)&xxx
};

RF_cmdPropTx.pktLen =(uint8_t)SIM_GetLengthEncoded();
RF_PropcmdTx.pPKT = SIM_GetPtrEned();

while (1)
{//
存在新的数据包以发送? //
if (sim_NextPack())
{
//传输编码的 Simulation 数据包... */
rf_runCmd (rfHandle、(rf_Op*)&rf_cmdPropTx、rf_PriorityHigh、NULL、0);
}
} 

此致、

Abdullah。

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

    您好、Abdullah、

    您能否共享您在 TX 端使用的完整设置、设置和所有设置? 这将有助于准确了解您的应用测试的工作原理、从而对可能出现的问题提供良好的反馈。

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

    您好、M-W、

    我为 PacketTX 项目附加了 SmartRF 设置和任务源文件(仅已有1个任务)。 这对您来说足够了吗?

    sim_NextPack()函数只能通过更改几个字节来刷新源缓冲区。 我只是增加数据包内的一些计数器、这样它就不会占用太多时间。

    此致、

    Abdullah。

    e2e.ti.com/.../8308.smartrf_5F00_settings.ce2e.ti.com/.../rf_5F00_layer.c

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

    您好、Abdullah、

    我使用您的配置文件执行了快速 packetTx 测试,我通过使用 trig_now 尽可能快地执行 runCmd (),即可连续接收1000个数据包,没有问题。 您能否与我分享您如何设置 SmartRF Studio 以及如何与我共享完整的 TX 项目(如果您愿意、可以私下进行)。  

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

    您好、M-W、

    我向您发送了 packetTX 固件项目以及 packetRX 的 SmartRF 设置(私人消息)。 请阅读"M-W 自述文件以获得快速说明"。

    此致

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

    您好、Abdullah、

    问题是您的 SmartRF Studio 设置与您传输的内容不符。 例如、TX 设置为发送16位 syncword 和163字节的数据。 如果您将 SmartRF Studio 配置为需要32位同步字和更长的软件包、则会出现"匹配错误"、从而导致"丢失"数据包。

    话虽如此、我理解您希望在 syncword 中执行的操作、您似乎已将"最后16位"移至有效负载"wmbus"样式。 这是可以的、但您仍然需要根据实际的数据包长度调整 Studio 中的 RX 长度(您不会发送255字节、对吧?)。

    在侧注中、您是否知道有实际的 wmbus CT 和 S 贴片可以处理。 例如、无线电中的6选3编码/解码?

    https://www.ti.com/lit/pdf/swra522