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-CC1312R1:自定义数据包格式...

Guru**** 2480475 points
Other Parts Discussed in Thread: CC1312R

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1311583/launchxl-cc1312r1-custom-packet-formats

器件型号:LAUNCHXL-CC1312R1
主题中讨论的其他器件:CC1312R

首席工程师购买了两块 Launchpad-1312R 测试板、以潜在地使用 MCU/Wireless 替代我们制造的 EOL 窄带产品。

为了向后兼容,需要使用 AX.25协议。 这会使用001100110011作为前导码字节、而不是0101010。 我无法找到改变前导码的方法。

我希望采用这样的模式:只构建要发送的整个数据包、而不是依靠 CC1312R 的自动数据包生成。

另一项是 AX.25使用 HDLC、"位/零填充" OTA、我找不到这本技术手册的参考。 当 TX'D 数据包在一行中遇到5个时、它会在它后面插入一个零、因此在由0x7E 组帧的用户数据中看不到0x7E 关闭标志。 在接收侧、当遇到5个连续的1、然后出现一个零时、零被丢弃、RX 过程继续进行、直到遇到关闭的0x7E 标志。 这意味着一些发送的字节可能包含9位而不是8位、接收过程也需要考虑这一点。

另一个关于 AX.25的问题、他们被告知禁用前导码、同步字和标头、并手动将其构建到数据包中。 我找到了 CRC 控制器、没有添加 CRC 字节、但没有找到禁用同步字的方法。 我可能有页眉抑制设置、但我现在不确定。

Q1:禁用这些功能并手动创建整个数据包的方法。

Q2:位/零填充?

非常感谢您的观看!

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

    Dan、您好!

    遗憾的是,我们没有这样的"透明"模式。

    但是、您实际上可以通过覆盖项来更改前导码位、如下所示: https://dev.ti.com/tirex/explore/content/simplelink_cc13xx_cc26xx_sdk_7_10_02_23/docs/proprietary-rf/proprietary-rf-users-guide/proprietary-rf/cc1101-migration.html#packet-format

    关于同步字,你不能尝试同步在"黄金码"(相关标签)?

    对于位填充、我认为必须在应用处理器中计算帧(包括 CRC)、因为我们没有这样的功能。

    此致、

    亚瑟

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

    感谢您的回复。 我现在终于回到这个话题。 希望有关更改前导码的位将在 Smart RF Studio 中提供、因为这是我目前正在处理的问题。 我还没有开发任何 TI 产品、所以学习开发代码和库只是为了检查这些次要的东西、嗯...

    有点填充……这是另一个混乱! 如果不是在硬件中自动完成、到目前为止我发现的唯一方法是设置以位为单位的数据包字节、遍历这些位、在需要的地方添加一个额外的0、 然后按顺序将位重新封装为8位字节、因此、一旦只有一个填充的零、该字节以及其后的所有字节将成为与原始字节不同的 TX 值。 然后、您必须在接收时将其撤消。 啊!

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

    Dan、您好!

    以下是如何为 Smart RF Studio 测试会话添加覆盖项:

    但遗憾的是、为了格式化数据包、您必须像在前一个数据包中所描述的那样进行操作、因为截至今天、我们还没有在硬件中进行此设置。

    我希望您能够成功实现数据传输。

    此致、

    亚瑟

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

    您好、Arthur。 感谢您使用"超驰"功能。 这让我走上了正确的方向,我能够改变前导码的模式,我正在尝试与另一个装备相互操作,使用.

    此时、我可以使用 SmartRF 从 CC1312R1发送一个数据包、然后收到这个数据包、再从无线电的串行端口输出正确的有效负载数据。

    我能够做到这一点的方法是、使用逻辑分析仪捕获另一个器件发送到其调制解调器到 TX 的 TX 数据/TX 时钟、以记录该特定消息的字节序列。 我能够将 SmartRF 设置为能够发送(大多数情况下)接收和输出的相同字节模式。 我必须关闭器件 ID、长度字节和 CRC、以便仅传输指定的字节。

    当然、1312不会接收相同的数据包、因为传统设备会进行前面提到的"位填充"、1312也不知道如何"撤消"该数据包。

    传统器件发送0x66 0x66 0x66、然后(数量30) 0x0F、0x7E、(带 CRC 的数据流)、0x7E。

    我所做的是将覆盖中的前导码更改为0x66、以发送三个字节。 然后、我制作一个4字节的"同步字":0x0F 0x0F 0x0F 0x7E、然后是我使用逻辑分析仪捕获的字节数据。

    我这样做的目的只是为了至少得到那里的0x0F 中的(3)个。 传统无线电使用这些信号进行调制解调器时钟提取和位同步、默认数量为(30)。 强而清晰的信号可以处理仅仅几个标志、就像我现在在实验室中、在-50dBm RSSI 下使用同轴电缆和衰减器。 但是、当 BER 为10 (-6)时、9600 OTA 的传统产品的额定功率是-112dBm。 所以(3)实验室中的0x0F 标志可以这么做、但是在野外、它可能需要(30)、或者(60)标志、用于低 RSSI 或嘈杂环境。

    您是否可以提供有关去加重/打包过程如何工作的白皮书的链接? 这是我的应用中该芯片的最大问题。

    实际上、这里有许多问题对我不利。

    再次感谢您的帮助和您的时间。

    -丹

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

    Dan、您好!

    很抱歉耽误你的时间。

    有关该主题的唯一公开信息将载于《技术参考手册》。

    我认为、要使其在此时发挥作用、唯一的方法是撤消 CC1312应用处理器中软件中的位填充。

    此致、

    亚瑟