TMS320X281x介绍与系统时钟配置

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36788698/article/details/84563895

TMS320X2812的资源、性能


TMS320X2812是TI公司推出的32位定点DSP芯片,采用了先进的哈佛总线架构,其不但具有强大的数字信号处理能力,而且还有较为完善的事件管理器功能和嵌入式控制功能,主频高达150MHz,因此广泛应用于工业控制等领域
特性1
特性2
功能概述

TMS320X2812系统时钟配置


片内振荡器电路使用X1/XCLKIN和X2引脚将晶振连接到F281x和C281x器件。 如果不使用晶振,则可以将外部振荡器直接连接到X1/XCLKIN引脚,并使X2引脚保持未连接状态。 在这种情况下,逻辑高电平不应超过VDD。 通过PLLCR位[3:0]设置时钟比率

OSC和PLL块

OSC+PLL框图

PLLCR寄存器

PLLCR寄存器
PLLCR_DIV

配置详解

通过上面的时钟框图和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;					//结束配置
}

系统时钟配置计算公式

通过上面的方法我们最终可以得出系统时钟配置的计算公式如下:
6

猜你喜欢

转载自blog.csdn.net/qq_36788698/article/details/84563895