您好!
晶体振荡器在复位期间是否停止? 并且即使在热复位后也必须进行恢复?
客户正在进行热复位(看门狗复位)、有时振荡器没有出现。
此致、Holger
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.
您好!
晶体振荡器在复位期间是否停止? 并且即使在热复位后也必须进行恢复?
客户正在进行热复位(看门狗复位)、有时振荡器没有出现。
此致、Holger
Holger、
是的、当 XRSn 被置位时、它复位 OSCOFF 位、这会将 X2返回到 GPIO18中、所以客户需要重新完成振荡器启动过程。 但即使是 WD 复位也会强制代码通过其引导 ROM/过程和上电期间的相同设置例程返回。
客户是否遵循 TRM 中的时钟设置过程:
3.7.7使用外部晶体或谐振器
X2引脚兼用作 GPIO18。 加电时、处于 GPIO 模式、而片上晶体振荡器断电。
以下过程可用于将该引脚切换至 X2模式并启用振荡器:
1.清除 XTALCR。 OSCOFF 位。
2.等待晶振上电。 1ms 是典型的等待时间、但这取决于正在
数据协议。
3.通过向 X1CNT.CLR 写入1来清除 X1计数器,并继续清除直到
X1CNT 寄存器不再饱和1023 (0x3ff)。
4.等待 X1CNT 寄存器中的 X1计数器值达到1023 (0x3ff)。
5.再重复步骤3-4三次。
6.通过向 CLKSRCCTL1.OSCCLKSRCSEL 写入1来选择 XTAL 作为 OSCCLK 源。
7.检查 MCDCR 寄存器中的 MCLKSTS 位。 如果被置位、则振荡器尚未完成上电、
需要更多时间:
a.通过向 MCDCR.MCLKCLR 写入1来清除缺少时钟的状态。
b.重复步骤2-7。 请勿复位器件。 这样做将使振荡器断电、这需要
从步骤1开始重新启动过程。
c.如果振荡器没有在10毫秒内完成上电、则会发生实际的时钟故障。
8.如果 MCDCR. MCLKSTS 清零、振荡器启动成功。 系统时钟现在源自
XTAL。
此致!
马修