F2812的时钟和控制系统.doc
《F2812的时钟和控制系统.doc》由会员分享,可在线阅读,更多相关《F2812的时钟和控制系统.doc(10页珍藏版)》请在三一办公上搜索。
1、-F2812的时钟和控制系统众所周知,支撑我们身体四肢能够灵活运动的能量来源于心脏,正是心脏不停的有规律的跳动给身体的各个机能供血,我们才能去做任意我们想做的事情。如果我们的身体过度疲劳,或者感染了细菌病毒而生病了,这个时候就会有医生来给我们检查身体,并且进展治疗。其实DSP也一样,需要一个类似于心脏的模块来提供其正常运行的动力和节奏。在这一章里面,我们一起来学习F2812的“心脏F2812的振荡器、锁相环PLL和时钟机制。除此之外还要学习给DSP做“身体检查,以维持其正常工作的看门狗模块。1、振荡器OSCOscillator和锁相环PLLPhase Locked Logic 为了能够让F28
2、12能够按部就班的执行相应的代码,实现相应的功能,他需要不断的规律的时钟脉冲,而这一功能就由F2812部的振荡器OSC和基于PLL的时钟模块来实现。在这里简单的介绍一下终究振荡器OSC和锁相环PLL是什么:振荡器OSC: 一种能量转换装置,将直流电能转换为具有一定频率的交流电能。锁相环PLL:锁相环也叫一样步逻辑,用途是在收、发通信双方建立载波同步或位同步。因为它的工作过程是一个自动频率相位调整的闭合环路,所以叫环。让我们来看一下整体的图:图1 2812芯片的OSC和PLL模块如上图所示,F2812上有基于PLL的时钟模块,为器件及各种外设提供时钟信号。锁相环中有4位倍频设置位,以此来提供各种
3、速度的时钟信号。基于PLL的时钟模块可以采用两种操作模式:1部振荡器:在PLL未被制止的情况下,使用外部晶振给2812提供时钟信号,则必须使用*1/*CLKIN引脚和*2引脚,在这两引脚之间连接一个石英晶体,即外部晶振。2外部时钟源:在PLL被制止的情况下,旁路片振荡器,由外部时钟源提供时钟信号,这时候讲外部振荡器的信号直接输入到*1/*CLKIN引脚上,此时*2引脚不使用。 外部引脚可以选择系统的时钟源。当为低电平时,系统直接采用时钟或晶振直接作为系统时钟;当为高电平时,外部时钟经过PLL倍频后,为系统提供时钟。系统可以通过锁相环控制存放器来选择锁相环的工作模式和倍频的系数。下面的表格列出了
4、各种PLL的配置模式下,时钟输入信号*CLKIN和时钟模块输出信号,即送至CPU的信号CLKIN之间的关系:PLL模块功能描述CLKINPLL被制止上电复位时如果引脚是低电平,则PLL完全被制止。此时,输入CPU的时钟是由外部振荡器直接通过*1/*CLKIN引脚输入的信号。*CLKINPLL旁路如果PLL未处于不使能的状态,上电默认的PLL配置PLLCR的值为0。PLL自身被旁路,从*1/*CLKIN引脚输入的时钟信号先除以2,然后再送去CPU。*CLKIN/2PLL使能通过给PLLCR存放器写一个不为0的值来实现PLL的使能,时钟信号需要进入PLL模块进展n倍频,然后再除以2,最后送至CPU
5、。*CLKIN*n/2锁相环PLL中有锁相环控制存放器PLLCR,作用是用来选择锁相环的工作模式和倍频的系数。上面提到过锁相环中有4位倍频设置位DIV,即为03位,往里面写入00001010用来确定倍频的系数,其他为保存。锁相环控制存放器PLLCR如下:15 4 3 0保存DIV在PLL模式中,平常使用的是PLL使能模式,从图1可以看到,通常采用30M的晶振来给2812提供时基。当PLLCR的DIV位被置为最大值1010的时候,CPU的时钟将到达150MHz,是2812所能支持的最大时钟频率,这也是为什么我们会选用30M晶振的原因。时钟频率具体的计算如下所示:晶振为30M,PLLCR的DIV位
6、被置为1010时的时钟频率CLKIN=OSCLKIN*10/2=30M*10/2=150MHz2、2812芯片中各种时钟信号的产生情况 2812芯片各种时钟信号的产生情况如图2所示。CLKIN是经过PLL模块后送往CPU的时钟信号,进过CPU分发,作为SYSCLKOUT送至各个外设。因此,SYSCLKOUT=CLKIN。图2 2812芯片各种时钟信号的产生情况 我们在使用2812开发的时候,通常会用到一些外设,例如SCI,EV,AD等,要使得这些外设工作,首先的就是向其提供时钟信号。因此,我们再系统初始化的时候,就需要对使用到的各个外设的时钟进展使能,在这里和时钟使能相关的存放器是外设时钟控制
7、存放器PCLKCR。PCLKCR控制各种时钟的工作状态,使能或制止相关外设时钟,而PCLKCR各位的分配如下所示:15 14 13 12 11 10 9 保存ECANENCLK保存MCBSPENCLKSCIBENCLKSCIAENCLK保存 8 7 4 3 2 1 0SPIENCLK保存ADCENCLK保存EVBENCLKEVAENCLK 对PCLKCR中各种外设时钟有了根本的了解后,则终究是如何对工程中所需要的各个外设的时钟进展使能的呢?假设要做的工程中用到了EVA、SCIB、SPI、AD这4个外设,则就需要按照下面的程序对这4个外设进展时钟的使能。使能外设时钟ENCLK=1;SysCtrl
8、Regs.PCLKCR.bit.SCIBENCLK=1;SysCtrlRegs.PCLKCR.bit.SPIENCLK=1;SysCtrlRegs.PCLKCR.bit.ADCENCLK=1; 从图2中也能看到,SYSCLKOUT信号经过低速外设时钟预定标存放器LOSPCP取值围07,即000111变成了LSPCLK,提供应低速外设SCIA、SCIB、SPI、McBSP;SYSCLKOUT信号经过高速外设时钟预定标存放器HISPCP取值围07,即000111变成了HSPCLK,提供应高速外设EVA、EVB、ADC。他们各位的分配如下:高速外设时钟设置存放器HISPCP15 3 2 0保存HSP
9、CLK低速外设时钟设置存放器LOSPCP15 3 2 0保存LSPCLK 在各个外设实际使用时钟的时候,LSPCLK或者HSPCLK需要经过各个外设自己的时钟预定标,如果外设自己的时钟预定标位的值为0的话,则外设实际使用的时钟就是LSPCLK或者HSPCLK。LSPCLK计算公式LOSPCP=0,LSPCLK=SYSCLKOUTLOSPCP=17,LSPCLK=SYSCLKOUT/2*LOSPCPHSPCLK计算公式HOSPCP=0,HSPCLK=SYSCLKOUTHOSPCP=17,HSPCLK=SYSCLKOUT/2*HISPCP 通过上面的2个计算公式,可能会产生疑问,LSPCLK的值有
10、没有可能会比HSPCLK的值大?也就是说提供应低速外设的时钟频率反而比提供应高速外设的时钟频率来的快?从上面的LSPCLK和HSPCLK的计算公式可以看出,这两个时钟信号的频率是独立无关的,各自分别取决于LOSPCP或者HISPCP的值,和其他因素没有关系。当我们给LOSPCP存放器所赋的值小于给HISPCP存放器所赋的值时,LOSPCP的值就会大于HSPCP的值。虽然这完全取决于我们对于存放器的初始化,但是一般情况下,也不会让这样的情况出现的,因为低速外设所需要的时钟毕竟要比高速外设所需要的时钟慢些,否则就没有必要区分上下速了,当然这些定义也都是相对而言的。3、看门狗Watch Dog 在学
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- F2812 时钟 控制系统
链接地址:https://www.31ppt.com/p-1090608.html