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.

[参考译文] MSP430G2233:相同P/N和相同批次的微控制器部件时钟的变化

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1085140/msp430g2233-variation-in-clock-in-microcontroller-parts-of-same-p-n-and-same-lot

部件号:MSP430G2233

我正在使用一个简单的代码在一定的延迟时间内将PIN码切换为高和低。

使用标准时钟校准命令将时钟设置为1MHz。

但在引脚上观察到的PWM输出具有不同的频率输出。

代码部分如下所示

WDTCTL = WDTPW + WDTHOLD;
DCOCTL = CALDCO_1MHz;
BCSCTL1 |= CALC1_1MHz;
BCSCTL2 &=~级;

P1DIR || BIT1;
P1OUT || BIT1;

同时(1)

P1OUT || BIT1;
_DELAY周期(5000);
P1OUT &=~ BIT1;
_DELAY周期(5000);
}

一个MCU的输出为140.553 Hz,而另一个MCU (部件号相同,批次相同)的输出为158.9 Hz

我测试了两个单位的DCO校准更改,以下是观察到的结果

校准值           第1单元               第2单元

CALDCO_1Mz            140.553Hz             158.9 Hz

0xD0                    143.5 Hz              162.38 Hz

0xC0                     136.9 Hz             154.89 Hz

由于上述变化,我们的代码中与时间相关的部分出现故障,我们观察到生产线上的高拒绝率。

请建议必要的解决方案。

TIA。

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

    BCSCTL1 |= CALC1_1MHz;

    复位时BCSCTL1为非零[请参阅用户指南(SLAU144J)表5-1]。 建议的做法是:

    > BCSCTL1 = CALC1_1MHz;

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

    你好,Bruce

    感谢您的回复。  

    您的回答是相关的,但似乎没有解决问题。

    现在,修改后的时钟设置命令如下所示

    DCOCTL = 0x60;//默认值
    BCSCTL1 = 0x87;//默认值

    BCSCTL2 = 0x00;//默认值
    BCSCTL2 &=~级;

    同时(1)

    P1OUT || BIT1;
    _DELAY周期(5000);
    P1OUT &=~ BIT1;
    _DELAY周期(5000);
    }

    即使在这之后,两个单元也会在引脚上产生两个不同的频率。

    单元1:118.46Hz和 单元2:106.92Hz

    也带有以下代码

    DCOCTL = CALDCO_1MHz;
    BCSCTL1 = CALC1_1MHz;

    BCSCTL2 = 0x00;//默认值
    BCSCTL2 &=~级;

    结果  

    单元1:111.81Hz和单元2:99.08Hz

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

    1)我不希望第一种情况(默认值)能正常工作,因为TI对这些情况不做太多保证(我见过0.8MHz-1.2MHz)。 第二种情况(使用CALDCO常量和相同程序的11 %)更令人不安。

    2)它比意外删除CALDCO常量(INFOA)更容易,但将常量设置为0xFF会使CPU快速运行超出规格。 我没有见过/听说过这样的情况:(a)常量为!= 0xFF和(b)错误。 这些是工厂常量,即这些切屑是否来自卷筒?

    3)如果您有外部参考(通常为32kHz晶体),则可以使用TI的一个示例重新计算CALDCO常量。 我同意,现在了解一下发生了什么可能更重要。

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

    您好Sarosij:

    我们已经听过您的意见了一段时间,所以我假设您能够推进您的项目。
    我会将此发布标记为已解决,但如果不是这种情况,请单击"这不能解决我的问题"按钮并回复此主题以了解更多信息。
    如果此线程已锁定,请单击"提出相关问题"按钮,并在新线程中描述您的问题的当前状态以及您可能需要帮助我们解决问题的任何其他详细信息。