你能解释一下如何为外部 24 MHz 参考时钟配置 OSC_24M_CTRL 字段吗?不清楚以下寄存器位是什么:
OSC_EN - 是启用引脚连接外部时钟源,还是启用内部 24 MHz RC?
BYPASS_EN - 0 表示外部晶体,1 表示外部振荡器?还是其他方式?
BYPASS_CLK - RM 中没有说明 0 和 1 值的含义。
与此同时,SDK 的时钟工具实际上显示了"OSC 模式的 3 个值" :
据我所知,3 种可用的 OSC 模式是这样影响 OSC_24M_CTRL 寄存器的:
| OSC 模式 | BYPASS_EN | BYPASS_CLK | 时钟 工具说明 |
| 扩展晶体 24 MHz | 0 | 0 | 外部晶体 24 MHz |
| 扩展旁路时钟模式 | 1 | 0 | 外部晶体连接到 XTALI 时钟输入端 |
| 外部参考时钟 | 0 | 1 | 外部参考时钟连接到 XTALI 时钟输入 |
这三种模式有什么区别?为什么有三种模式(我只能想象出两种:被动 XTAL 连接或主动振荡器时钟连接器)。
是否可以在内部 RC 振荡器和外部时钟之间改变 OSC 24MHz 频率?(例如,根据是否存在可靠的时钟源,我希望回落到内部 24 MHz)。
你好,@aberger、
我检查了内部 RC 振荡器 48 MHz(除以 2)作为 24 MHz 时钟源的使用情况。这个 48 MHz 内部 RC 振荡器(除以 2)可直接用作 CCM 时钟根的时钟源,参见下面的时钟图:
它可用于外设和 CPU 内核,但内部 RC 振荡器不能用于 PLL,因为在时钟工具的时钟图中可以看到它。内部 RC 振荡器不够精确和稳定,不能用作 PLL 的时钟源。
所有 PLL 唯一可能的时钟源是外部晶体或外部振荡器。请忽略时钟工具中有关 MIMXRT1176 MCU 的 OSC 24 MHz 时钟元素的混乱评论(将被删除)。
因此,如果要使用内部 48 MHz RC 振荡器,必须禁用所有 PLL,并在 CCM(时钟根)中选择内部 48 MHz RC 振荡器时钟源。但我们仍然建议使用外部振荡器,以提高时钟的稳定性。
顺祝商祺!
马雷克-诺伊齐尔
你好,@aberger、
我已经查看了 i.MX RT1176 参考手册,其中有一份关于使用备用 RC 48MHz 内部参考时钟作为24 MHz 时钟源而不是外部 24 MHz 时钟源的声明。但是我不确定MCU是否可以在没有外部参考时钟的情况下完全工作(例如,USB需要稳定的时钟源,PLL需要稳定的24 MHz参考时钟)。此外,i.MX RT1176 数据表还规定了外部参考时钟的用法,它可以是晶体振荡器,也可以是外部振荡器。内部 RC 48 MHz 的修整频率为 +-2% ,并非精确的时钟源。
我将联系负责的设计团队,核实 i.MX RT1170 参考手册中的陈述以及推荐的 PLL 和其他内部模块的 24 MHz 时钟源。
顺祝商祺!
马雷克-诺伊齐尔
嗯,时钟工具似乎暗示 OSC 24 MHz 可以是"内部 RC 振荡器" 。
同时,RM 将 24 MHz 称为芯片上可用的晶振:
不管是 RC 振荡器还是 XTAL 振荡器,是否有可用的 24 MHz"片上" (即没有与 XTAL 或参考时钟的外部连接)?
如果我将时钟工具设置为"OSC 24 MHz disabled" ,XTALI 和 XTALO 引脚就会被禁用,但振荡器模块似乎仍有 24 MHz 信号输出(这表明 24 MHz 信号源在芯片上)。只有当我点击 OSC 24MHz 并选择"断开连接" 时,OSC 24MHz 块才会被标记为非活动。
你好@aberger
非常感谢您关注我们的产品并使用我们的社区。
Q1: OSC_EN - 是启用引脚连接外部时钟源,还是启用内部 24 MHz RC?
A1:该位表示启用外部 24MHz XTALOSC。
Q2: BYPASS_EN - 0 表示外部晶体,1 表示外部振荡器?还是其他方式?
A2: BYPASS_EN - 1,表示外部时钟源直接输入 XTALI 引脚。
问题 3: BYPASS_CLK - RM 中没有说明 0 和 1 值的含义。
答 3:我与恩智浦相关内部团队确认,BYPASS_CLK 信息不正确。在下一个发布的 RT1170RM 版本中,它将更改为 “保留”,因为此位没有功能。
问题 4: 是否可以在内部 RC 振荡器和外部时钟之间切换 OSC 24MHz?(例如,根据是否存在可靠的时钟源,我希望回落到内部 24 MHz)。
答 4:RT1170 系列芯片内部没有 24MHz RC 振荡器,它包含四个 RC 振荡器 -48MHz、32KHz、16MHz 和 400MHz。
希望它能帮到你。
如果您还有疑问,请告诉我。
敬上
MayLiu