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:使用433.92 MHz OOK 调制接收和发送曼彻斯特编码数据。

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1503399/launchxl-cc1312r1-receiving-and-sending-manchester-coded-data-using-433-92-mhz-ook-modulation

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

工具/软件:

您好:

我们希望使用 CC1312R1芯片接收来自传统传感器/ 按钮的 RC 代码、还希望使用433.92MHz OOK 调制和曼彻斯特编码将 RC 代码发送到传统手持设备/监视器。

SmartRF Studio 提供了一个选项(CMD_PROP_RADIO_DIV_SETUP 下的 formatConf=>fecMode)来选择曼彻斯特编码二进制调制。

但是、我们无法为接收 RC 代码设置正确的配置设置和覆盖。

您能否建议 RX 和 TX 模式的设置和必要的覆盖、以使 LAUNCHXL-CC1312R1能够使用433.92 MHz OOK 调制接收和发送曼彻斯特编码数据?

谢谢。此致。  

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

    我相信您可能会遇到问题、无法使其在 RX 中正常工作。 CC1312R 设计为接收前导码+同步字。 旧协议通常不使用这两种协议。 如果这是一个协议,每行发送3个相等的数据包和/或数据包的开头总是相同的,你可以有点创造性的什么你使用的前导码/同步字。 请注意、CC1312R 不会对同步字进行曼彻斯特编码、因此在设置同步字时必须考虑到这一点。    

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

    您好:

    目前、一级专家已离职。 一旦他们返回,他们将回答你的问题。  

    谢谢、
    Alex F

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

    请参阅以下文章、了解如何在使用 OOK 补丁时启用曼彻斯特编码/解码:

    (+) CC1310:CC1310 OOK 曼彻斯特解码-低于1GHz 论坛-低于1GHz - TI E2E 支持论坛

    Siri

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

    您好,感谢您的答复。 我们安装了 SmartRF Studio 7 (v2.32.0)并使用 CC1312R 和 CC1310 LaunchPad 进行测试。 将 MCE_RFE_OVERRIDE 编辑为(1、0、17、1、0、0)不会影响 CC1310和 CC1312R 停止工作。 是否需要单独的 OOK 补丁来启用曼彻斯特编码、或者如果我们从 SmartRF Studio 中提供的默认 OOK 设置之一开始、是否在里面?   

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

    曼彻斯特不需要单独的补丁、并且 CC1310和 CC1312R 都应使用 OOK 补丁。

    但是、如果我在 CC1312R 上尝试使用 Studio 进行测试、发现我遇到了一些问题、因为它适用于 CC1310。

    因此、我做了以下练习来证明曼彻斯特编码适用于这两种器件:

    CC1312R

    这里使用了 SDK 中默认的 rfPacketTX 示例、并对其进行了修改、以传输固定长度4的数据包。

    有效载荷为 0x00、0xFF、0xAA、0x55

    数据在启用曼彻斯特模式的情况下传输、但必须手动将 ti_radio_config.c 文件添加到工程中才能对其进行修改:

    使用固定长度的原因是出于演示目的、我希望在启用和不启用曼彻斯特的情况下都能收到固定长度的信息。

    在下面修改了 rfPacketTX:

    #define PAYLOAD_LENGTH      4
    
    static RF_Object rfObject;
    static RF_Handle rfHandle;
    
    static uint8_t packet[PAYLOAD_LENGTH] = {0x00, 0xFF, 0xAA, 0x55};
    
    void *mainThread(void *arg0)
    {
        RF_Params rfParams;
        RF_Params_init(&rfParams);
    
        GPIO_setConfig(CONFIG_GPIO_GLED, GPIO_CFG_OUT_STD | GPIO_CFG_OUT_LOW);
    
        GPIO_write(CONFIG_GPIO_GLED, CONFIG_GPIO_LED_OFF);
    
        RF_cmdPropTx.pktLen = PAYLOAD_LENGTH;
        RF_cmdPropTx.pPkt = packet;
        RF_cmdPropTx.startTrigger.triggerType = TRIG_NOW;
        RF_cmdPropTx.pktConf.bVarLen = 0x0; // Fixed length
    
        rfHandle = RF_open(&rfObject, &RF_prop, (RF_RadioSetup*)&RF_cmdPropRadioDivSetup, &rfParams);
    
        RF_postCmd(rfHandle, (RF_Op*)&RF_cmdFs, RF_PriorityNormal, NULL, 0);
    
        while(1)
        {
            RF_runCmd(rfHandle, (RF_Op*)&RF_cmdPropTx, RF_PriorityNormal, NULL, 0);
    
            GPIO_toggle(CONFIG_GPIO_GLED);
    
            RF_yield(rfHandle);
    
            usleep(500000);
        }
    }

    CC1310

    C1310 I 控制来自 Studio、因为此设备可以更改覆盖。

    如果我首先将 CC1310配置为在没有曼彻斯特的情况下运行、则将数据包长度设置为固定的8个字节(因为我正在使用曼彻斯特传输4个字节)

    如下所示、我收到的数据是曼切斯特编码的

    在 CC1310接收器上也启用了曼彻斯特 编码、我接收从 CC1312R 发送的4个曼彻斯特编码数据:

    Siri

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

    感谢您与测试演示分享示例工程。  我们使用 868.00 MHz OOK 和433.92 OOK 设置成功复制并测试了此演示设置。
    我们 在 CC13x0和 CC13x2技术参考手册中找到、在曼彻斯特编码模式下、一个0数据位编码为01b、一个1数据位编码为 TI 射频栈中的10b。

    我们 需要支持不同的编码/解码协议、例如、1000b 表示0数据位、1110b 表示1数据位。 是否可以通过覆盖来配置/更改编码/解码协议? 或者是否有任何替代方法?

    谢谢 、 此致。

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

    0 -> 1000

    1 -> 1110  

    不受支持(我看不到这应该是如何实现曼彻斯特生态的、因为0和1都有1 -> 0过渡)

    为了适应这种情况、您需要自己进行编码/解码。

    因此、您需要在固定数据包长度中使用器件、因为器件本身将不会理解编码长度、您还必须在 SW 中进行 CRC 计算。

    BR

    Siri