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.

[参考译文] AM2634-Q1:[MCAL ] MCAL 中的稳定 PLL 值

Guru**** 2535150 points
Other Parts Discussed in Thread: AM2634

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1303644/am2634-q1-mcal-stable-pll-value-in-mcal

器件型号:AM2634-Q1
主题中讨论的其他器件:AM2634

亲爱的香榭丽舍大街,

是否 有用于 MCAL 的稳定 PLL 值?

或者、MCALv9.0中的 PLL 设置是否有任何改进?

我的客户正在使用 MCAL v8.6.2、在高温条件下(85°C 腔室测试)面临引导失败问题、并发现 AM2634卡滞、因为 PLL 锁定失败、如下所示。

使用 MCU+SDK 中的 SBL 时不会出现问题。

MCAL 中的 MCU INIT 与 MCU+SDK 中的 SBL 之间的 PLL 设置值是否有差异?  

客户检查 VDD_CPU 和时钟后、未发现任何问题。 因此、我们需要检查最佳/稳定 PLL 值。

请提供此方面的帮助。

谢谢、此致、

SI

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

    它们的 PLL 值如下所示。

    谢谢、此致、

    SI

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

    尊敬的 SI:

    这是否意味着它在较低的温度下工作? 哪个 SBL API 用于配置 PLL?  

    谢谢。此致、

    苏尼尔

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

    您好、Sunil:

    可以。 在较低的温度下不会出现问题。   

    谢谢、此致、

    SI

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

    您好、Sunil:

    我在 PLL 设置方面比较了 MCAL 的 SBL 和 MCU_init、发现只有"软复位 PLL"在 MCU+SDK SBL 中被删除。

    您能否检查下面的"软复位 PLL"是否应该被删除?

    在 MCU+SDK v8.6.0和 v9.1.0中、"软复位 PLL"在 SBL 中被删除、如下所示。

    谢谢、此致、

    SI

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

    尊敬的 SI:

    我会检查一下、然后回复给您。 同时、您还通过电子邮件提到、在他们调用 GetCounter API 后、寄存器值会发生改变吗? 理想情况下不应该是这种情况? 您能确认吗? 另外、您能否分享  GetCounter API 的实现?

    Br、

    苏尼尔

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

    您好、Sunil:

    在调用 GetCounter () API 之前,他们发现寄存器值已更改。  

    例如,当跳转到 GetCounter () API 调用时,客户发现 PLL 值被破坏并更改为错误的值。

    他们通过移除上面的"软复位 PLL"线路再次进行测试、发现他们可以成功通过此区域并加载应用、但无法启动 CAN 通信、如下所示。 在室温测试时、CAN 通信也失败。

    例如、当他们删除了上面的"软复位 PLL"行时、他们可以在低温和高温测试中成功启动、但启动时间比以前更长、并且无法启动 CAN 通信。

    因此、我 担心 在 "软复位 PLL"后需要更多时间、我想请求 SBL 中是否有任何这方面的调试/更改历史记录。

    谢谢、此致、

    SI

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

    Sunil,

    遗憾的是、在"软复位 PLL"后添加时序功能方面没有改善、如下所示。 如下所示、当他们在"软复位 PLL"后添加了"等待循环"时、仍然面临引导失败问题、并且代码卡在同一点。

    如果您对此有任何想法、敬请告知。

    谢谢、此致、

    SI

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

    尊敬的 SI:

    我确实看到了与最新 SDK 09.01.00的一些偏差和 PLL 锁定等待检查中的1个错误。 您能尝试以下建议吗?

    1. 您能评论 Mcu_Clock SCLK()吗?
    2. 您能在下面的每 PLL 行评论一下吗? 我没有看到 SDK 对其进行设置。
      (void) regWriteReadback (&toprcmREG->PLL_PER_FRACDIV、M_30_ONE、M_20_four、pllClk2.sdDiv);/* sigma Delta 分频器*/
    3.  在 do-while 循环中、等待 PLL 被修改、如下所示、因为存在错误。

          (void) GetCounterValue (MCU_OS_COUNTER_ID、&startCount);
          {
            /*等待 FSM 退出复位*/
            正确
            {
              /*以下 API 可以更改开始时间、因此请使用 temp 变量*/
              tempCount = startCount;
              LOCK_STATUS = HW_RD_REG32 (&toprcmREG->PLL_CORE_STATUS);/* PHASELOCK [10]*/
              () GetElapsedValue (
                     MCU_OS_COUNTER_ID、
                     温度计数(&T)、
                     elapsedCount (&elapsedCount);
              如果(elapsedCount >=(UINT32) MCU_PLL_TIMEOUT_DURATION)
              {
              /*超时*/
                (void) Dem_Set 状态(MCU_E_CLOCK_FAILURE、DEM_EVENT_STATUS_FAILED);
                INIT_PLL_RETURN = E_NOT_OK;
                中断;
              }
            } while (0x400!=(LOCK_STATUS & 0x400));
          }

    Br、

    苏尼尔

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

    您好、Sunil:

    该解决方案很有效!

    您能否说明应该修改哪些内容? 您能否为此发布补丁?

    当我检查 Mcu_Platform.c ( SYSCLK.c)文件时,有2个名为的 Mcu_Clock 52源 Mcu_Priv (); 是否应该将所有这些删除?

    是否应  删除"(void) regWriteReadback (&toprcmREG->PLL_PER_FRACDIV、M_30_ONE、M_20_four、pllClk2.sdDiv);/* sigma Delta 分频器*/? 当我查看 SBL 时、我发现 SBL 中仍然存在类似的功能、如下所示。 所以,我想和你仔细检查一下。。。

    请检查并澄清这一点。

    谢谢、此致、

    SI

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

    尊敬的 SI:

    您能告诉我们哪一条建议可行吗?

    Br、

    苏尼尔

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

    您好、Sunil:

    它们应用了您建议的全部1、2、3项、如下所示。

    对于以下建议、  

    1. 您能评论 Mcu_Clock SCLK()吗?
    2. 您能在下面的每 PLL 行评论一下吗? 我没有看到 SDK 对其进行设置。
      (void) regWriteReadback (&toprcmREG->PLL_PER_FRACDIV、M_30_ONE、M_20_four、 pllClk2.sdDiv); /* sigma Delta 分频器*/

    他们的评论如下、

    以下推荐

    3.在 do-while 循环中,等待 PLL 被修改,如下所示,因为存在错误。

    他们对代码进行了如下修改。

    差异:

    修改日期:

    谢谢、此致、

    SI

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

    尊敬的 SI:

    他们是否可以只修改第二条建议并恢复1和3、看看此问题是否仍然存在?1和3是次要更改、我认为应该不会有太大影响。

    我不认为所有3项建议都导致了这个问题。 我们想要缩小到1个问题。

    Br、

    苏尼尔

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

    您好、Sunil:

    我很抱歉。 在提供详细信息之前很难要求提供该文档、因为这可能是我们的问题、并且它也可以在我们的 EVM 中重现。 如有要求、我们需要提供每项的更多详细信息、以解释为何需要进行此测试。 请理解这种情况。

    另外、对于项目2、您是指每个 PLL 设置-Σ-Δ 分频器吗?

    正如我在上面提到的、SBL 中似乎有与下面相同的设置。

    在 \\MCU_PLUS_SDK_am263x_08_06_00_34\source\drivers\drivers\mc\am263x\soc_rcm.c 中 soc

    因此,我认为项目1 -  Mcu_Clock SourceSYSCLK()-更可能导致这个问题。 我在 SBL 中找不到类似的代码。

    或者、您能否在您身边 使用 AM263 EVM 解决此问题? 我想您可以使用热风枪轻松重现此问题。 当您使用热风枪中的100°C 设置热风枪加热器件并在5分钟以上进行开/关测试时、您可以轻松找到此问题。

    请检查此补丁和发布补丁。

    谢谢、此致、

    SI

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

    尊敬的 SI:

    我理解、请注意、我没有设置来重现、这就是我建议的原因。 我完全理解并为此道歉。

    关于第2项、 我之前在该 API SOC_rcmProgPllPerDivider 中提到过。 PerPll 分频器而非 Corepll

    第3项是一个错误、我提供的解决方案是正确的。

    我需要一些时间来设置和检查。 我们正在着手进行本周的另一个版本的发布、下周我们将一起度假。 我将在1月1周查看此内容并回复给您。

     

    Br、

    Sunil Kumar M S

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

    Sunil,

    感谢您的理解并将您的状态告诉我。

    1月1日周应该是好的,请告诉我,如果你在1月1日周找到一些线索。

    他们应该在2015年1月之前获取我们的补丁。

    谢谢、此致、

    SI