TMS320X2812的资源、性能
TMS320X2812是TI公司推出的32位定点DSP芯片,采用了先进的哈佛总线架构,其不但具有强大的数字信号处理能力,而且还有较为完善的事件管理器功能和嵌入式控制功能,主频高达150MHz,因此广泛应用于工业控制等领域
TMS320X2812系统时钟配置
片内振荡器电路使用X1/XCLKIN和X2引脚将晶振连接到F281x和C281x器件。 如果不使用晶振,则可以将外部振荡器直接连接到X1/XCLKIN引脚,并使X2引脚保持未连接状态。 在这种情况下,逻辑高电平不应超过VDD。 通过PLLCR位[3:0]设置时钟比率
OSC和PLL块
PLLCR寄存器
配置详解
通过上面的时钟框图和PLLCR寄存器位定义表我们可以轻易得出TMS320X2812系统时钟配置方法如下:
Here is an example of application:
/**
* @brief 对2812的系统控制寄存器进行初始化配置
*
* @note None
* @retval None
*/
void Init_System(void)
{
volatile Uint16 iVol;
/*
* TI的DSP为了提高安全性能,将很多关键寄存器作了保护处理。
* 通过状态寄存器1(ST1)的位6设置与复位,来决定是否允许
* DSP指令对关键寄存器进行操作。这些关键寄存器包括:器件
* 仿真寄存器、FLASH寄存器、CSM寄存器、PIE矢量表、系统控
* 制寄存器、GPIOMux寄存器、eCAN寄存器的一部分。DSP由于
* 在上电复位之后,状态寄存器基本上都是清零,而这样的状态
* 下正是上述特殊寄存器禁止改写的状态。为了能够对这些特殊
* 寄存器进行初始化,所以在对上述特殊寄存器进行改写之前,
* 一定要执行汇编指令asm(“EALLOW”)或者宏定义EALLOW来设
* 置状态寄存器1的C6位,在设置完寄存器之后,一定要注意执
* 行汇编指令asm(“EDIS”)或者宏定义EDIS来清除状态寄存器
* 1的C6位。*/
EALLOW; //解锁相关寄存器使之进入可配置状态
SysCtrlRegs.WDCR = 0x0068; //禁止看门狗模块
SysCtrlRegs.PLLCR.bit.DIV = 0xA; //初始化PLL模块,如果外部晶振为30MHz,则SYSCLKOUT = (OSCCLK ✖ 10) / 2 = 150MHz
for(iVol= 0; iVol< ( (131072/2)/12 ); iVol++){}; //短暂延时使得PLL模块能够完成初始化操作
/* 高速时钟预定标器和低速时钟预定标器,产生高速外设时钟HSPCLK和低速外设时钟LSPCLK */
SysCtrlRegs.HISPCP.all = 0x0001; //HSPCLK = 150MHz / 2 = 75MHz
SysCtrlRegs.LOSPCP.all = 0x0001; //LSPCLK = 150MHz / (2 + 2) = 37.5MHz
/* 对工程中使用到的外设进行时钟使能 */
/* SysCtrlRegs.PCLKCR.bit.ADCENCLK = 1; //ADC模块时钟使能*/
SysCtrlRegs.PCLKCR.all = 0x0; //关闭所有外设时钟
EDIS; //结束配置
}
系统时钟配置计算公式
通过上面的方法我们最终可以得出系统时钟配置的计算公式如下: