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.

[参考译文] SIMPLELINK-LOWPOWER-F3-SDK:PowerCC23X0_lfoscQuual

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1598504/simplelink-lowpower-f3-sdk-powercc23x0_lfoscqual

器件型号:SIMPLELINK-LOWPOWER-F3-SDK

大家好、TI 团队。

我遇到了有关 PowerCC23X0.c 中的 PowerCC23X0_lfoscQuual 函数的问题

如果 LFOSC 精度不符合要求的标准、则该函数似乎会重试 TDC 测量。 我担心、如果 LFOSC 故障且 TDC 结果永远不会有效、系统可能会在 TDC 测量过程中陷入无限环路。

由于此函数是在通过 LFMONCTL 启用复位监控之前执行的、因此我假设在这种情况下器件将无法通过系统复位进行恢复。

您对此潜在问题是否有任何权变措施或推荐的解决方案?

此致

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

    尊敬的 sjmizuta:

    我已经查看了 PowerCC23X0.c、并能理解您的观点。  我要求 TI 驱动程序团队进行澄清。  同时、也许可以实施自定义 PowerCC23X0.c 解决方案来解决您的问题?  此伪代码将添加到 PowerCC23X0_lfoscQuual:

    /* at top of function */
    #define TDC_MAX_RETRIES    4
    static int32_t lastTdcCount = 0;
    static uint32_t tdcRetries = 0;
    
    /* in CKMD_MIS_TDCDONE_M handling */
    if (isClockGood)
    {
        tdcRetries = 0;
        /* existing success handling ... */
    }
    else
    {
        /* Clock not stable. Start a new TDC measurement or fallback if retries exceeded */
        if (++tdcRetries >= TDC_MAX_RETRIES)
        {
            Log_printf(LogModule_Power, Log_ERROR,
                       "PowerCC23X0_lfoscQual: TDC retries exceeded, falling back to LFXT");
            tdcRetries = 0;
    
            /* Defer to non-ISR context if necessary; example direct call: */
            PowerLPF3_selectLFXT(); /* start fallback LFXT qualification */
            /* Alternatively: set a flag for deferred fallback or call NVIC_SystemReset(); */
        }
        else
        {
            PowerCC23X0_restartLfclkTdcMeasurement();
        }
    }

    您还需要 在 PowerLPF3_selectLFOSC 中将 tdcRetries 设置为零作为起点。

    此致、
    Ryan

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

    您好、Ryan、

    感谢您提供建议的对策。
    期待收到 TI 驱动程序团队的回复。


    此致、

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

    您能谈谈当前实施是否遇到任何运行时问题吗?  否则、很难弄清在 MCU 其余部分正常运行的任何情况下 LFOSC 会发生故障的原因。  另请注意、这是通过中断上下文处理的、以便其他代码可以在 LF 时钟稳定时运行。

    此致、
    Ryan