X281x时钟与系统控制.pptVIP

  • 12
  • 0
  • 约5.21千字
  • 约 41页
  • 2021-11-19 发布于广东
  • 举报
总结: F2812的片内外设根据对时钟速率的不同要求被区分为高速时钟外设和低速时钟外设,其中高速时钟外设主要指EVA、EVB和ADC,而低速时钟外设则包括SCIA、SCIB、SPI和McBSP。 F2812专门设置了高速时钟预定标器和低速时钟预定标器,用于对SYSCLKOUT进行分频控制,从而实现对高速外设工作时钟HSPCLK和低速外设时钟LSPCLK的配置。 另外,提供给各个外设单元的SYSCLKOUT时钟还可以通过一个全局寄存器——外设时钟控制寄存器(PCLKCR)对应位的配置被使能或禁止。 8.1.3 X2812中各种时钟信号的产生 注意: 1. 在通过软件改变系统的工作频率时,必须等待系统时钟稳定后才可以继续完成其他操作。 2. 可以通过外设时钟控制寄存器使能外设时钟。 在具体的应用中。为降低系统功耗,不使用的外设最好将其时钟禁止。外设时钟包括高速外设和低速外设两种,分别通过HISPCP和LOSPCP寄存器进行设置。 8.1.3 X2812中各种时钟信号的产生 寄存器 地址 长度 (×16位) 描述 PLLCR 0x7021 1 PLL控制寄存器 PCLKCR 0x701C 1 外设模块时钟控制寄存器(外设时钟使能寄存器) HISPCP 0x701A 1 HSPCLK时钟的高速外设模块时钟预分频寄存器 LOSPCP 0x701B 1 LSPCLK时钟的低速外设模块时钟预分频寄存器 系统控制寄存器结构体文件 SysCtrlRegs 8.1.4 时钟单元寄存器 SCSR 0x7022 1 系统控制状态寄存器 WDCNTR 0x7023 1 程序监视器计数寄存器 WDKEY 0x7025 1 程序监视器复位密钥寄存器 WDCR 0x7029 1 程序监视器控制寄存器 表中所有寄存器只有在执行EALLOW指令后,才可以访问。 8.1.4 时钟单元寄存器 问 题 如果要使系统时钟为输入时钟的4倍频,同时使能所有的外设时钟(高速),将高速外设的时钟设置为系统时钟的1/8,低速外设的时钟设置为系统时钟的1/10,应该如何设置相关的寄存器? void InitPll(Uint16 val) { volatile Uint16 i; if (SysCtrlRegs.PLLCR.bit.DIV!=val)//锁相环控制寄存器 { EALLOW; SysCtrlRegs.PLLCR.bit.DIV=val; EDIS; //在锁相环时钟频率切换过程中,只有当锁相环稳定后CPU才会切换到新的PLL设置,因此在设置完PLLCR后需要等待PLL稳定。 //初始化锁相环及外设时钟函数InitPll 改变锁相环倍频系数和外设时钟的具体应用程序 DisableDog( ); for(i=0; i5000;i++) { } } } //外设时钟控制寄存器,为降低系统功耗,不使用的外设时钟需要屏蔽。但如果使用外设必须首先使能相应的外设时钟 void InitPeripheralClocks(void) { EALLOW; // HISPCP/LOSPCP预定标寄存器设置 SysCtrlRegs.HISPCP.a11=0x0001; SysCtrlRegs.LOSPCP.a11=0x0002; //使能使用的外设时钟 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; SysCtrlRegs.PCLKCR.bit.ADCEtTCLK=1; EDIS; } 对于可靠性要求较高的系统,必须能够在没有人为干预的情况下,自动从故障状态恢复运行,尤其是在诸如工业控制、汽车、机器人等系统尤为重要。有效的措施就是采用看门狗电路。 看门狗主要用来检测软件和硬件的运行状态,实际上看门狗就是一个计数器,其需要在一定的周期内计数器被清零,否则计数器会溢出,产生一个系统复位信号,或建立一个非屏蔽中断(NMI)并执行恢复子程序。

文档评论(0)

1亿VIP精品文档

相关文档