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

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

3天内不再提示

MCU时钟相关功能引脚作用介绍

痞子衡嵌入式 来源:痞子衡嵌入式 作者:痞子衡嵌入式 2022-07-07 09:27 次阅读

今天给大家介绍的是i.MXRT1xxx系列MCU时钟相关功能引脚作用

如果我们从一颗 MCU 芯片的引脚分类来看芯片功能,大概可以分为三大类:电源、时钟、外设功能。作为嵌入式开发者,大部分时候关注得都是外设功能引脚,而对于时钟相关引脚往往不太在意,其实有些时候利用时钟功能引脚也能助你定位问题。今天痞子衡就带你梳理一下 i.MXRT1xxx 系列的时钟系统以及相关功能引脚:

一、时钟系统简介

目前 i.MXRT1xxx 系列主要分为 i.MXRT10xx 和 i.MXRT11xx 两大分支。这两个分支的时钟系统设计是有一些差异的,不过总体来说,架构差别不大,我们以如下 i.MXRT1170 的时钟架构为例来具体介绍。

在时钟系统架构图里我们能看到有五大组件:OSC_PLL、CCM、LPCG、GPC、SRC,其中最核心的功能在前两个,OSC_PLL 主要负责产生时钟,CCM 主要用于分配时钟。

ce87bcbe-fd92-11ec-ba43-dac502259ad0.png

二、关于时钟源头

上一节里我们知道 OSC_PLL 模块负责所有时钟的生成,但那些时钟并不是凭空产生的,也是需要源头的。这个源头既可以来自芯片内部,也可以来自外部引脚输入。

先说芯片内部的 RC OSC,在芯片设计时,为了保证在没有外部时钟/晶振输入的情况下,芯片也能工作,所以内部集成了一些振荡器/振荡电路(RC Oscillator),32KHz 和 24MHz(48MHz) 是标配,部分型号上还有 16MHz、400MHz,不过这些内部振荡器精度有限(有可能误差20%),适用芯片低速运行场合。

如果是芯片高速运行的场合(或者对精度要求高的场合),那一定需要外接高精度振荡器,包含从 XTALI/XTALO 引脚进来的 24MHz OSC,以及从 RTC_XTALI/RTC_XTALO 引脚进来的 32.768KHz OSC,这两个外部时钟源是由 OSC_PLL 大模块内部的 XTALOSC 小模块负责管理的,XTALOSC 模块优先检测外部是否有 32.768KHz / 24MHz OSC 存在,如果存在则用外部源,如果不存在则启用内部 32KHz / 24MHz RC OSC 源。

24MHz OSC(内部或者外部源)是 OSC_PLL 内部 PLL 的主要时钟源,有了基准的 24MHz 时钟,PLL 就能将其倍频得到想要的高频时钟,芯片内部 PLL 有很多个,大部分 PLL 都只是输出固定原始频率时钟,少部分含 PFD 功能的 PLL(一般是 System PLL)可以调节原始频率输出。除了 24MHz OSC 外,PLL 也可以接受来自 CLK1_P/CLK1_N 引脚输入的源。

1. 对于 i.MXRT10xx 系列,PLL 时钟源选择在 CCM_ANALOG->PLL_xxx[BYPASS_CLK_SRC] 位
2. 对于 i.MXRT11xx 系列,PLL 时钟源由 Set Point 设置
时钟源输入 i.MXRT1011 i.MXRT1015/102x i.MXRT105x/106x i.MXRT11xx
(116x/117x/118x)
i.MXRT118x
XTALI
XTALO
LQFP80 - 37,38 LQFP100 - 46,47
LQFP144 - 67,68
BGA196 - N11,P11 BGA289 - U16,T16 BGA144 - M9,L9
RTC_XTALI
RTC_XTALO
LQFP80 - 27,28 LQFP100 - 36,37
LQFP144 - 57,58
BGA196 - N9,P9 BGA289 - T13,U13 BGA144 - M7,L7
CLK1_P
CLK1_N
N/A N/A BGA196 - N13,P13 BGA289 - U15,T15 BGA144 - M11,L11

三、关于时钟输出

前面讲了 32KHz / 24MHz OSC 是比较重要的时钟源头,它的精度对系统性能有很大影响,因此我们需要有一种方法实测这两个时钟的精度,芯片设计时特意在一些 I/O 引脚复用功能里做了 REF_CLK_24M / REF_CLK_32K 选项,当 I/O 配置为该功能时,便可用示波器量得具体时钟频率。

我们知道 CCM 模块负责 OSC_PLL 输出的时钟资源的分配,芯片里所有外设的具体时钟源指定以及分频系数、开关控制均由 CCM 来完成。如果你想观测某 PLL 最终输出或者常用外设时钟源最终配置,也可以通过指定 I/O 输出观测,即下面的 CCM_CLKO1 / CCM_CLKO2 复用功能选项。当然 CCM_CLKOx 不仅仅用于观测频率,也可以用于给外部芯片提供时钟源。

1. 对于 i.MXRT10xx 系列,CCM_CLKOx 时钟输出控制在 CCM->CCOSR 寄存器
2. 对于 i.MXRT11xx 系列,CCM_CLKOx 时钟输出控制在最后两个 CCM->CLOCK_ROOT_CONTROL 寄存器
时钟信号输出 i.MXRT1011 i.MXRT1015/102x i.MXRT105x/106x i.MXRT116x/117x i.MXRT118x
REF_CLK_24M GPIO_AD_14 GPIO_AD_B0_01
GPIO_AD_B0_03
GPIO_AD_B0_13
GPIO_AD_14 N/A
REF_CLK_32K GPIO_AD_07 GPIO_AD_B0_00 GPIO_AD_13 N/A
CCM_CLKO1 GPIO_SD_02 GPIO_SD_B1_02 GPIO_SD_B0_04 GPIO_EMC_B1_40 GPIO_EMC_B2_02
GPIO_SD_B1_00
CCM_CLKO2 GPIO_SD_01 GPIO_SD_B1_03 GPIO_SD_B0_05 GPIO_EMC_B1_41 GPIO_EMC_B2_08
GPIO_SD_B1_01

总结一下,时钟功能引脚尤其是输出引脚对于确认时钟频率具有重要意义,如果你的应用严重依赖时钟精度,遇到问题时不妨先检查一下时钟频率的准确性以及精度。

审核编辑 :李倩


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

    关注

    145

    文章

    15885

    浏览量

    342774
  • 时钟
    +关注

    关注

    10

    文章

    1477

    浏览量

    130273
  • 引脚
    +关注

    关注

    16

    文章

    1013

    浏览量

    48823
收藏 人收藏

    评论

    相关推荐

    介绍i.MXRT1xxx系列MCU时钟相关功能引脚作用

    如果我们从一颗 MCU 芯片的引脚分类来看芯片功能,大概可以分为三大类:电源、时钟、外设功能
    发表于 07-07 09:27 608次阅读

    i.MXRT1xxx系列MCU时钟相关功能引脚作用

    如果我们从一颗 MCU 芯片的引脚分类来看芯片功能,大概可以分为三大类:电源、时钟、外设功能
    发表于 07-07 09:59 417次阅读

    MCU时钟相关功能引脚操作

    目前 i.MXRT1xxx 系列主要分为 i.MXRT10xx 和 i.MXRT11xx 两大分支。这两个分支的时钟系统设计是有一些差异的,不过总体来说,架构差别不大,我们以如下 i.MXRT1170 的时钟架构为例来具体介绍
    的头像 发表于 09-28 14:40 2505次阅读
    <b class='flag-5'>MCU</b><b class='flag-5'>时钟相关</b><b class='flag-5'>功能</b><b class='flag-5'>引脚</b>操作

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

    之前写过一篇关于时钟引脚的文章 《i.MX RT1xxx系列MCU时钟相关功能引脚
    的头像 发表于 10-13 09:08 993次阅读

    时钟相噪对ADC性能的影响是什么?

    时钟相噪对ADC性能的影响是什么?锁相环的基本原理和相噪优化方式
    发表于 04-07 06:25

    RTC实时时钟相关知识点汇总,不看肯定后悔

    RTC实时时钟相关知识点汇总,不看肯定后悔
    发表于 11-23 07:12

    32单片机时钟相关知识

    32单片机时钟相关知识使用HSE配置系统时钟,可以用来控制灯的亮灭快慢
    发表于 12-06 07:01

    PCF8591芯片引脚功能介绍

    一、芯片介绍1.原理图2.引脚功能介绍引脚功能AIN0-AIN3模拟信号输入端A0-A2
    发表于 01-20 07:35

    HbirdV2-SoC中如何配置QSPI1和QSPI2的时钟极性CPOL和时钟相位CPHA?

    HbirdV2-SoC中QSPI0的时钟极性CPOL和时钟相位CPHA可以通过SPI_SCKMODE寄存器来配置;在QSPI1和QSPI2中没有找到相关寄存器,如何配置QSPI1和QSPI2的
    发表于 08-12 06:17

    8051单片机引脚图及引脚功能介绍

    下面是8051单片机引脚图及引脚功能介绍: 《单片机引脚图》 40个引脚
    的头像 发表于 07-15 10:37 6.7w次阅读
    8051单片机<b class='flag-5'>引脚</b>图及<b class='flag-5'>引脚</b><b class='flag-5'>功能</b><b class='flag-5'>介绍</b>

    详细介绍下与时钟相关的命令

    时序分析基本概念介绍——时钟sdc。
    的头像 发表于 01-27 09:18 6492次阅读

    时钟相关的PCB的设计考虑主要分为两部分

    今天我们讲一下与时钟(clock)相关的PCB的设计考虑,主要分两部分:原理图设计 - 针对时钟电路应该放置哪些器件?以及PCB布局和走线 - 如何摆放与时钟相关的元器件并正确连线达到
    发表于 11-25 11:09 1444次阅读

    FPGA中的时钟相关概念

    一、时钟相关概念 理想的时钟模型是一个占空比为50%且周期固定的方波。Tclk为一个时钟周期,T1为高脉冲宽度,T2为低脉冲宽度,Tclk=T1+T2。占空比定义为高脉冲宽度与周期之比,即T1
    的头像 发表于 01-15 09:37 4412次阅读
    FPGA中的<b class='flag-5'>时钟相关</b>概念

    时序分析基本概念介绍时钟sdc

    虽然sdc大大小小有上百条命令,但实际常用的其实就那么10几条。今天我们来介绍下与时钟相关的命令。
    的头像 发表于 07-05 10:57 1177次阅读
    时序分析基本概念<b class='flag-5'>介绍</b>—<b class='flag-5'>时钟</b>sdc

    SPI时钟极性和时钟相

    在 SPI 中,主机可以选择时钟极性和时钟相位。在空闲状态期间,CPOL 为设置时钟信号的极性。空闲状态是指传输开始时 CS 为高电平且在向低电平转变的期间,以及传输结束时 CS 为低电平
    的头像 发表于 07-21 10:08 3005次阅读
    SPI<b class='flag-5'>时钟</b>极性和<b class='flag-5'>时钟相</b>位