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.

[参考译文] MSP430F2272:关于 BCL12的澄清

Guru**** 2506885 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/694571/msp430f2272-clarification-concerning-bcl12

器件型号:MSP430F2272

我想对 BCL12勘误表进行一些澄清。

 

当初始 RSELx 值设置为目标值的递减/增量为1时、最安全的方法就会出现。

 

下面是一些用于该操作的伪代码:

 

从1 MHz 到8MHz

 

DCOCTL=0

对于(SEL = RSELx;SEL <= TARGET_RSELx;SEL++){

 RSELx = SEL

DCOCTL=TARGET_DCO

 

从8MHz 到1MHz

 

DCOCTL=0

对于(SEL = RSELx;SEL >= TARGET_RSELx;SEL--){

 RSELx = SEL

DCOCTL=TARGET_DCO

 

以下是有关此方法的一些问题:

-我们是否需要在每次 RSELx 更改后引入延迟(或虚拟代码)? 我们担心 CPU 时钟不稳定、其他指令未正确执行或外设工作不正常。

- DCO 系统(RSELx 发生变化时)是否会导致系统时钟短暂中断、从而再次稳定(或保持时钟抖动较小)? 如果时钟中断、我们可以量化这段时间吗? 问题在于系统的导通时间和相关功耗增加、因为与直接设置时钟频率相比、更改时钟频率所需的时间更长。

此致、

弗兰克

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

    当使用可靠的分步更改 RSEL 位的方法时、DCO 将没有死区时间。
    这还意味着每次 RSELx 更改后都不需要延迟、也不会中断系统时钟。

    希望这对您有所帮助。

    此致、
    Britta