您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > 第8章-X281x的时钟和系统控制0403
曲阜师范大学电气信息与自动化学院DSP应用技术1第8章X281x的时钟和系统控制曲阜师范大学电气信息与自动化学院DSP应用技术2DSPTMS320F2812内部结构CPU外设存储器系统控制外部接口GPIO曲阜师范大学电气信息与自动化学院DSP应用技术38.1时钟单元所有的数字电路尤其是带有CPU的数字系统,系统各单元都依靠时钟信号作为同步。每秒钟电路运行的操作次数决定于时钟频率,因此,时钟的运行频率被视为系统运行的重要性能指标,同时也是系统可靠运行的基础。在一个系统或CPU内部包含多个功能模块,每个功能模块都有自己适合的工作频率,为此,我们需要通过响应的时钟配置单元进行响应的设置,已达到提高系统性能,降低功耗的目的。曲阜师范大学电气信息与自动化学院DSP应用技术4TMS320F2812处理器内部集成了振荡器、锁相环、看门狗及工作模式选择等控制电路。振荡器、锁相环主要为处理器CPU及相关外设提供可编程的时钟,每个外设的时钟都可以通过相应的寄存器进行编程设置;看门狗可以监控程序的运行状态,提高系统的可靠性。8.1.1时钟单元基本结构曲阜师范大学电气信息与自动化学院DSP应用技术5F2812内部的各种时钟和复位电路PLL模块外部控制引脚。全局复位引脚。曲阜师范大学电气信息与自动化学院DSP应用技术6目前微处理器或DSP集成的片上锁相环,主要作用:通过软件实时地配置系统时钟和片上外设时钟,提高系统的灵活性和可靠性。降低系统对硬件的设计要求。采用软件可编程锁相环,所设计的系统处理器外部允许较低的工作频率,而片内经过锁相环微处理器提供较高的系统时钟。8.1.2锁相环电路锁相环是一种控制晶振使其相对于参考信号保持恒定相位的电路,在数字通信系统中使用比较广泛。曲阜师范大学电气信息与自动化学院DSP应用技术7TMS320F2812处理器的片上晶振和锁相环模块为内核及外设提供时钟信号,并且控制器件的低功耗工作模式。片上晶振模块允许使用2种方式为器件提供时钟,即采用内部振荡器或外部时钟源。8.1.2锁相环电路(1)使用内部振荡器,在Xl/XCLKIN和X2这两个引脚之间连接一个石英晶体,一般选用30MHz。曲阜师范大学电气信息与自动化学院DSP应用技术8(2)采用外部时钟,将输入的时钟信号直接接到Xl/XCLKIN引脚上,而X2悬空,不使用内部振荡器。8.1.2锁相环电路外部时钟源可以采用频率稳定的晶体振荡器,具有使用方便,价格便宜,因而得到广泛应用。曲阜师范大学电气信息与自动化学院DSP应用技术9全局复位引脚,低电平实现对CPU以及所有外设的复位。PLL模块外部控制引脚。晶体振荡器及锁相环模块锁相环控制寄存器PLLCR的DIV位决定8.1.2锁相环电路曲阜师范大学电气信息与自动化学院DSP应用技术10PLL模式说明SYSCLKOUT/CLKIN禁止引脚置低来进入该模式,PLL模块完全不使能。此时,输入CPU的时钟由来自X1/XCLKIN引脚的时钟信号直接去驱动。XCLKIN旁路如果PLL未处于不使能的状态,这是上电默认的PLL配置(PLLCR的值为0)。PLL自身被旁路,从X1/XCLKIN引脚输入的时钟信号先被/2,然后再送去CPU。XCLKIN/2使能通过给PLLCR寄存器写一个不为0的值来实现PLL的使能,时钟信号需要进入PLL模块进行n倍频,然后再被/2,最后送至CPU。(XCLKIN*n)/28.1.2锁相环电路曲阜师范大学电气信息与自动化学院DSP应用技术1115430ReservedDIVR-0R/W-0位15~4Reserved保留位锁相环控制寄存器PLLCR8.1.2锁相环电路曲阜师范大学电气信息与自动化学院DSP应用技术12位3~0DIVDIV位域控制是否旁路,不旁路时,用于设置PLL时钟比率。0000CLKIN=OSCCLK/2(PLL旁路)0001CLKIN=(OSCCLK*1.0)/20010CLKIN=(OSCCLK*2.0)/20011CLKIN=(OSCCLK*3.0)/20100CLKIN=(OSCCLK*4.0)/20101CLKIN=(OSCCLK*5.0)/20110CLKIN=(OSCCLK*8.0)/20111CLKIN=(OSCCLK*7.0)/21000CLKIN=(OSCCLK*8.0)/21001CLKIN=(OSCCLK*9.0)/21010CLKIN=(OSCCLK*10.0)/28.1.2锁相环电路曲阜师范大学电气信息与自动化学院DSP应用技术13我们平常使用的是第3种方式,即PLL使能。晶振为30M,如何设置PLLCR使得,系统时钟频率为150MHz。晶振为30M,PLLCR的DIV位被设置成1010时的时钟频率CLKIN=(OSCLKIN*10)/2=(XCLKIN*10)/2=(30M*10)/2=150MHz8.1.2锁相环电路曲阜师范大学电气信息与自动化学院DSP应用技术14在使用F2812进行开发的时候,通常会用到一些外设,例如SCI、EV、ADC等,要使得这些外设工作,首要的就是向其提供时钟信号。因此,在系统初始化的时候,就需要对使用到的各个外设的时钟进行使能,假设现在某个项目里用到了EVA、SCI和ADC这3个外设,那么就需要按照对这个3个外设进行时钟的使能。和时钟使能相关的寄存器是外设时钟控制寄存器PCLKCR。8.1.3X2812中各种时钟信号的产生曲阜师范大学电气信息与自动化学院DSP应用技术1515141312111098ReservedECANENCLKReservedMCBSPENCLKSCIBENCLKSCIAENCLKReservedSPIENCLK743210ReservedADCENCLKReservedEVBENCLKEVAENCLK外设时钟控制寄存器(PCLKCR)SysCtrlRegs.PCLKCR.bit.SCIENCLKA=1;//使能外设SCIA的时钟SysCtrlRegs.PCLKCR.bit.EVAENCLK=1;//使能外设EVA的时钟SysCtrlRegs.PCLKCR.bit.ADCENCLK=1;//使能外设ADC的时钟曲阜师范大学电气信息与自动化学院DSP应用技术16低速外设时钟预定标寄存器LOSPCP高速外设时钟预定标寄存器HISPCP8.1.3X2812中各种时钟信号的产生曲阜师范大学电气信息与自动化学院DSP应用技术17153210ReservedHSPCLKR-0R/W-001位15~3Reserved保留位高速外设时钟寄存器(HISPCP)曲阜师范大学电气信息与自动化学院DSP应用技术18位2~0HSPCLK配置与SYSCLKOUT相关的高速外设模块时钟(HSPCLK)频率。000高速时钟=SYSCLKOUT/1001高速时钟=SYSCLKOUT/2(复位值)010高速时钟=SYSCLKOUT/4011高速时钟=SYSCLKOUT/6100高速时钟=SYSCLKOUT/8101高速时钟=SYSCLKOUT/10110高速时钟=SYSCLKOUT/12111高速时钟=SYSCLKOUT/14曲阜师范大学电气信息与自动化学院DSP应用技术19153210ReservedLSPCLKR-0R/W-010位15~3Reserved保留位低速时钟寄存器(LOSPCP)曲阜师范大学电气信息与自动化学院DSP应用技术20位2~0LSPCLK配置与SYSCLKOUT相关的低速外设模块时钟(LSPCLK)频率。000低速时钟=SYSCLKOUT/1001低速时钟=SYSCLKOUT/2010低速时钟=SYSCLKOUT/4(复位值)011低速时钟=SYSCLKOUT/6100低速时钟=SYSCLKOUT/8101低速时钟=SYSCLKOUT/10110低速时钟=SYSCLKOUT/12111低速时钟=SYSCLKOUT/14曲阜师范大学电气信息与自动化学院DSP应用技术21总结:F2812的片内外设根据对时钟速率的不同要求被区分为高速时钟外设和低速时钟外设,其中高速时钟外设主要指EVA、EVB和ADC,而低速时钟外设则包括SCIA、SCIB、SPI和McBSP。F2812专门设置了高速时钟预定标器和低速时钟预定标器,用于对SYSCLKOUT进行分频控制,从而实现对高速外设工作时钟HSPCLK和低速外设时钟LSPCLK的配置。另外,提供给各个外设单元的SYSCLKOUT时钟还可以通过一个全局寄存器——外设时钟控制寄存器(PCLKCR)对应位的配置被使能或禁止。8.1.3X2812中各种时钟信号的产生曲阜师范大学电气信息与自动化学院DSP应用技术22注意:1.在通过软件改变系统的工作频率时,必须等待系统时钟稳定后才可以继续完成其他操作。2.可以通过外设时钟控制寄存器使能外设时钟。在具体的应用中。为降低系统功耗,不使用的外设最好将其时钟禁止。外设时钟包括高速外设和低速外设两种,分别通过HISPCP和LOSPCP寄存器进行设置。8.1.3X2812中各种时钟信号的产生曲阜师范大学电气信息与自动化学院DSP应用技术23寄存器地址长度(×16位)描述PLLCR0x70211PLL控制寄存器PCLKCR0x701C1外设模块时钟控制寄存器(外设时钟使能寄存器)HISPCP0x701A1HSPCLK时钟的高速外设模块时钟预分频寄存器LOSPCP0x701B1LSPCLK时钟的低速外设模块时钟预分频寄存器系统控制寄存器结构体文件SysCtrlRegs8.1.4时钟单元寄存器曲阜师范大学电气信息与自动化学院DSP应用技术24SCSR0x70221系统控制&状态寄存器WDCNTR0x70231程序监视器计数寄存器WDKEY0x70251程序监视器复位密钥寄存器WDCR0x70291程序监视器控制寄存器表中所有寄存器只有在执行EALLOW指令后,才可以访问。8.1.4时钟单元寄存器曲阜师范大学电气信息与自动化学院DSP应用技术25问题如果要使系统时钟为输入时钟的4倍频,同时使能所有的外设时钟(高速),将高速外设的时钟设置为系统时钟的1/8,低速外设的时钟设置为系统时钟的1/10,应该如何设置相关的寄存器?曲阜师范大学电气信息与自动化学院DSP应用技术26voidInitPll(Uint16val){volatileUint16i;if(SysCtrlRegs.PLLCR.bit.DIV!=val)//锁相环控制寄存器{EALLOW;SysCtrlRegs.PLLCR.bit.DIV=val;EDIS;//在锁相环时钟频率切换过程中,只有当锁相环稳定后CPU才会切换到新的PLL设置,因此在设置完PLLCR后需要等待PLL稳定。//初始化锁相环及外设时钟函数InitPll改变锁相环倍频系数和外设时钟的具体应用程序曲阜师范大学电气信息与自动化学院DSP应用技术27DisableDog();for(i=0;i5000;i++){}}}//外设时钟控制寄存器,为降低系统功耗,不使用的外设时钟需要屏蔽。但如果使用外设必须首先使能相应的外设时钟voidInitPeripheralClocks(void){EALLOW;//HISPCP/LOSPCP预定标寄存器设置SysCtrlRegs.HISPCP.a11=0x0001;SysCtrlRegs.LOSPCP.a11=0x0002;曲阜师范大学电气信息与自动化学院DSP应用技术28//使能使用的外设时钟SysCtrlRegs.PCLKCR.bit.EVAENCLK=1;SysCtrlRegs.PCLKCR.bit.EVBENCLK=1;SysCtrlRegs.PCLKCR.bit.SCIAENCLK=1;SysCtrlRegs.PCLKCR.bit.SCIBENCLK=1;SysCtrlRegs.PCLKCR.bit.MCBSPENCLR=1;SysCtrlRegs.PCLKCR.bit.SPIENCLK=1;SysCtrlRegs.PCLKCR.bit.ECANENCLR=1;SysCtrlR
本文标题:第8章-X281x的时钟和系统控制0403
链接地址:https://www.777doc.com/doc-4771196 .html