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:与 CC1310相比、Rx 灵敏度较低

Guru**** 2548840 points
Other Parts Discussed in Thread: CC1312R, CC1310

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1114204/cc1312r-low-rx-sensitivity-compared-to-cc1310

器件型号:CC1312R
主题中讨论的其他器件: CC1310

在我们的一个应用中、我们已经从 CC1310迁移到 CC1312R、现在可以看到 Rx 和 Tx 质量之间存在奇怪的不匹配、比较旧器件和新器件。

问题:CC1312R 器件接收数据包的几率比 CC1310器件低得多。

这种情况随着距离的增加而变得更糟、超过此距离、CC1310仍会接收每一个数据包、而 CC1312R 不会接收任何数据包(~30m)。
同时、当发送 CC1312R 器件时效果更好、其发送的数据包的 RSSI 始终高于 CC1310。

如果能提供任何帮助来了解这种情况的原因、我们将不胜感激

我强烈怀疑射频配置问题、下面是我已经找到的内容以及有关设置的一些详细信息。

除了天线和平衡-非平衡变压器外、整个器件设计是相同的。 CC1310器件具有一个分立式平衡-非平衡变压器和一个简单的 λ/4线天线、与 Molex 粘接式天线和一个沿 CC1312R 的 Johanson 0850BM14E0016形成对比。 不过、使用简单的导线更换 CC1312R 天线不会改变结果。

执行的软件与我们使用 SmartRF-Studio 为两个器件生成的无线电命令相同。
我们使用专有协议在868MHz 下运行50kbps GFSK、并附加文件。

CC1310 CC1312R
// Overrides for CMD_PROP_RADIO_DIV_SETUP
uint32_t pOverrides[] =
{
    // override_use_patch_prop_genfsk.xml
    // PHY: Use MCE ROM bank 4, RFE RAM patch
    MCE_RFE_OVERRIDE(0,4,0,1,0,0),
    // override_synth_prop_863_930_div5.xml
    // Synth: Set recommended RTRIM to 7
    HW_REG_OVERRIDE(0x4038,0x0037),
    // Synth: Set Fref to 4 MHz
    (uint32_t)0x000684A3,
    // Synth: Configure fine calibration setting
    HW_REG_OVERRIDE(0x4020,0x7F00),
    // Synth: Configure fine calibration setting
    HW_REG_OVERRIDE(0x4064,0x0040),
    // Synth: Configure fine calibration setting
    (uint32_t)0xB1070503,
    // Synth: Configure fine calibration setting
    (uint32_t)0x05330523,
    // Synth: Set loop bandwidth after lock to 20 kHz
    (uint32_t)0x0A480583,
    // Synth: Set loop bandwidth after lock to 20 kHz
    (uint32_t)0x7AB80603,
    // Synth: Configure VCO LDO (in ADI1, set VCOLDOCFG=0x9F to use voltage input reference)
    ADI_REG_OVERRIDE(1,4,0x9F),
    // Synth: Configure synth LDO (in ADI1, set SLDOCTL0.COMP_CAP=1)
    ADI_HALFREG_OVERRIDE(1,7,0x4,0x4),
    // Synth: Use 24 MHz XOSC as synth clock, enable extra PLL filtering
    (uint32_t)0x02010403,
    // Synth: Configure extra PLL filtering
    (uint32_t)0x00108463,
    // Synth: Increase synth programming timeout (0x04B0 RAT ticks = 300 us)
    (uint32_t)0x04B00243,
    // override_phy_rx_aaf_bw_0xd.xml
    // Rx: Set anti-aliasing filter bandwidth to 0xD (in ADI0, set IFAMPCTL3[7:4]=0xD)
    ADI_HALFREG_OVERRIDE(0,61,0xF,0xD),
    // override_phy_gfsk_rx.xml
    // Rx: Set LNA bias current trim offset to 3
    (uint32_t)0x00038883,
    // Rx: Freeze RSSI on sync found event
    HW_REG_OVERRIDE(0x6084,0x35F1),
    // override_phy_gfsk_pa_ramp_agc_reflevel_0x1a.xml
    // Tx: Configure PA ramping setting (0x41). Rx: Set AGC reference level to 0x1A.
    HW_REG_OVERRIDE(0x6088,0x411A),
    // Tx: Configure PA ramping setting
    HW_REG_OVERRIDE(0x608C,0x8213),
    // override_phy_rx_rssi_offset_5db.xml
    // Rx: Set RSSI offset to adjust reported RSSI by +5 dB (default: 0), trimmed for external bias and differential configuration
    (uint32_t)0x00FB88A3,
    (uint32_t)0xFFFFFFFF
};
// Overrides for CMD_PROP_RADIO_DIV_SETUP
uint32_t pOverrides[] =
{
    // override_prop_common.xml
    // DC/DC regulator: In Tx, use DCDCCTL5[3:0]=0x7 (DITHER_EN=0 and IPEAK=7).
    (uint32_t)0x00F788D3,
    // override_tc106.xml
    // Tx: Configure PA ramp time, PACTL2.RC=0x3 (in ADI0, set PACTL2[4:3]=0x3)
    ADI_2HALFREG_OVERRIDE(0,16,0x8,0x8,17,0x1,0x1),
    // Rx: Set AGC reference level to 0x1A (default: 0x2E)
    HW_REG_OVERRIDE(0x609C,0x0048),
    // Rx: Set RSSI offset to adjust reported RSSI by -1 dB (default: -2), trimmed for external bias and differential configuration
    (uint32_t)0x000188A3,
    // Rx: Set anti-aliasing filter bandwidth to 0xD (in ADI0, set IFAMPCTL3[7:4]=0xD)
    ADI_HALFREG_OVERRIDE(0,61,0xF,0xD),
    // Tx: Set wait time before turning off ramp to 0x1A (default: 0x1F)
    HW_REG_OVERRIDE(0x6028,0x001A),
    (uint32_t)0xFFFFFFFF
};
e2e.ti.com/.../radio_2D00_cmds_2D00_cc1310.c e2e.ti.com/.../radio_2D00_cmds_2D00_cc1312.c

对这些进行比较会使"Overrides for CMD_PROP_RADIO_DIV_SETUP "部分几乎完全不同、无需解释
对于大多数这些覆盖项、我找不到有意义的文档。

我可以在 www.ti.com/.../swra523b.pdf 上找到有关天线分集的应用手册、该手册解释了什么

// Rx: Set AGC reference level to 0x1A (default: 0x2E)
HW_REG_OVERRIDE(0x609C,0x001A),

可能会发生。 我知道、该参考级别是 RSSI 值、超过该值、AGC 将 LNA 增益调至更低的值、以便后续接收。

将此覆盖值改回默认的0x2E 已经使接收数据包的几率加倍。 将其更改为0x48使接收工作几乎正常、但对于非常近的范围、会再次降低 Rx 概率(可能是由于削波)。

是否有任何其他文档说明了这些覆盖的应用原因及其实际含义?

我尤其担心 LNA 偏置电流偏移、我找不到任何文档、也找不到适用于 CC1312R 的文档、但(如果这实际上意味着 LNA 偏置电流)可能会对接收器灵敏度产生很大影响。

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

    您好!

    作为调试的第一步:

    • 有关   覆盖的更多文档、请参阅 SWRA682 (Finding Settings for new PHY for the CC13xx Family):www.ti.com/.../swra682.pdf。
    • 您是否 执行了任何传导测量(频谱分析仪上的 TX 输出功率和 RX 灵敏度)?  

      SWRA603A (调试通信范围): https://www.ti.com/lit/an/swra603a/swra603a.pdf

    此致、

    Zack

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

    您好、Zack、

    感谢您的快速回复!  SWRA682 (Finding Settings for new PHY……)是我要查找的文档!

    至于您的问题、我们已经验证了 TX 频率、功率、斜坡和计时在消声屏蔽室中使用辐射测量时工作良好、因此我相信我们在这里没有任何实质性的硬件和天线问题。

    但是、我们尚未对这两个文档中所示的传导测试量进行练习。 下周我将会做更多的事情、届时我将再次访问该实验。

    祝你度过美好的周末、致以诚挚的问候、

    Martin

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

    您好、Zack、

    并运行更多测量之后进行测量。 频率和带宽均正确且符合预期。 因此、我假设 AGC 基准是我唯一需要调整的东西。

    关于这个问题、我有一个问题:

    什么是中的 AGC_REF 电平设置单位、如何进行调节?

     根据 SWRA682、我了解到 AGC_REF 电平应设置为比敏感度限值高7-8dB (在最大 AGC_REF 设置)。 因此、我将 AGC_REF 设置为0xFF、 并在本例中将 Good PER 的最小 RSSI 测量为-92dBm。

    因此、我需要将 AGC_REF 设置为-84dBm、我是否理解正确?

    如果是这样、我从 SWRA523b 中了解到从 RSSI dBm 到 AGC_REF 设置的转换因数与[+ 48 dBm]类似。 但是、这会给我的 AGC_REF 留下一个不被接受的负值、远低于我的实验认为有效的值。

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

    请注意、对于 CC1312R、在 CC1310上使用的很多覆盖项都包含在 ROM 代码等中、这意味着覆盖项看起来有很大不同、但在所有方面、差异是有限的。

    如果使用不带前端模块的 CC1310与 CC1312R、则应使用每个器件的默认50kbps 设置获得相同的范围。 我怀疑 CC1312R 设计有问题、我建议您提交设计供审核(https://www.ti.com/tool/SIMPLELINK-SUB1GHZ-DESIGN-REVIEWS)

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

    我找到了一个足够的权变措施、将 AGC 基准电平调到0x42、并且额外将 LNA 偏置电流设置为最大值(在我的应用中、对电流消耗的影响可以忽略不计)。

    我尝试按照 SWRA682中的说明进行操作、但没有结果。 那么、下面是我所做的:

    • 使用 JTAG 设置基于接收 CC1312的器 件、按照 SWRA682中的代码示例在每次接收后未超时读取实际 AGC 增益寄存器。 请注意、应用手册中有一个拼写错误、为 CC1312的 AGC 增益读取的正确寄存 器为0x40046094。
    • 将 Rx 器件的 AGC_REF 设置为最大值、并将发送器件置于最小"标称"工作范围。
    • 开始降低 AGC_REF、直到接收器开始降低增益并在该范围内使接收变得稳定。 请注意、AGC_REF、RSSI 和实际增益寄存器值不在同一域中。

    我会将我们的设计归档以进行审阅、但是我也建议 TI 对 CM0处的增益控制器代码进行另一次审阅。 感觉 AGC 的下调谐曲线(RSSI 增益)下降得太快、无法增加 RSSI。