0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

i.MX RT10xx系列外部晶振相关引脚的作用

恩智浦MCU加油站 来源:恩智浦MCU加油站 作者:恩智浦MCU加油站 2022-10-13 09:08 次阅读

之前写过一篇关于时钟引脚的文章 《i.MXRT1xxx系列MCU时钟相关功能引脚的作用》,里面简单提及了外部晶振相关引脚的作用,但是并没有详细展开。

最近在客户支持中,有客户咨询项目板级设计上能否将外部24MHz晶振完全去掉。

今天就这个话题,使用芯片内部集成的RC24M做初始时钟源,详细展开,好好地聊聊。

注:本文中图片代码均以i.MX RT1050为例,但内容基本也适用其它i.MX RT10xx系列。

1外部24MHz晶振的作用

i.MXRT 系列共有两组外接晶振专用引脚,XTALI/O用于外部连接24MHz晶振,RTC_XTALI/O用于连接32.768kHz晶振。其中低频的32.768kHz晶振主要用于低功耗场景(SNVS 域),而高频24MHz晶振(即本文主角)主要是给内部PLL提供时钟源,它是高性能应用的保证。

注: i.MX RT1011/102x的PLL时钟源仅能是OSC 24MHz,而 i.MX RT105x/106x的PLL时钟源除了OSC 24MHz外,还可以是专门时钟输入引脚(CLK1_P/N)。

7ae10a8a-4a8f-11ed-a3b6-dac502259ad0.png

外部24MHz晶振(XTAL24M)并不是直接连到PLL模块的,中间会经过芯片内部OSC 24MHz模块,而OSC 24MHz模块本身还包含了一个RC24M震荡电路,这是为了确保在没有外部XTAL24M的情况下,PLL也能正常工作。

注1: OSC 24MHz模块的源可来自外部XTAL24M也可以是内部RC24M,但这种切换不是自动的,需要在代码里主动切换。

注2: RC24M主要用于低速应用场合,并且以RC24M为源的功耗比以XTAL24M为源的功耗小很多。

7af56750-4a8f-11ed-a3b6-dac502259ad0.png

2内部RC24M振荡器能否替代外部24MHz晶振?

我们知道内部RC24M精度较差,最差的情况甚至有20%的精度误差,这种情况下一些对精度要求高的外设(比如USB、ENET)是无法使用RC24M为源的PLL输出作为时钟源的。

如果你的应用里不涉及USB、ENET等外设,就使用了一些简单的LPUART/LPSPI等外设,那么是完全可以禁掉外部XTAL24M的使用的,切换代码如下。

其中需要注意的是如果当前内核时钟源来自PLL,那么必须先将内核时钟切到OSC24M,否则OSC24M时钟源切换操作会直接导致代码跑飞(一旦PLL时钟源发生变化,输出会不稳,此时内核运行会出现异常):

void ClockSelectRcOsc(void)
{
    // 将内核时钟源从 PLL 切换到 OSC 24M
    CLOCK_SetMux(kCLOCK_PeriphClk2Mux, 1);
    CLOCK_SetMux(kCLOCK_PeriphMux, 1);

    // 将 OSC 24M 时钟源从外部 XTAL24 切换到内部 RC24M
    CLOCK_InitRcOsc24M();
    CLOCK_SwitchOsc(kCLOCK_RcOsc);
    CLOCK_DeinitExternalClk();

    // 恢复内核时钟源(这里的 m、n 为切换之前的配置)
    CLOCK_SetMux(kCLOCK_PeriphClk2Mux, m);
    CLOCK_SetMux(kCLOCK_PeriphMux, n);
}

更多RC24M的应用详见 SDK_2_12_0_EVKB-IMXRT1050oardsevkbimxrt1050demo_appspower_mode_switchm 例程。

3能否完全去掉外部24MHz晶振?

既然在低速或者低功耗应用场合,RC24M可以替代XTAL24M,那么我们能不能直接把XTAL24M完全去掉呢?答案很遗憾,不能!因为芯片系统(内核、PLL)默认就是以 XTAL24M为初始时钟源:

XTALOSC24M->LOWPWR_CTRL[OSC_SEL]    = 1'b0   // 24MHz clock from XTAL OSC
CCM_ANALOG->PLL_ARM[BYPASS_CLK_SRC] = 2'b00  // clock from REF_CLK_24M
CCM->CBCMR[PRE_PERIPH_CLK_SEL]      = 2'b11  // clock from divided PLL1 (PLL_ARM)
CCM->CBCDR[PERIPH_CLK_SEL]          = 1'b0   // clock from pre_periph_clk_sel
7b027a3a-4a8f-11ed-a3b6-dac502259ad0.png

如果没有外部XTAL24M,芯片系统上电后,内核没有正确的时钟源,BootROM代码无法正常执行,这时候甚至仿真器也没法找到内核,所有后续设计也就没有任何意义。

看到这里,你可能会明白,i.MX RT毕竟是跨界处理器,它是为高性能场景而生的,运行起来后切换到内部RC24M来降功耗只是它的附带功能而已。

审核编辑:彭静
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    453

    文章

    50262

    浏览量

    421161
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16924

    浏览量

    350006
  • 晶振
    +关注

    关注

    33

    文章

    2806

    浏览量

    67853
  • 时钟
    +关注

    关注

    10

    文章

    1716

    浏览量

    131295

原文标题:浅谈i.MX RT10xx系列MCU外接24MHz晶振的作用

文章出处:【微信号:NXP_SMART_HARDWARE,微信公众号:恩智浦MCU加油站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    i.MX RT1xxx 系列的时钟系统以及相关功能引脚

    目前 i.MXRT1xxx 系列主要分为 i.MX RT10xxi.MXRT11xx 两大分支。这两个分支的时钟系统设计是有一些差异的
    发表于 07-08 17:01 751次阅读

    MIMXRT10xx EVK永磁同步电机磁场定向控制资料分享

    基于i.MX RT10xx EVK的永磁同步电机磁场定向控制
    发表于 12-12 06:22

    01:i.MX RT系列产品的介绍与演示

    i.MX RT产品是今年市场上最受欢迎的跨界MCU产品。本讲座将对i.MX RT系列做一个简要的介绍,包括主要特性和主要外设。然后会分享能够
    的头像 发表于 01-23 07:21 2968次阅读
    01:<b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b><b class='flag-5'>系列</b>产品的介绍与演示

    01:i.MX RT的市场应用和参考解决方案

    i.MX RT产品是今年市场上最受欢迎的跨界MCU产品。i.MX RT定位为一款MCU产品,它可以重复利用传统的Arm MCU生态系统。除此之外,本次讲座还将简要介绍
    的头像 发表于 01-21 07:13 3306次阅读
    01:<b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>的市场应用和参考解决方案

    02:i.MX RT系列产品的介绍与演示

    i.MX RT产品是今年市场上最受欢迎的跨界MCU产品。本讲座将对i.MX RT系列做一个简要的介绍,包括主要特性和主要外设。然后会分享能够
    的头像 发表于 01-21 07:04 2280次阅读
    02:<b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b><b class='flag-5'>系列</b>产品的介绍与演示

    恩智浦i.MX RT1170开创GHz MCU时代

    自2017年上市以来,i.MX RT系列取得了优秀的市场表现。i.MX RT1170跨界MCU是恩智浦i
    的头像 发表于 03-22 11:14 3414次阅读

    恩智浦i.MX RT1170在将该系列带上了更高的层面

    自2017年上市以来,i.MX RT系列取得了优秀的市场表现。i.MX RT1170跨界MCU是恩智浦i
    的头像 发表于 05-18 11:15 3733次阅读

    i.MX RT10XX系列平台上进行OTA

    升级。最为常见的就是移动终端的OTA升级,近几年很火的新能源汽车也让大家对这一技术更加熟悉。 二、概述本文将介绍在i.MX RT10XX系列平台上,进行基于阿里云物联网平台的OTA。在此之前,先简单
    的头像 发表于 09-17 10:12 2547次阅读

    i.MX RT开发笔记-08 | i.MX RT1062嵌套中断向量控制器NVIC(按键中断检测)

    系列文章目录i.MX RT开发笔记-01 | 初识 i.MX RT1062 跨界MCUi.MX
    发表于 12-01 13:51 2次下载
    <b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>开发笔记-08 | <b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>1062嵌套中断向量控制器NVIC(按键中断检测)

    RT-Thread & NXP 发布 i.MX RT 系列 BSP 新框架

    前言i.MX RT 是 NXP 推出的跨界处理器系列。该系列下又包括 i.MX RT1020、
    发表于 12-07 13:06 2次下载
    <b class='flag-5'>RT</b>-Thread & NXP 发布 <b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b> <b class='flag-5'>系列</b> BSP 新框架

    i.MX RT超低功耗模式捉虫记

    SNVS模式是i.MX RT10XXi.MX RT11XX系列MCU中功耗最低的状态,其标志性特点是除SNVS电源域保持供电,其余的电源域
    发表于 02-08 15:14 0次下载
    <b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>超低功耗模式捉虫记

    i.MX RT1170上串行NOR Flash双程序可交替启动设计

    i.MX RT10xx一样,这里要聊的还是在一片挂载在FlexSPI上的串行NOR Flash里做冗余/双程序设计,就是下图中的image L和image H,不涉及LPSPI接口Flash B里的image 2。
    的头像 发表于 04-28 09:55 1204次阅读

    i.MX RT10xx使用FlexIO实现XY2-100镜控制协议

    本文介绍了如何使用i.MX RT系列芯片上的FlexIO实现XY2-100激光镜控制协议。FlexIO模块是NXP Kinetis和i.MX
    的头像 发表于 05-18 09:21 5710次阅读
    在<b class='flag-5'>i.MX</b> <b class='flag-5'>RT10xx</b>使用FlexIO实现XY2-100<b class='flag-5'>振</b>镜控制协议

    i.MX RT的FlexRAM配置问题

    i.MX RT的FlexRAM配置问题
    的头像 发表于 10-24 15:46 768次阅读
    <b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>的FlexRAM配置问题

    浅谈i.MX RT10xx系列MCU外接24MHz作用

    浅谈i.MX RT10xx系列MCU外接24MHz作用
    的头像 发表于 10-30 17:22 766次阅读
    浅谈<b class='flag-5'>i.MX</b> <b class='flag-5'>RT10xx</b><b class='flag-5'>系列</b>MCU外接24MHz<b class='flag-5'>晶</b><b class='flag-5'>振</b>的<b class='flag-5'>作用</b>