单片机超频之PLL锁相环设置

关于PLL是什么? 总结:其实,用通俗的语言来讲,PLL就是用来稳定高频时钟信号的。 阅读详情

单片机超频之PLL锁相环设置

  (2011-04-12 08:35:42)
标签: 

飞思卡尔

 

智能车

分类: 飞思卡尔智能车
什么是锁相环呢?
        MCU的支撑电路一般需要外部时钟来给MCU提供时钟信号,而外部时钟的频率可能偏低,为了使系统更加快速稳定运行,需要提升系统所需要的时钟频率。这就得用到锁相环了。例如MCU用的外部晶振是16M的无源晶振,则可以通过锁相环PLL把系统时钟倍频到24M,从而给系统提供更高的时钟信号,提高程序的运行速度。 51单片机,AVR单片机内部没有锁相环电路,其系统时钟直接由外部晶振提供。而XS128内部集成了锁相环电路,其系统时钟既可由外部晶振直接提供,也可以通过锁相环倍频后提供,当然,还有由XS128内部的时钟电路来提供(当其它来源提供的系统时钟不稳定时,内部时钟电路就起作用了,也就是自时钟模式)。
        锁相环作为一个提供系统时钟的模块,是一个基本的模块,几乎每次编程序都得用到。下面记一下怎样配置锁相环来设定想要的系统时钟。
        锁相环PLL、自时钟模式和前面说的实时中断RTI、看门狗COP都属于系统时钟与复位CRG中的模块,固前面用到的寄存器,这里有些会再用到。
        在程序中配置锁相环的步骤如下:
        第一、禁止总中断;
        第二、寄存器CLKSEL的第七位置0,即CLKSEL_PLLSEL=0。选择时钟源为外部晶振OSCCLK,在PLL程序执行前,内部总线频率为OSCCLK/2。
        CLKSEL_PLLSEL=0时,系统时钟由外部晶振直接提供,系统内部总线频率=OSCCLK/2(OSCCLK为外部晶振频率)。CLKSEL_PLLSEL=1时,系统时钟由锁相环提供,此时系统内部总线频率=PLLCLK/2 (PLLCLK为锁相环倍频后的频率)。
       第三、禁止锁相环PLL,即PLLCTL_PLLON=0。
        当PLLCTL_PLLON=0时,关闭PLL电路。当PLLCTL_PLLON=1时,打开PLL电路。
        第四、根据想要的时钟频率设置SYNR和REFDV两个寄存器。
        SYNR和REFDV两个寄存器专用于锁相环时钟PLLCLK的频率计算,计算公式是:
                                          PLLCLK=2*OSCCLK*(SYNR+1)/(REFDV+1)
       其中,PLLCLK为PLL模块输出的时钟频率;OSCCLK为晶振频率;SYNR、REFDV分别为寄存器SYNR、REFDV中的值。这两个寄存器只有在PLLSEL=0时才能够写入(这里就是第二步的设置原因所在了)。
       第五、打开PLL,即PLLCTL_PLLON=1。
        第六、CRGFLG_LOCK位,确定PLL是否稳定。
        当锁相环PLL电路输出的频率达到目标频率的足够小的误差范围内时,LOCK位置1,此时说明PLLCLK已经稳定,可以作为系统的时钟了。该位在正常情况下为只读位。
        第七、PLLCLK稳定后,允许锁相环时钟源PLLCLK为系统提供时钟,即CLKSEL_PLLSEL=1。
        到这里,锁相环的设置就完毕了。
        如果想更灵活地配置系统时钟,就还得用到下面的寄存器了,下面逐一说说:
        1、CRGFLG_LOCKIF 锁相环的中断标志位。当系统时钟因为稳定或不稳定而导致LOCK位(上面已提到)变化时,该位置1。此时,如果CRGINT_LOCKIE=1,则产生中断。CRGINT_LOCKIE=1时,则允许产生锁相环锁定中断。CRGINT_LOCKIE=0时,则不允许。
        2、CLKSEL_PLLWAI是等待模式PLL停止位。当CLKSEL_PLLWAI=1时,系统进入等待模式时,锁相环PLL停止工作。当CLKSEL_PLLWAI=0时,系统进入等待模式时,锁相环PLL仍然工作。
      下面顺便说一下与自时钟模式相关的几个寄存器:
        CRGFLG_SCMIF 自时钟模式中断标志位。当SCM位变化时,该位置1。此时,如果CRGINT_SCMIE=1,则产生中断。
        CRGFLG_SCM         自时钟模式状态位。当晶振频率不稳定时,该位置1,系统会进入自时钟模式,系统的时钟将由自时钟模式下的时钟提供。
        CRGINT_SCMIE 自时钟模式中断的使能位。当CRGINT_SCMIE=1时,允许产生自时钟模式中断。当CRGINT_SCMIE=0时,不能产生自时钟模式中断。
        PLLCTL_SCME 自时钟模式使能位。在自时钟模式下,该位不能被清0。PLLCTL_SCME=1时,晶振时钟失灵系统将强制进入自时钟模式。当PLLCTL_SCME=0时,晶振失灵将导致时钟监控器复位。
      下面附一条锁相环的初始化程序;
void MCUInit()
{
           DISABLE_INTERRUPTS;                        //(1)禁止总中断
              CLKSEL &= 0x7f;                             //(2)CLKSEL的第7位置0,选择系统时钟源为OSCCLK
           PLLCTL &= 0xbf;                             // (3)禁止PLL     ,     PLLCTL.6(pllon)设为0;先关闭PLL
              SYNR = 0x01;                               //(4)根据需要的时钟频率设置SYNR和REFDV寄存器
              REFDV = 0x00;                        
           PLLCTL |= (1<<6);                     //(5)打开PLL         , PLLCTL.6(pllon)设为1;开PLL
           while (( CRGFLG&0x08) == 0x00);                   //(6)通过判断LOCK位,
                                                                                                                                   //确定PLL是否稳定
           CLKSEL |= (1<<7);                   //(7)时钟频率稳定后,允许锁相环时钟源作为系统时钟源;
                                                                                                    //本句执行后:BusClock=PLLCLK/2
      }
MCU 内部架构及程序运行原理讲解 MCU:微控制单元(Microcontroller Unit) ,又称单片微型计算机(Single Chip Microcomputer )或单片机,是把中央处理器(Central Process Unit,CPU)的频率与规格做适当缩减,并将内存(memory)、计数器(Timer)、USB、A/D转换、UART、PLC、DMA等周边接口,甚至LCD驱动电路都整合在单一芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。通用MCU。 阅读详情

相关推荐

MCU锁相环简述(一)

在使用K60的过程中发现自己pllinit()不清楚,才发觉自己锁相环的概念还不懂,so,赶紧补补……     锁相环(PLL: Phase-locked loops)是一种利用反馈(Feedback)控制原理实现的频率及相位的同步技术,其作用是将电路输出的时钟与其外部的参考时钟保持同步。当参考时钟的频率或相位发生改变时,锁相环会检测到这种变化,并且通过其内部的反馈系统来调节输出频率,直到两者

u012781002的专栏 4394

MCU集成-时钟复位控制

mcu前端设计

m0_46407447的博客 4158

STM32时钟体系结构

STM32的时钟体系可以直接以图概括(摘自STM32F10X参考手册) 下面就此图做分析1. STM32输入时钟源1.1 时钟源的作用无论是小型单片机还是像STM32这样高级单片机,它们工作的核心都是大规模的时序逻辑电路,而驱动时序逻辑电路的关键则是准确而又稳定的时钟源。它的作用就像小学在操场上做广播体操时候播放的背景音乐,用于协调和同步各单元运行,为时序电路提供基本的脉冲信号。1.2 STM

echo_bright_的博客 2万+

一些MCU常用关键词

一些MCU常用关键词 仅简单介绍 深入内容需读者自行查阅 主要因为遇到一些英文缩写在不同领域有不同的涵义,所以仅限微薄之力为读者提供一些帮助。 PLL (Phase Locked Loop) 锁相环 也称锁相电路 作用是:使电路时钟与外部时钟相位同步。 RTC (Real-Time Clock) 实时时钟 一般为32.768KHz 因为2的15次方的值为32768,一般情况下计数器为16位,即15分频后频率为1Hz,周期为1s,内部时钟需要精确。 ADC (Analog-to-Digital Conver.

lzsm_的博客 672

别再死记硬背了!一张图搞懂无刷电机半桥与全桥驱动的核心差异(附避坑指南)

本文深入解析无刷直流电机的半桥与全桥驱动方式的核心差异,提供直观对比与选型指南。半桥驱动结构简单、成本低,适合低要求场景;全桥驱动性能优越但复杂,适用于高精度控制。文章还包含实战避坑指南,帮助工程师优化驱动方案选择与应用。

weixin_29290947的博客 319

事件相机(Event Camera)及相关研究简介——新一代相机?新的计算机视觉领域?

事件相机(Event Camera)及相关研究简介 事件相机是一个新型的类脑相机,是一个待开发的大领域。希望通过我的分享,能够有更多人来研究并将它更好地运用在我们的生活中~

Cyril的博客 5万+

基于xs128单片机的PLL设置

摘要:设置PLL锁相环就相当于超频,单片机超频的原因和PC机是一个道理。 分频的主要原因是外设需要的工作频率往往远低于CPU/MEMORY,这也和PC机南北桥的原理类似。 PLL锁相环的设置比较简单的,设置太高相对来说不够稳定,进行过PC机超频的应该很有体会,一般我们现在用的XS128我觉得设置在80MHz是比较合适的,相比DG128,这个频率已经蛮高的了。同时就是SYNR,REFDV只有在CL

因每天学习而伟大 1124

《C语言小游戏之贪吃蛇程序代码》

//为广大编程游戏爱好者提供一个参考的游戏源代码#include&lt;stdio.h&gt;#include&lt;conio.h&gt;#include&lt;windows.h&gt;#include&lt;time.h&gt;#define framex 5#define framey 5#define wide 20#define high 20int i,j,a[2];//将光标移动到...

qq_42052821的博客 2万+

单片机超频怎么搞?

单片机的性能很大程度上取决于其时钟频率,即每秒执行的指令周期数。制造商通常为单片机指定一个最大时钟频率,以保证稳定性和可靠性。然而,在某些情况下,工程师或爱好者希望通过超频来突破这一限制,以获得更高的性能。

不脱发的程序猿 940

【AMD显卡在WIndow10/11部署带GPU支持的深度学习环境(Pytorch-DirectML篇)】

这篇是之前Tensorflow-DirectML的姊妹篇,如果对TF感兴趣的可以搜索我的博文。 首先我们丢一个官网地址,但是官网那个会误导新人如果你按那个操作的话。 https://docs.microsoft.com/en-us/windows/ai/directml/gpu-pytorch-windows 这里用我的方法操作: 首先声明一下,因为我的显卡是AMD RX6600,不带XT(性能和RTX3060 12G版本半斤八两),所以目前没有最新的WSL2驱动,如果有了的话欢迎告知我,所以我这里就.

weixin_44029053的博客 2万+

告别环境配置烦恼:用Conda一键搞定GATK4、samtools、fastp等生信分析全家桶

本文介绍如何利用Conda快速搭建包含GATK4、samtools、fastp等工具的生物信息学分析环境,解决软件安装和版本冲突问题。通过详细的配置步骤和实战案例,帮助研究者十分钟内完成重测序分析全家桶的环境配置,显著提升上游分析效率。

weixin_30753873的博客 334

飞思卡尔XS128系列(一) PLL锁相环

通俗点说,设置PLL锁相环就相当于超频,单片机超频的原因和PC机是一个道理。 分频的主要原因是外设需要的工作频率往往远低于CPU/MEMORY,这也和PC机南北桥的原理类似。 相对来说,PLL锁相环的设置还是比较简单的,因为东西很死,完全可以照搬。只是大家也不要太贪,设置太高相对来说不够稳定,进行过PC机超频的应该很有体会,一般我们现在用的XS128我觉得设置在80MHz是比较合适的,相比前几届比赛用的DG128,这个频率已经蛮高的了。还有就是SYNR,REFDV只有在CLKSEL_PL

飞思卡尔 汽车电子 4257

MounRiver Studio(MRS)使用技巧:添加头文件目录;增加代码分组

MounRiver Studio(MRS)使用技巧:添加头文件目录

cheng___yi的博客 1808

锁相环基本配置方法

锁相环的作用:提高总线频率,加快单片机运行速度,俗称超频。基本配置寄存器如下: 1、时钟分频寄存器REFDV REFFRQ[1:0]取值对应的频率范围: REFDIV[5:0]为分频因子REFDV的值,有效值为0~63 2、时钟合成寄存器SYNR: The VCOFRQ[1:0] 用于配置稳定VCO 增益.。VCO的频率与VCOFRQ[1:0] 对应表如下所示: S...

hei_gezi的博客 2631

YOLO11 改进 - C2PSA | C2PSA融合HEWL(高频增强小波层):小波逆变换+双通道注意力增强+高频显式增强 | TGRS 2026

本文介绍了高频增强小波层(HEWL),一种专为解决红外小目标检测中边缘退化与语义模糊问题设计的上采样模块。该方法结合小波逆变换与交替通道注意力(ALCA),通过显式增强高频细节并优化特征融合,实现精准的边缘重建与语义对齐。我们将 HEWL 融入 PSABlock 结构构建了 C2PSA_HEWL 模块,并成功集成进 YOLO11 的骨干网络,替代原有的 C2PSA 模块。实验证明,结合 HEWL 的 YOLO11 在检测任务中表现优异,有效提升了模型对细节特征的捕捉能力。

魔改工程师的博客 102

详解FreeRTOS:FreeRTOSConfig.h系统配置文件(拓展篇—1)

FreeRTOS的系统配置文件为FreeRTOSConfig.h,在配置文件中可以完成FreeRTOS的裁剪和配置,这是非常重要的一个文件,本篇博文就来讲解这个文件。

不脱发的程序猿 1545

【32单片机学习】(4)STM32F1x超频至128Mhz

STM32F1x系列官方推荐最大系统时钟频率为72MHz,今天看时钟树时发现其可以进行超频,PLL锁相环最大支持16倍频,所以笔者尝试了一下用外界的8MHz晶振进行倍频至128MHz的实验。

sudoeast的博客 2879

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

FPGA开发(四) PLL实验

本次我们来学习FPGA的PLL,PLL(Phase Locked Loop)俗称锁相环,在很多的单片机中都有,它主要的目的是为了实现倍频和分频,因为我们系统运行的主频率是固定的,如果我们需要其他的频率,那么就需要超频或者降频,此时就需要锁相环实现。 ...

AlwaysSun的博客 2429

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

第十四届智能车培训 PLL锁相环

什么是锁相环? PLL(Phase Locked Loop): 为锁相回路或锁相环,用来统一整合时脉讯号,使高频器件正常工作,如内存的存取资料等。PLL用于振荡器中的反馈技术。 许多电子设备要正常工作,通常需要外部的输入信号与内部的振荡信号同步。一般的晶振由于工艺与成本原因,做不到很高的频率,而在需要高频应用时,由相应的器件VCO,实现转成高频,但并不稳定,故利用锁相环路就可以实现稳定且高频的时...

weixin_30552811的博客 260

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

STM32系统时钟超详解

什么是时钟及作用,STM32四个时钟源,自己写系统时钟初始化函数实现超频

k666499436的博客 4万+

quartus利用锁相环产生时钟_STM32入门系列-STM32时钟系统

时钟对于单片机来说是非常重要的,它为单片机工作提供一个稳定的机器周期从而使系统能够正常运行。时钟系统犹如人的心脏,一旦有问题整个系统就崩溃。我们知道STM32属于高级单片机,其内部有很多的外设,但不是所有外设都使用同一时钟频率工作,比如内部看门狗和RTC,它只需30KHz的时钟频率即可工作,所以内部时钟源就有多种选择。在前面章节的介绍中,我们知道STM32系统复位后首先进入SystemInit函数...

weixin_39942488的博客 554

quartus利用锁相环产生时钟_一图搞懂单片机STM32的5个时钟源知识!

众所周知STM32有5个时钟源HSI、HSE、LSI、LSE、PLL,其实他只有四个,因为从上图中可以看到PLL都是由HSI或HSE提供的。其中,高速时钟(HSE和HSI)提供给芯片主体的主时钟.低速时钟(LSE和LSI)只是提供给芯片中的RTC(实时时钟)及独立看门狗使用,图中可以看出高速时钟也可以提供给RTC。内部时钟是在芯片内部RC振荡器产生的,起振较快,所以时钟在芯片刚上电的时候,默认使用...

weixin_39902184的博客 481

飞思卡尔k60从零开始之PLL

K60 PLL配置过程,经验分享

HAHA0_0的博客 1万+

008 - STM32学习笔记 - 超频

这里我实测了一下,肉眼感觉LED灯貌似没有变化,查了一下资料,网上有人说是频率变化不明显,需要用示波器去采,结果用示波器采了一次180MHz的和这次程序设定的,发现好像也没区别。有懂的人帮忙解释一下,小弟先谢过了。函数进行分析和裁剪,这节自己编程实现系统时钟的配置和超频。在上节创建好的bsp_rccclkconfig.c及bsp_rccclkconfig.h中自定义时钟配置函数。之后我们在main.c中调用一下,同时也结合之前LED闪烁的程序,将开发板的时钟超频操作一下。参数配置 25-360-2。

guanxiaozhi的博客 1232

stm32程序怎么设置apb2总线时钟_一目了然!图文教你理解单片机STM32时钟

PCB布板一些简易常用规则,你不得不看!如何将微小型PCB线圈用做电感式传感器元件?(点击上方红字,即可获取)众所周知STM32有5个时钟源HSI、HSE、LSI、LSE、PLL,其实他只有四个,因为从上图中可以看到PLL都是由HSI或HSE提供的。其中,高速时钟(HSE和HSI)提供给芯片主体的主时钟.低速时钟(LSE和LSI)只是提供给芯片中的RTC(实时时钟)及独立看门狗使用,图中...

weixin_39927683的博客 3085
上一篇: Understanding IRQL
下一篇: I2C是个好协议
killcpp
博客等级 码龄20年 13粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值