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.

[参考译文] CC1311P3:CC1311P3 器件之间的低频偏差 (2kHz) GFSK 通信时观察到的问题

Guru**** 2644665 points

Other Parts Discussed in Thread: CC1311P3

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1575826/cc1311p3-issue-observed-with-low-frequency-deviation-2-khz-gfsk-communication-between-cc1311p3-devices

器件型号:CC1311P3


工具/软件:

我们正在使用 CC1311P3 定制 PHY 配置、在该配置中、我们发现了频率偏差配置为 2KHz 的问题。   

  • 频率偏差: 2kHz

  • 序言: 1 位

  • 同步字: 4 字节

  • RX 模式: rx_advmaxLength = 0(默认为 2047 字节)

  • 传输模式: 27.5ms 数据、5ms 间隙、然后是另一 27.5ms 数据、以此类推。

  • 通信 从 CC1311P3 TX 转换为基准器件 (大概是另一个调制解调器) 正常工作

  • 不过、 两个 CC1311P3 器件之间的通信失败 替换器件。

  • IF I 增加频率偏差 从 TX 侧单独连接到 2.5kHz 或 2.75kHz 、RX 端可以对某些数据包进行解码、但是:

    • 一些数据包 仍然缺少

    • 此时将显示已接收的数据 已移动/未对齐 后续数据包中。

  1. 为什么两个与基准器件配合使用时具有 2kHz 偏差的 CC1311P3 之间的通信失败?

  2. 为什么增加偏差会略微允许部分接收、但会导致数据错位?

  3. 在如此低的频率偏差(例如 2kHz)下运行时、解调器是否存在已知的限制或容差?

  4. 是否需要任何特殊配置或权变措施来确保 CC1311P3 器件之间以低偏差可靠接收?

    // CFG  
    RFC_CMD_PROP_RADIO_DIV_SETUP_PA_t RF_cmdPropRadioDivSetup_CST_ABOVE_430 =

    .commandNo = 0x3807、
    .status = 0x0000、
    .pNextOp = 0、
    .StartTime = 0x00000000、
    .startTrigger.triggerType = 0x0、
    .startTrigger.bEnaCmd = 0x0、
    .startTrigger.triggerNo = 0x0、
    .startTrigger.pastTrig = 0x0、
    .condition.rule = 0x1、
    .condition.nSkip = 0x0、
    .modulation.modType = 0x1、//0x0049、
    .modulation.deviation = 0x8、//0x8、//0x8、
    .modulation.deviationStepSz = 0x0、
    .symbolRate.prescale = 0xF、
    .symbolRate.rateWord = 0x3127、//0xC4A、//0x3127
    .symbolRate.decimMode = 0x0、
    .rxBw = 0x4C、
    前导码 Conf.nPreamBytes = 0x0、
    前导码 Conf.前导 码模式= 0x0、
    .formatConf.nSwBits = 0x20、
    .formatConf.bBitReversal = 0x1、
    .formatConf.bMsbFirst = 0x0、
    .formatConf.fecMode = 0x0、
    .formatConf.whitenMode = 0x0、
    .config.frontEndMode = 0x0、
    config.biasMode = 0x1、
    .config.analogCfgMode = 0x0、
    config.bNoFsPowerUp = 0x0、
    .config.bSynthNarrowBand = 0x0、//将窄带设置为 0 指定高于 430MHz 的工作频率范围
    .txPower = 0x003F、//0x26CC、//0x20C9、//0x46DA、//0x58E0、//0x003F、//0x0EC2、
    .pRegOverride = pOverrides_CST_ABOVE_430、
    .centerFreq = 0x01D5、//0x01B3 - CH1、//0x01D6 - CH2、
    .intFreq = 0x8000、
    .loDivider = 0x0A、
    .pRegOverrideTxStd = 0、
    .pRegOverrideTx20 = 0
    };

    // RX ADV 的 POST 命令  
    rfPostHandle = RF_postCmd (rfHandle、(RF_Op*)&RF_cmdPropRxAdv_CST、
    RF_PriorityNormal、&ReceivedOnRFcallback、
    RF_EventRxEntryDone);

    缓冲区来读取 Rx 数据。  

    谢谢、  
    Thiv B.  

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

    您好、

    调制指数似乎过低。 建议保持在 0.5 到 1.0 之间。

    即调制指数= 2 x f_dev /数据速率

    如果您的速率为 19.2kbps、则调制指数在 2kHz_freq_dev 时仅为 0.2、在 2.75kHz_freq_dev 时仅为 0.3。

    建议至少将 fdev 增加到 5kHz。

    此致、

      Richard