TMS320F28335时钟及控制系统

tech2026-04-07  1

TMS320F28335系统时钟来源

TMS320F28335系统时钟有两种,一种是外部时钟,另一种是内部时钟。

外部时钟源电压为3.3V时,芯片与信号源的连接方式如下: 外部时钟源电压为1.9V时,芯片与信号源的连接方式如下: 通常我们使用30Mhz的晶振连接至X1、X2,XCLKIN接地。 30Mhz的信号经过10倍频在2分频后变为150Mhz作为系统时钟。

PLL(锁相环)配置模式

一共有三种模式分别为: PLL Off 、PLL Bypass、PLL Enabled PLL Off:由用户设置PLLSTS寄存器的PLLOFF位来调用。在此模式中,锁相环模块被禁用。这样做能有效减小系统噪声并有利于减小系统功耗。 PLL Bypass:在DSP上电后或一个外部重启后,PLL Bypass是PLL模块的默认配置。当PLLCR寄存器置为0x0000或PLLCR寄存器修改完成后PLL设定到新频率时,PLL配置为PLL Bypass模式。在此模式里,PLL本身被旁路而PLL并没有关闭。 PLL Enabled:向PLLCR寄存器写入一个非零的值后生效,当正在向PLLCR寄存器写入时,系统将会切换至旁路状态直到PLL模块频率稳定。

相关寄存器介绍

PLL Control (PLLCR) Register PLL控制寄存器 其4-15位保留(没有用),其0-3位为锁相环倍频倍数,例如其设置为1010,VCOCLK的频率为OSCCLK的10倍。

PLL Status Register (PLLSTS)

其中第9位至第15位为保留(没有用,不用管),第7至第8位为分频系数位DIVSEL 当DIVSEL为00、01时 CLKIN是由前一级四分频得来的; 当DIVSEL为10时 CLKIN是由前一级二分频得来的; 当DIVSEL为11时 CLKIN是由前一级一分频得来的。

时钟配置流程图

开始 >检查PLLSTS寄存器的[MCLKSTS]位,如果该位为1,不要向PLLCR寄存器写入任何内容。如果是否的话,将PLLSTS[DIVSEL] 置0(初始化)> 将PLLSTS[MCLKOFF] 置1(关闭晶振故障检测模式)> 赋给PLLCR寄存器新的值 >检测PLLSTS[PLLLOCKS] 是否为1(PLLCR有没有配置完成)>如果不是,继续等待,如果是,重新将PLL[MCLKOFF] 置零来打开晶振故障检测>如果需要的话,此时就可以通过改变PLLSTS [DIVSEL]的值来改变分频系数了。

代码解读

以下为TI官方提供的例程: 检测时钟信号是否缺失,如果缺失了,系统断电,dsp停止运行。 asm(" ESTOP0");是汇编语言,其含义是断电,停止运行。 初始化,把PLLSTS[DIVSEL] 置0。

关闭晶振故障检测,设置PLL模块倍频系数。

PLLCR寄存器配置完了么?没配置完就继续等,配置完了就继续往下走并重新开启晶振故障检测。 把分频系数赋给PLLSTS[DIVSEL] 位。

时钟系统的初始化到这里就结束了。。。

最新回复(0)