时钟系统是一颗MCU的基础,MCU的一个重要考核指标。PIC32MZ EF系列采用MIPS32® M级核,工作频率可以达到200MHz。时钟系统也比较复杂,配置的寄存器比较多,下面就对照Harmony里面的时钟配置进行简单的介绍。
PIC32MZEF振荡器系统具有以下模块和特性:
• 共有5个外部和内部振荡器可选作时钟源
• 具有用户可选的输入分频器、倍频器和输出分频器的片上PLL,可提升特定内部和外部振荡器源的工作频率
• 特定振荡器源具有片上用户可选的后分频器
• 可采用软件控制在各个时钟源之间切换
• 检测时钟故障和允许通过专用备份 FRC(Back-up FRC,BFRC)安全恢复或关闭应用的故障保护时钟监视器(Fail-Safe Clock Monitor,FSCM)
• 供USB外设专用的片上PLL
• 灵活的参考时钟输出
• 外设的多个时钟分支可使其获得更好的性能灵活性
• 采用输出分频器实现时钟切换/摆动控制
看看手册上的时钟树,仔细看看就可以对时钟系统有一个大体的了解,具体参数的设置就要仔细研究寄存器的含义了。
时钟方面的寄存器列表,寄存器很多
Harmony里面的时钟配置很人性化,和手册上的图表是一样的形式,这样就很方便了,这里直接进行简单的参数选择就可以了,下面就大概介绍下时钟系统的配置
1,MCU有5个时钟源,外部高频主振荡器,外部低频振荡器,内部快速RC,内部备用快速RC,内部低速RC
外部高频主振荡器的时钟频率直接根据开发板上的晶振设置为24MHZ就可以了
内部快速RC可以用FRCDIV《2:0》设置振荡器时钟分频1-256分频
外部低频振荡器开发板上没有安装,通过SOSCEN来设置辅助振荡器(SOSC)使能或禁止,我们选择禁止
2,具体选择哪个时钟源为系统主时钟SYSCLK,通过COSC《2:0》:当前振荡器选择位来选择,和NOSC《2:0》:新振荡器选择位来切换
3,系统PLL设置,先选择时钟源为外部高频主振荡器还是内部快速RC然后在设置分频倍频的系数
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是时钟进行微调,这里我们不使用参考时候时钟,直接进行关闭选择。
5,外设时钟时钟,由于MCU的外设时钟比较多,所以分配了7个外设时钟源,不同的外设对应不同的时钟源PBCLK1-5,7,8。通过寄存器PBxDIV来分别对外设时钟进行设置
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)