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.

[参考译文] CC2652P7:在我们的定制 PCB 上片上 OAD 未成功(器件复位)

Guru**** 2953840 points

Other Parts Discussed in Thread: CC2652P7, LP-CC1352P7

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1646142/cc2652p7-on-chip-oad-does-not-success-device-reset-on-our-custom-pcb

器件型号: CC2652P7
主题中讨论的其他器件: LP-CC1352P7

尊敬的 TI 团队:

 

我看到定制 PCB 上的 CC2652P7 片上 OAD 有一个问题。

 

在 OAD 过程中、器件会在完成前复位。

但是、在第三方 PCB 上使用相同的固件和 OAD 过程正常工作、不会有任何问题。

 

当前观察结果:

  • 正常 BLE 运行稳定
  • 仅在 OAD 闪存活动期间进行复位
  • 问题在我们的定制电路板上重现
  • 如下面的链接所示、请参阅 VDO 中的更多内容  

https://drive.google.com/file/d/1SPD_FKqYAMnTbLJXbAmUBkPXXlfEqx0-/view?usp=drive_link

https://drive.google.com/file/d/1D5834ymeuhCwhrRztzAsDjdWUYWpIpOC/view?usp=drive_link

 

已执行初始检查:

  • 与工作板具有相同的固件/映像
  • 已验证基本功率稳定性
  • 已检查复位电路

 

我想寻求有关与 CC2652P7 上的片上 OAD/复位行为相关的其他调试点或硬件检查的建议。

 

Schmatic: CC2652_RGBW_BLE_SMA_CHIP.pdf

设置: IMG_20260514_142747.jpg

 

此致、

存储体

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

    Hi Bank、

    OAD 过程在何时重置自定义 PCB(开始,下载中间,结束等)?  正常工作的第三方 PCB 甚至 LP-CC1352P7 与定制 PCB 之间的原理图或布局之间是否有任何明显差异?  您是否已将设计提交至 SIMPLELINK-2-4GH-DESIGN-REVERS 进行审核?  在对 BIM 和应用程序映像重新编程之前、您是否确定完全擦除所有器件存储器?  能否确认两个时钟都在您的设计中保持稳定、或者如果使用内部 RCOSC 而不是外部 LFOSC、则问题是否发生?  您的电路板的电源是什么?

    除非请求、否则 Google Drive 链接会阻止访问、仅供参考。

    此致、
    Ryan

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

    您好、 Ryan Brown、

    OAD 过程在何时重置自定义 PCB(开始,下载中间,结束等)?

    •  我们的定制 PCB 仍处于器件复位状态、在取消后返回扫描窗口后、将显示在 OAD 持久应用中

    正常工作的第三方 PCB 甚至 LP-CC1352P7 与定制 PCB 之间的原理图或布局之间是否有任何明显差异?

    • 参考 原理图 LP-CC1352P7-4

     您是否已将设计提交至 SIMPLELINK-2-4GH-DESIGN-REVERS 进行审核?

    • 请按如下所示在中查找。

    在对 BIM 和应用程序映像重新编程之前、您是否确定完全擦除所有器件存储器?

    • 好的、没问题。

    您能否确认两个时钟在您的设计中都保持稳定?

    • 由于直接测量 48MHz 振荡器和 32kHz 时钟信号很困难、因此我会将时钟输出路由到 GPIO 并在之后提供更新。

    如果使用内部 RCOSC 而非外部 LFOSC、是否会出现问题?

    您的电路板的电源是什么?

    • 直流电源直接连接到电路板。
    • VDDS、复位 3.3V
    • VDDR 1.66V
    • DCDC_SW 波形、如下所示

    除非请求、否则 Google Drive 链接会阻止访问、仅供参考。

    请重试。

    此致、

    存储体

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

    您好、Ryan Brown、

    我按如下所示添加 OSC 调试代码

    {
        uint32_t hf      = 0;
        uint32_t lf      = 0;
        uint32_t amp     = 0;
        uint32_t avg_amp = 0;
        uint32_t startup = 0;
    
        hf = OSCClockSourceGet(OSC_SRC_CLK_HF);
        lf = OSCClockSourceGet(OSC_SRC_CLK_LF);
    
        /* =========================
         * HF Clock
         * ========================= */
        switch(hf)
        {
            case OSC_RCOSC_HF:
                Log_info0("HF = RCOSC_HF");
                break;
    
            case OSC_XOSC_HF:
                Log_info0("HF = XOSC_HF");
                break;
    
            default:
                Log_info1("HF = UNKNOWN (%u)", hf);
                break;
        }
    
        /* =========================
         * LF Clock
         * ========================= */
        switch(lf)
        {
            case SCLK_LF_FROM_RCOSC_HF:
                Log_info0("LF = Derived from RCOSC_HF");
                break;
    
            case SCLK_LF_FROM_XOSC_HF:
                Log_info0("LF = Derived from XOSC_HF");
                break;
    
            case OSC_RCOSC_LF:
                Log_info0("LF = RCOSC_LF");
                break;
    
            case OSC_XOSC_LF:
                Log_info0("LF = 32k XTAL");
                break;
    
            default:
                Log_info1("LF = UNKNOWN (%u)", lf);
                break;
        }
    
        /* =========================
         * Crystal Amplitude
         * ========================= */
        amp = OSCHF_DebugGetCrystalAmplitude();
        Log_info1("Amp = %u mV", amp);
    
    
        avg_amp = OSCHF_DebugGetExpectedAverageCrystalAmplitude();
        Log_info1("AvgAmp = %u mV", avg_amp);
    
        /* =========================
         * Crystal Startup Time
         * ========================= */
        // startup = OSCHF_DebugGetCrystalStartupTime();
    
        // Log_info1("HF startup = %u LF edges", startup);
      }
    
      {
        /* Route 32k clock to DIO11 */
        IOCPortConfigureSet(
            IOID_11,
            IOC_PORT_AON_CLK32K,
            IOC_STD_OUTPUT
        );
    
        /* Enable 32k clock output */
        AONIOC32kHzOutputEnable();
      }

    第三方 PCB

    #000004 [ 0.047 ]信息:(./Application/init.c:122) HF = XOSC_HF
    #000005 [ 0.047 ]信息:(./Application/init.c:148) lf = 32k tal
    #000006 [ 0.051 ]信息:(./Application/init.c:160) 放大器= 375mV
    #000007 [ 0.051 ]信息:(./Application/init.c:164) 预期 Amp = 465 mV

    定制 PCB

    #000004 [ 0.047 ]信息:(./Application/init.c:122) HF = XOSC_HF
    #000005 [ 0.047 ]信息:(./Application/init.c:136) LF =源自 RCOSC_HF
    #000006 [ 0.051 ]信息:(./Application/init.c:160) 放大器= 540mV
    #000007 [ 0.051 ]信息:(./Application/init.c:164) 预期 Amp = 465 mV

    此致、

    存储体

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

    嘿银行

    您是否通过 API PowerLPF3_getResetReason () 检查了重置原因? 如果没有、您能检查一下结果并告诉我们吗?

    此致、

    Tarek D

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

    您好、

    请对日志使用下面的回复。

    此致、

    存储体

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

    嘿银行

    很抱歉晚回复。

    您的代码中调用的是软件复位、还是系统复位是无意发生的?

    此外、正如 Ryan 先前提到的、您能尝试将时钟源从 LF XOSC 切换到 LF RSOSC 吗?

    此致、

    Tarek D

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

    尊敬的 Tarek D:

    证据

    项目 第三方 定制
    HF 时钟 XOSC_HF XOSC_HF
    LF 时钟 32K XTAL 源自 RCOSC_HF
    持久应用 好的 好的
    OAD 下载 好的 NG
    OAD→应用程序复位 好的 NG
    FW/BIM/OAD 映像 也一样 也一样

    有关更多详细信息、请参阅日志。

    e2e.ti.com/.../3rdParty.txt

    e2e.ti.com/.../Custom.txt

    我将首先评估一个替代 32.768kHz 晶体和相应的负载电容 (CL)、以从 32kHz XTAL 源恢复正常的 LF 时钟运行。 确认 LF 时钟配置后、我将重复 OAD 测试。

    与 CC26x2x7 技术参考手册中所述的注意事项有关的说明。

    此致、

    存储体

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

    您好:

    我将首先评估替代 32.768kHz 晶体和相应的负载电容 (CL)、以通过 32kHz XTAL 源恢复正常的 LF 时钟运行。 确认 LF 时钟配置后、我将重复 OAD 测试。

    听起来不错、请告诉我您的测试结果

    此致、

    Tarek D

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

    尊敬的 Tarek:

    您能否解释一下晶体 A 和晶体 B 之间的差异、包括对振荡器启动裕度、频率稳定性、负载电容要求和整体系统性能的任何影响?

    参数   TZ3158EA6053(TI 参考)   a. b.
    十分之一   32.768kHz 32.768kHz 32.768kHz 32.768kHz
    CL 6–12 pF 7 pF 12.5 pF 7 pF
    ESR 30–100kΩ 80kΩ 最大值 90kΩ 最大值 70kΩ 最大值
    驱动电平 不适用 0.1 μ A µW µW 值、1 μ A 最大值 0.5 μ A (µW 值 0.5 μ A (µW 值

    此致、

    存储体

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

    Hi Bank、

    我想请您确保频率制造容差 (FL) 等于或小于+/- 20 ppm。  否则、两个晶体选项都似乎符合数据表规格、选项 B 更接近建议的 CL。

      

      有关调优建议、请参阅 swra640 的第 6 节。

    此致、
    Ryan