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.

[参考译文] CCS/MSP430F248:MSP430F248振荡器错误问题

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/789762/ccs-msp430f248-msp430f248-oscillator-error-problem

器件型号:MSP430F248

工具/软件:Code Composer Studio

您好!

   

发现了一个奇怪的问题。 产品的 MSP430F248芯片与2M 晶体振荡器连接。 在运行期间、程序将关闭晶体振荡器并进入低功耗模式、每1秒唤醒一次晶体振荡器。

在测试中、发现几个产品的晶体振荡器不能被激活、并且外部安全装置每30秒给出的复位信号不起作用。 两端无源晶体振荡器的电压约为1V、没有波形。 如果在切断电源后打开电源、则可以恢复正常。

问题:

1.晶体振动何时无法启动? 生产了许多产品(1000)、仅举几例。

2.如何判断晶体振荡器是否出现故障、或者微控制器是否无法复位和初始化?

3.当 MCU 接收到复位信号时,它是否会 给晶体振荡器一个激励信号?

非常感谢!!!  

Kevin

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

    您是否碰巧知道 BCSCTL3寄存器中的 XT2Sx 位设置为什么值?
    我看到电路中有22pF 电容器和1M 电阻器。
    晶振制造商建议这样做吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Dennis:
    感谢你的答复。
    制造商建议使用电容器和电阻器。 我将晶振连接到 XT1、配置如下:
    BCSCTL1 = 0xc8; //2M

    BCSCTL2 = 0xc0; //2M

    BCSCTL3 = 0x10;

    操作

    IFG1 &=~OFIFG; //清除 OSCFault 标志
    延迟(1000);

    while (IFG1&OFIFG);// OSCFault 标志仍然置1?

    Kevin
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    有什么建议吗? 谢谢。
    Kevin
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Dennis:
    现在的一个新发现是、当我打开电源并写入看门狗时、会生成一个 PUC、并且 PUC 会将 LFXT1切换到 LF 模式、因此晶体振荡不会启动。 功耗与前面提到的情况相同。
    但我仍然不知道为什么程序不会继续执行、而是在 PUC 中重复执行。

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

    尊敬的 Kevin:

    如您所述- PUC 信号可以关闭晶体振荡器、如 《MSP430Fx2xx 系列用户指南》第33页第2.2.13节所述:

    '振荡器故障信号警告晶体振荡器可能出现错误情况。 振荡器故障

    可通过置位 OFIE 位来使能产生 NMI 中断。 然后可以测试 OFIFG 标志

    通过 NMI、中断服务例程来确定 NMI 是否由振荡器故障引起。

    PUC 信号可以触发振荡器故障、因为 PUC 会将 LFXT1切换到 LF 模式、因此

    关闭 HF 模式。 PUC 信号也会关闭 XT2振荡器。"

     

    Chris

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

    尊敬的 Chris:
    感谢你的答复。

    对我的困扰是 PUC 会反复出现的情况。 我已经在《MSP430Fx2xx 系列用户指南》的2.1节中检查了以下条件:

    POR 是器件复位。 POR 只能由以下三个事件生成:
    •为器件加电(1)
    •当配置为复位模式(2)时、RST/NMI 引脚上的低电平信号
    •当 PORON = 1.(3)时、一个 SVS 低电平条件。
    当一个 POR 被生成时、一个 PUC 总是被生成、但是一个 PUC 不会生成一个 POR。 。
    以下事件触发 PUC:
    •一个 POR 信号(4)
    •仅在看门狗模式下看门狗计时器过期(5)
    •看门狗定时器安全密钥违反(6)
    •一个闪存存储器安全密钥违反(7)
    •从0h 至01FFh (8)外设地址范围内的 CPU 指令提取

    我已按如下所示检查条件:
    (1)电源稳定。
    (2)外部安全装置每30秒生效(提供一个复位信号)。
    (3)并且没有闪存操作。
    (4)足够的时间进行变量初始化。
    (5)主函数的第一条指令是"WDTCTL = WDTPW + WDTHOLD;"(在 cstartup.s43之后)

    是否存在重复导致 PUC 的情况? 只有断电才能 恢复正常的?μ A


    Kevin

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

    尊敬的 Kevin:

    您是否尝试使用 WDTIFG 标志来确定看门狗是否导致器件复位? 请查阅 《MSP430x2xx 系列用户指南》的10.2.4

    Chris