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.

[参考译文] CC1352P:发送数据包时 SmartRFStudio 挂起

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1304941/cc1352p-smartrfstudio-hangs-when-sending-packets

器件型号:CC1352P
主题中讨论的其他器件: UNIFLASH

您好!

我有一个采用 CC1352P 并使用 SDK 7.10.0.98的定制电路板。
作为基础、我使用了 simple peripheral oad offchip 示例并根据我的要求对其进行了修改。

我们已经生产了100个定制电路板、现在、我们正在测试 BLE 连接的质量。
第一步是使用 UniFlash 8.4.0.4458将我们的软件(BIM_offchip 和简单外设)刷写到定制板。
第二步、我们测试 BLE 连接的质量。
该测试是通过 SmartRFStudio 7 2.29.0完成的、我们使用 BLE 模式将其打开、并发送5000个数据包。
大多数电路板正常工作、但对于大约20块电路板、SmartRFStudio 存在问题。
当尝试发送5000个数据包时、它只发送170个数据包、然后什么也没有发生。
短时间后、它在发送的数据包中显示为47824数据包发送且挂起。
然后我必须点击停止并关闭 SmartRFStudio 才能再次开始发送数据包。

最有趣的是、当我使用这20个板在 UniFlash 中执行闪存擦除时、SmartRFStudio 中没有问题。
5000个数据包的发送工作正常、但质量不好。 我们有很多 CRC 错误、平均 RSSI 很差。

对于32kHz 晶体、这是不是个问题?

有人知道吗、为什么在我擦除整个闪存后数据包发送有效?

此致

托马斯

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

    尊敬的 Thomas:

    您能否浏览硬件和 PCB 设计指南、并检查您是否遵循其中概述的最佳实践?

    https://www.ti.com/lit/swra640

    谢谢、

    M·H

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

    尊敬的 Marie:

    我们已根据本文档的第4章设计了定制板。
    作为基础、我们使用了 LAUNCHXL-CC1352P1的参考设计。
    我们在设计中使用了与参考设计相同的32kHz 和48Mhz 晶体、并将32kHz 晶体的电容器调整为20pF。
    对于射频器件、我们使用 Johanson 的 Balon 0900PC15A0036E。
    我们还遵循了直流/直流稳压器的规则、并使元件靠近 DCDC_SW 引脚。
    对于天线、我们使用 NN02-224。

    我们已对100个定制板对 LAUNCHXL-CC1352P1进行了测试、对于80个定制板、连接良好(无 CRC 错误、平均 RSSI 为-56dBm、距离为60cm)。
    只有这20个电路板有问题、即 SmartRFStudio 在大约170个数据包之后挂起。

    当我擦除整个闪存时、也会从闪存中删除 CCFG 区域。
    擦除后、为什么我可以在 SmartRFStudio 中发送 CAN 数据包?
    数据包的质量不好(许多 CRC 错误、平均 RSSI 约为-85dBm)、但 SmartRFStudio 不挂起。

    此致

    托马斯

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

    尊敬的 Marie:

    我们发现、此问题由来自 CCFG 的 Register MODE_CONF 中的字段 XOSC_FREQ 触发。

    我们使用值2、因为我们有一个外部振荡器。 值2会导致 SmartRFStudio 中出现问题、还会导致射频连接质量不佳。
    将该值设置为0即外部48 MHz TCXO 可解决该问题。

    这里我有2个问题:

    1.
    我在技术参考手册中读出、值0表示温度补偿振荡器。
    将该值设置为 TCXO 时、我必须使用具有温度补偿的外部振荡器吗?还是意味着我可以使用正常的振荡器并且温度补偿由微控制器完成?

    2.
    当我更改为 TCXO 时、为什么它可以工作?

    此致

    托马斯

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

    尊敬的 Thomas:

    请您澄清一下:

    • 您使用的是48 MHz 晶体(而不是 TCXO)。
    • 在 SmartRF Studio 中、使用其中一种默认设置时、您看到了问题吗? 您提到您要设置 XOSC_FREQ 值(最初设置为2、然后设置为0)、但问题是否会在根本不覆盖此值的情况下发生?

    此致、

    扎克

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

    您好、Zack、

    我们将使用48Mhz 晶体、它不是 TCXO (Kyocera CX2016DB48000C0WPLA2)。

    这就是我设置 XOSC_FREQ 值和启动 SmartRF Studio 的方法:

    1.我使用 Uniflash 刷写器件、其中包含 CCFG。 在此 CCFG 中、XOSC_FREQ 的值为2、应正确、因为我们使用的是外部48MHz 晶体。
    刷写后、我启动 SmartRF Studio 并选择"BLE Mode"。
    3.然后选择作为预设 BLE、1Mbps、LE 1M。 我不更改预设的任何值。
    4.然后我开始传输5000个数据包。

    如果我执行这些步骤、在大约170个数据包后、SmartRF Studio 将挂起。

    但是、如果我将第1步中的 CCFG 更改为 XOSC_FREQ 的值0、SmartRF Studio 可以正常工作。

    此致、

    托马斯

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

    尊敬的 Thomas:

    为了理解上下文、我需要仔细检查 SmartRF Studio 在已刷写 FW 的器件中的工作原理;一旦我阐明相关信息、我将需要在下周对此进行响应。

    此致、

    扎克