1.1 振荡器OSC和锁相环PLL
????为了能让DSP芯片工作起来,需要内部振荡器OSC和锁相环PLL等组成的时钟模块来提供规律的时钟脉冲。 ????锁相环是一种控制晶振使其相对于参考信号保持恒定的电路,主要作用是通过软件实时地配置片上外设时钟,提高系统的灵活性和可靠性。从上图可以看到,外部晶振通过了片内振荡器OSC和PLL模块,产生了时钟信号CLKIN,提供给CPU。外部晶振或外部时钟输入信号XCLKIN和送至CPU的信号CLKIN之间的关系如下:
PLL模式 | 说明 | SYSCLKOUT/CLKIN |
---|
禁止 | 上电复位时通过将XF_PLLDIS引脚置低来进入该模式,PLL模块完全不使能。此时CPU的时钟由来自X1/XCLKIN引脚的时钟信号直接去驱动。X2引脚不使用 | XCLKIN | 旁路 | XF_PLLDIS为高电平时,PLL被使能;若此时是上电默认的PLL配置(PLLCR中位DIV的值为0),则PLL自身被旁路。从X1/XCLKIN引脚输入的时钟信号除以2,然后再送去CPU | XCLKIN/2 | 使能 | XF_PLLDIS为高电平时,PLL被使能;同时通过给PLLCR中位DIV写一个不为0的值来实现PLL的使能。时钟信号需要进入PLL模块进行n倍频,然后除以2送到CPU | (XCLKINxN)/2 |
????实际使用时常使用第三种模式。通常用30Mhz晶振为F2812提供时基,当PLL控制寄存器取最大值10时,达到F2812所能支持的最高时钟频率150MHz。
2. X2812中各种时钟信号的产生
????F2812芯片内各种时钟信号的产生情况如上图所示。CLKIN是经过PLL模块后送到CPU的时钟信号,经过CPU分发作为SYSCLKOUT送到各个外设,因此CLKIN=SYSCLKOUT。 ????在进行DSP开发时,经常会用到一些外设,比如SCI、EV、ADC等,要使这些外设工作,首先要提供时钟信号。与之相关的是外设时钟控制寄存器PCLKCR。
SysCtrlRegs.PLCKCR.bit.SCIENCLKA = 1;
SysCtrlRegs.PLCKCR.bit.EVAENCLKA = 1;
SysCtrlRegs.PLCKCR.bit.ADCENCLKA = 1;
????从上图也可以看到,SYSCLKOUT信号经过低速外设时钟预定标寄存器LOSPCP变成了LSPCLK,提供给低速外设SCIA、SCIB、SPI、McBSP。SYSCLKOUT信号经过高速外设时钟预定标寄存器HISPCP变成了HSPCLK,提供给高速外设EVA、EVB、ADC。在各个外设实际使用时,LSPCLK或者HSPCLK还需要经过各个外设自己的时钟预定标,如果外设自己的时钟预定标位的值为0的话,则外设实际使用的时钟就是LSPCLK或HSPCLK。
3.看门狗电路
????在由MCU构成的微型计算机系统中,单片机的工作常常会收到外界电磁场的干扰,造成程序跑飞而陷入死循环,程序的正常运行被打断,由单片机控制的系统就无法继续工作,会造成整个系统陷入停滞状态。处于对单片机运行状态进行实时监测的考虑,产生了一种专门用于监测单片机程序运行状态的电路,俗称看门狗。 ????看门狗的原理是:看门狗电路和单片机上一个I/O引脚相连,该I/O引脚通过程序控制它定时地往看门狗的这个引脚上送入高电平或者低电平,这一程序语句分散地放在单片机其他控制语句之间,一旦单片机由于干扰造成程序跑飞而陷入某一段程序段、进入死循环状态时,写看门狗引脚的程序就不能被执行。这时看门狗电路得不到单片机送来的信号,便在它与单片机复位引脚相连的引脚上送出一个复位信号,使单片机复位。 ????F2812中看门狗原理和上面讲述的MCU看门狗原理类似,其作用也是类似的。
4.低功耗模式
????F2812的低功耗模式如下表所示:
模式 | IDLE | LPMCR(1-0) | OSCCLK | CLKIN | SYSCLKOUT | EXIT |
---|
正常 | 低 | X,X | 开 | 开 | 开 | | 空闲 | 高 | 0,0 | 开 | 开 | 开 | XRS、WAKEINT、XNMI,任何使能的中断 | 备用 | 高 | 0,1 | 开(看门狗仍在运行) | 关 | 关 | 所有在LPMCR1寄存器中被选中的信号,包括XNMI信号 | 暂停 | 高 | 1,X | 关(振荡器和PLL关闭,看门狗不工作) | 关 | 关 | XRS,XNMI,仿真调试 |
|