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

什么是锁相环呢?
    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
    }

原文来自:http://blog.sina.com.cn/s/blog_627bb2cf0100svan.html

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: PLL(Phased Locked Loop,锁相环)是一种电子电路,常用于时钟恢复、频率合成和频率调制解调等应用中。它由相位检测器、低通滤波器、振荡器和分频器等组成。 PLL的基本原理是通过不断调节振荡器的频率来使其与输入信号的相位和频率保持一致。首先,相位检测器会比较输入信号与振荡器产生的参考信号的相位差,并输出一个与相位差成正比的电压。接着,这个电压经过低通滤波器得到一个平滑的控制电压。该控制电压会被送回振荡器,调节其频率以与输入信号保持同步。最后,为了实现频率分频,通过分频器将振荡器的频率除以一个整数,得到所需的频率。 PLL在通信、无线电和电子设备中广泛应用。例如,手机中的PLL用来同步基带信号和射频信号,确保数据的准确传输。另外,PLL还可以用于频率合成,将一个基准信号合成为所需的频率信号。此外,在数据通信调制解调中,PLL可用于将调制信号与解调信号的频率相锁定,从而实现信号的解调与恢复。 总的来说,PLL作为一种重要的电路设计技术,能够实现信号的同步、调频和频率合成等功能,为电子设备的正常运行提供了重要的支持。通过合理设计和调整PLL的参数,可以实现更加精确和稳定的信号处理。 ### 回答2: PLL锁相环(Phase-Locked Loop)是一种常见的电路,用于控制频率和相位同步。PLL锁相环通过比较输入的参考信号和反馈信号的相位差,并根据差异调整输出信号的频率和相位,以使两者保持同步。 PLL锁相环的工作原理如下:首先,将输入的参考信号与一个产生固定频率的参考信号源进行比较,得到一个相位差值。然后,将相位差值传递给控制系统,通过相位锁定环的控制器来调整输出信号的频率和相位。最后,将调整后的输出信号与输入信号进行反馈比较,如果仍存在相位差,则不断进行调整直至达到同步。 PLL锁相环在各种领域中有广泛的应用。在通信系统中,PLL锁相环可用于解调信号、频率合成和时钟恢复等。在数字电路中,PLL锁相环可用于时钟提取、时钟同步和时钟分频等。在无线电领域,PLL锁相环可用于频率合成器、频率调制和频率跟踪等。 CSND是中国最大的IT技术社区之一,提供了丰富的技术博客、文档和论坛等资源。在CSND上,我们可以找到许多关于PLL锁相环的技术文章和论坛讨论。这些资源可以帮助我们更深入地了解PLL锁相环的原理、设计和应用。同时,我们也可以在CSND上交流和分享我们对PLL锁相环的理解和经验,与其他技术人员进行交流和学习。 ### 回答3: PLL(Phase-Locked Loop,锁相环)是一种电子电路,用来追踪并同步输入信号的相位和频率。PLL主要由相位比较器、低通滤波器、VCO(Voltage-Controlled Oscillator,电压控制振荡器)以及分频器组成。 工作原理是通过将输入信号和VCO输出信号进行相位比较,并将相位差转换成电压信号输入到VCO中,从而调整VCO的频率使得输出信号与输入信号的频率和相位一致。 PLL在通信、音频和视频处理等领域有广泛应用。在通信中,PLL被用于时钟恢复、频率合成和信号解调等方面。在音频和视频处理中,PLL可用于对音频和视频信号进行时钟同步和伪随机信号的生成。 CSDN(中国软件开发者网)是一个面向IT技术人员的学习、交流和分享平台。CSDN上有大量的技术文章、教程和开发者的博客信息。对于技术爱好者和开发人员来说,CSDN是一个获取相关知识和分享自己经验的重要平台。 在CSDN上,我们可以找到关于PLL的相关文章和讨论。这些文章和讨论可以帮助我们了解PLL的原理、应用场景以及在具体项目中的实际应用。通过学习和交流,我们可以不断地提升自己在PLL领域的知识和技能。 总的来说,PLL锁相环是一种用于追踪和同步输入信号的电子电路,而CSDN是一个IT技术人员学习交流的平台,通过在CSDN上学习和分享,我们能够进一步了解PLL的应用和进一步提升自己在这方面的技术水平。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值