MCU的基础--时钟系统学习教程

MCU的基础--时钟系统学习教程,第1张

时钟系统是一颗MCU的基础,MCU的一个重要考核指标。PIC32MZ EF系列采用MIPS32® M级核,工作频率可以达到200MHz。时钟系统也比较复杂,配置的寄存器比较多,下面就对照Harmony里面的时钟配置进行简单的介绍。

PIC32MZEF振荡器系统具有以下模块和特性:

• 共有5个外部和内部振荡器可选作时钟源

• 具有用户可选的输入分频器、倍频器和输出分频器的片上PLL,可提升特定内部和外部振荡器源的工作频率

• 特定振荡器源具有片上用户可选的后分频器

• 可采用软件控制在各个时钟源之间切换

• 检测时钟故障和允许通过专用备份 FRC(Back-up FRC,BFRC)安全恢复或关闭应用的故障保护时钟监视器(Fail-Safe Clock Monitor,FSCM)

• 供USB外设专用的片上PLL

• 灵活的参考时钟输出

• 外设的多个时钟分支可使其获得更好的性能灵活性

• 采用输出分频器实现时钟切换/摆动控制

看看手册上的时钟树,仔细看看就可以对时钟系统有一个大体的了解,具体参数的设置就要仔细研究寄存器的含义了。

MCU的基础--时钟系统学习教程,1,第2张

时钟方面的寄存器列表,寄存器很多

MCU的基础--时钟系统学习教程,2,第3张

MCU的基础--时钟系统学习教程,3,第4张

Harmony里面的时钟配置很人性化,和手册上的图表是一样的形式,这样就很方便了,这里直接进行简单的参数选择就可以了,下面就大概介绍下时钟系统的配置

MCU的基础--时钟系统学习教程,4,第5张

1,MCU有5个时钟源,外部高频主振荡器,外部低频振荡器,内部快速RC,内部备用快速RC,内部低速RC

MCU的基础--时钟系统学习教程,5,第6张

外部高频主振荡器的时钟频率直接根据开发板上的晶振设置为24MHZ就可以了

内部快速RC可以用FRCDIV《2:0》设置振荡器时钟分频1-256分频

外部低频振荡器开发板上没有安装,通过SOSCEN来设置辅助振荡器(SOSC)使能或禁止,我们选择禁止

2,具体选择哪个时钟源为系统主时钟SYSCLK,通过COSC《2:0》:当前振荡器选择位来选择,和NOSC《2:0》:新振荡器选择位来切换

MCU的基础--时钟系统学习教程,6,第7张

3,系统PLL设置,先选择时钟源为外部高频主振荡器还是内部快速RC然后在设置分频倍频的系数

MCU的基础--时钟系统学习教程,7,第8张

PLLICLK用来选择系统PLL输入时钟源位

1 =FRC选作系统PLL的输入

0 =POSC选作系统PLL的输入

PLLIDIV《2:0》用来设置系统PLL输入时钟分频比1-8,我们这里选择2分频,24M 3分频后编程8M

PLLMULT《6:0》用来设置系统PLL倍频比1-128,我们这里选择50倍频,8M50倍频后为400M

PLLODIV《2:0》用来设置系统PLL输出时钟分频比2-32,我们选择2分频,400M 2分频为200M

PLLRANGE《2:0》用来选择输入时钟倍频钱的频率范围选择位,因为是8M,所以我们选择5-10 MHz

PLL设置完成后得到的频率是200MHZ,

4,MCU具有4个参考时钟源,通过寄存器REFOxCON来进行配置,可以选择是否使能,选择时钟源,然后进行分频倍频等设置,并且可以通过寄存器REFOxTRIM是时钟进行微调,这里我们不使用参考时候时钟,直接进行关闭选择。

MCU的基础--时钟系统学习教程,8,第9张

5,外设时钟时钟,由于MCU的外设时钟比较多,所以分配了7个外设时钟源,不同的外设对应不同的时钟源PBCLK1-5,7,8。通过寄存器PBxDIV来分别对外设时钟进行设置

MCU的基础--时钟系统学习教程,9,第10张

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2639239.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-12
下一篇 2022-08-12

发表评论

登录后才能评论

评论列表(0条)

保存