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.

[参考译文] MSP432P401R:外部DCO电阻器行为

Guru**** 2589280 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/629424/msp432p401r-external-dco-resistor-behaviour

部件号:MSP432P401R

我们最近找到了一种有趣的方式来建造我们的MSP432P401RIZXH (80引脚BGA)原型。

我们正在使用外部DCO电阻器。  这些原型已经运行了几个月,我们已经制造了其中的3个。  但最近他们停止了工作。  我们使用的是一个原型,它一直在工作,而且它很有魔力。   我们不知道我们做了什么。  然后用砖砌另外两块,试图弄清楚我们正在做什么,这是在吹碎薯条。

事实证明发生了以下情况:

我们获取POR并开始在启动代码中执行重置代码。  

我们初始化系统的各个部分,然后初始化DCO。  

我们将CS->CTL0寄存器设置为包括DCORES以启用外部电阻器

此时,当我们单步执行时,我们将失去通过调试探测器的联系。

发生的情况是芯片检测到DCORES短路并执行POR,这将使我们返回到重置位置,然后执行上述步骤,并一次又一次地重置。

这是一个奇怪的东西。  我没有更改任何代码。  我从一开始就启用了DCORES。  原型运行了相当长的一段时间(几个月)。  然后停止工作。  主板应该有一个91Kohm电阻器连接到DCORES引脚,但却被错误地加载了10Kohm。

  • 为什么芯片在一段时间内工作正常。
  • 后来,什么可以解释这种变化,因此芯片现在将此10K电阻器视为短路?

是否有任何线索?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Eric,
    我将联系系统团队,看看我是否可以更深入地了解电阻器。 如果使用91K替换10K,您是否能够确定设备是否正常工作或停止快速滑动?

    此外,按照您的操作顺序,您似乎正在配置DCO,然后启用外部电阻器。 TRM声明如下:
    '切换到外部电阻器操作模式必须始终在默认DCORSEL设置(DCORSEL = 1)下完成。 不这样做可能
    导致设备的非确定性行为。"

    www.ti.com/.../slau356f.pdf

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

    Eric,
    我将联系系统团队,看看我是否可以更深入地了解电阻器。 如果使用91K替换10K,您是否能够确定设备是否正常工作或停止快速滑动?

    此外,按照您的操作顺序,您似乎正在配置DCO,然后启用外部电阻器。 TRM声明如下:
    '切换到外部电阻器操作模式必须始终在默认DCORSEL设置(DCORSEL = 1)下完成。 不这样做可能
    导致设备的非确定性行为。"

    www.ti.com/.../slau356f.pdf

    谢谢,此致,
    Chris

    [/引述]

    不确定您在哪里看到我的作业顺序与DCO配置有关... 但下面是我的实际操作方式...

    CS->key = CS_KEY_VAL;
    CS->CTL0 = CLK_DCORSEL | CS_CTL0_DCORES | CLK_DCOTUNE;

    我正在使用0x43.0093万编写CS->CTL0

    重置后CTL0为 1万

    那么我是否可以在启用DCORES的同时切换到RSEL 3?

    或者我应该先打开电阻器,然后再打开时钟。  我需要多长时间

    在打开电阻器后等待?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    TRM不提供具体的时间清晰度,而是仅在DCORSEL = 1时设置DCORES。 我已经提交了一个错误,要求更具体一些。

    如果你可以先打开电阻然后再增加时钟,那么我认为你至少可以消除这一可能的问题。