• 【黑金动力社区】【bf531 体验板教程】第五章 时钟及电源(七)


    一、 时钟及锁相环

            ADSP-BF531处理器使用来自外部晶体的正弦输入,或经过缓冲整形的外部时钟。如果使用外部时钟,该时钟信号应是TTL兼容信号,而且正常运行时,此时钟不能停止、改变、或低于指定的频率。此外部时钟应连到DSP的CLKIN引脚,且XTAL引脚必须悬空。

            由于ADSP-BF531处理器有片内振荡电路,所以也可以使用外部晶振。外部晶振应当连接到CLKIN和XTAL引脚,并与两个电容相连。电容值取决于晶振的类型,应当由晶振厂商提供。内核时钟(CCLK)和系统外设时钟(SCLK)可由输入时钟(CLKIN)信号获得,如图5-1所示。用户通过设置PLL_CTL中的倍频因子,可使片上PLL倍频CLKIN信号, CLKIN与倍频因子的乘积为PLL输出(VCO)的中间时钟,内核时钟(CCLK)和系统外设时钟(SCLK)就是由VCO产生。

     

    图5-1 PLL 结构框图

            用户可以通过四个MMR寄存器来操作或者读取PLL的状态。分别为分频寄存器(PLL_DIV),PLL控制寄存器(PLL_CTL),PLL状态寄存器(PLL_STAT)和PLL锁定计数寄存器(PLL_LOCKCNT)。四个寄存器都是16位的,访问时候需要注意对齐问题。

    表5-1 PLL_DIV(地址:0XFFC0 0004 复位值0x0005)

    名称

    描述

    15:6

    -

    未用

    5:4

    CSEL

    内核时钟选择

    00:CCLK=VCO/1;

    01:CCLK=VCO/2;

    10:CCLK=VCO/4;

    11:CCLK=VCO/8。

    3:0

    SSEL

    系统时钟选择

    0000:保留

    1~15:SCLK= VCO / X

     

    表5-2 PLL_CTL(地址:0XFFC0 0000 复位值0x1400)

    名称

    描述

    15

    SPORT_HYS

    添加250mV滞后电压到SPORT 输入脚

    14:9

    MSEL

    VCO倍频因子

    0:64倍频

    N=1~63:N倍频

    8

    BYPASS

    跳过PLL

    0:不跳过PLL(PLL有效)

    1:跳过 PLL

    7

    OUT_DELAY

    输出延迟

    0:输出不延迟

    1:PLL 到外部时钟输出,添加200ps的延迟

    6

    IN_DELAY

    输入延迟

    5

    PDWM

    掉电模式

    0:所有内部时钟掉电

    1:所有内部时钟开启

    4

    -

    未用

    3

    STOPCK

    内核时钟停止

    0:内核时钟正常运行

    1:内核时钟停止

    2

    -

    未用

    1

    PLL_OFF

    PLL 电源控制

    0:开启PLL 电源

    1:关断PLL 电源

    0

    DF

    输入时钟二分频使能

    0:输入时钟直接连PLL;

    1:输入时钟二分频后连PLL。

     

    表5-3 PLL_STAT(地址:0XFFC0 000C 复位值0x00A2 只读)

    名  称

    描  述

    15:8

    -

    未使用

    7

    VSTAT

    电压调节器指示

    0:电压调节器未达到编程电压

    1:电压调节器达到了编程电压

    6

    CORE_IDLE

    内核停止状态

    5

    PLL_LOCKED

    锁相环锁住

    4

    SLEEP

    休眠

    3

    DEEP_SLEEP

    深度休眠

    2

    ACTIVE_PLLDISABLED

    激活模式,PLL禁止

    1

    FULL_ON

    所有均使能

    0

    ACTIVE_PLLENABLED

    激活模式,PLL使能

    当用户改变锁相环输出频率时,锁相环需要一段过渡时间,来稳定到新的输出频率,PLL_LOCKCNT寄存器所定义的时钟计数就是设置新的时钟频率后,锁相环锁定需要的周期数。

     

    二、 电源管理


    1.    动态电源管理控制器

            ADSP-BF531的动态电源管理控制器(DPMC)与PLL结合,使用户能够动态地控制处理器的性能和功耗。用户可以利用DPMC提供下面的功能,对性能和功耗进行控制。

    • 多种运行模式——ADSP-BF531有4种不同的运行模式,每个模式的性能和功耗都不同;
    • 外设时钟——用户可以控制外设时钟的关断和接通,当一个外设处于空闲或者未被使用时,可以节省功耗;
    • 电压控制——ADSP-BF531提供一个片上电压调节器,利用buck技术,它能够操纵Blackfin处理器内核的内部电压,从而进一步降低功耗。

     

    2.    运行模式

            ADSP-BF531有4种运行模式,每种模式有不同的性能/功耗特性,此外,动态功率管理有动态地改变处理器内核供电电压的控制功能,进一步降低功耗。控制每一个ADSP-BF531处理器外设的时钟也能降低功耗,表5-4总结了各种模式的运行特性。

    表5-4 运行模式

    运行模式

    省电

    PLL状态

    PLL旁路

    CCLK

    SCLK

    允许DMA访问

    全速

    使能

    使能

    使能

    L1

    活动

    使能

    使能

    使能

    L1

    休眠

    使能

    禁止

    使能

     

    深度休眠

    最大

    禁止 

     

    禁止

    禁止

     

    (1)  全速模式

            全速模式是Blackfin的最高性能模式。在该模式中,PLL被全能并且不被旁路,该模式是Blackfin正常执行时的状态,处理器和所有被使能的外设以全速运行。在该模式下,输入时钟(CLKIN)对内核时钟(CCLK)的频率比不能被改变。DMA存取可用于L1存储器,处理器可以从全速模式切换到活动、休眠或深度休眠模式。

    (2)  活动模式

            在此模式下,PLL被使能,但被旁路。因为PLL被旁路,处理器内核时钟(CCLK)和系统时钟(SCLK)运行于输入时钟(CLKIN)频率下。在此模式下,CLKIN到CCLK倍频可变,直到进入全速运行模式。通过适当地配置L1存储器,可以进行DMA访问。

            在激活模式下,通过PLL控制寄存器(PLL_CTL)能够禁止PLL。如果被禁止,在转换到全速或休眠模式前必须被使能。

    (3)  休眠模式

            休眠运行模式通过关闭处理器内核(CCLK)的时钟来降低功耗,然而PLL和系统时钟(SCLK)仍在运行。一般通过外部事件或RTC活动来唤醒处理器。此模式下唤醒的出现将会使处理器检查PLL控制寄存器(PLL_CTL)中旁路位(BYPASS)的值。如果旁路位被关闭,处理器将切换到全速运行模式。如果旁路位使能,处理器将切换到活动运行模式。

            休眠模式时,系统DMA不支持对L1存储器的访问。在休眠模式下,一个唤醒事件可以使处理器切换到下面两个模式之一:

    • 如果PLL_CTL中的BYPASS位被置位,则进行活动模式;
    • 如果PLL_CTL中的BYPASS位被清零,则进行全速模式。

    (4)  深度休眠模式

            深度休眠模式通过停止PLL、CCLK和SCLK,达到最省电效果。在该方式中,除了实时时钟(RTC)外,处理器内核以及所有其他外设都被禁止。该模式下不支持DMA。

            在深度休眠模式中,DEEP_SLEEP输出管脚输出有效电平。深度休眠方式只能被RTC中断或硬件复位事件激活。一个RTC中断使处理器切换到活动模式,一次硬件复位启动硬件复位序列。在深度休眠方式中,SDRAM的定时信号被关闭。在进入深度休眠方式之前,软件应该保证将SDRAM中重要信息转换到其他存储器中。

     

    3.    片上内核电压调节器

            处理器内部提供了一个开关模式电压调节器,只需要几个外部元件,就可以组成一个电压可以设置的动态电源模块,为内核供电。这样,我们就可以根据不同的处理能力需求,来控制内核电压,达到按需供电的目的。以节约能量。如图5-2所示,图中VROUT为内部调节器PWM 输出,与PMOS、蓄能电感、肖特基二极管以及几个相关的电容,组成典型的BUCK电路。

            当然,在不需要功率控制的情况下,这一部分电路也可以省略,可以用一个固定输出的电路代替。MS531第一版就是采用SPX3819-1.2固定输出的LDO作为内核电源的。VCCINT的范围为0.85~1.30V,不同电压,能支持的最高频率也是不同的。如果要想更好的性能 ,就得保证较高的内核电压。

     

    图5-2 电源调节器外部结构

            VR_CTL 寄存器控制着所有的偏上内核电压调节参数,写入VR_CTL后,将会导致锁相环重新锁定。表5-5为VR_CTL寄存器各位的含义。

    表5-5 VR_CTL(地址:0XFFC0 0008   复位值0x00DB)

    名称

    描述

    15:9

    -

    未用

    8

    WAKE

    RTC 唤醒设置

    0:不允许RTC唤醒

    1:允许RTC唤醒

    7:4

    VLEV

    设定内核电压级别

    0000-0101:保留

    0110:0.85V

    0111:0.90V

    1000:0.95V

    1001:1.00V

    1010:1.05V

    1011:1.10V

    1100:1.15V

    1101:1.20V

    1110:1.25V

    1111:1.30V

    3:2

    GAIN

    电压输出增益控制,值越大电压调节速率越快,但是容易过冲

    00:5    01:10

    10:20   11:50

    1:0

    FREQ

    调节器的频率,频率越高需要的电感和电容越小,但是会产生较强的EMI

    00:旁路/不工作模式

    01:333kHz

    10:667kHz

    11:1MHz

    附录:

    MS531-II 板子靓照

  • 相关阅读:
    go语言——strings和strconv
    go语言——map
    Manjaro配置
    go语言——数组和切片
    go语言——随机数
    go——选择和循环
    go语言——输入输出
    java动态代理实现--基于子类的动态代理
    java动态代理实现--基于接口的动态代理
    spring依赖注入
  • 原文地址:https://www.cnblogs.com/kingst/p/1848526.html
Copyright © 2020-2023  润新知