TI中文支持网
TI专业的中文技术问题搜集分享网站

2808系统时钟问题

系统硬件采用20M的外部晶振,当我把程序烧写进flash后带着仿真器运行时发现CPU运行的系统时钟变快了一倍,即本来配置为系统运行时钟为100MHz,但实际运行却是200MHz;当我把仿真器断掉,重新给板子上电时,系统运行时钟又恢复成100MHz,请问为什么会出现这种情况?

Susan Yang:

请给出您的时钟配置代码,谢谢

,

dongsheng zhang:

void InitPll(Uint16 val)
{if (SysCtrlRegs.PLLSTS.bit.MCLKSTS != 1) // Make sure the PLL is not running in limp mode{if (SysCtrlRegs.PLLCR.bit.DIV != val){EALLOW;SysCtrlRegs.PLLSTS.bit.MCLKOFF = 1; // Before setting PLLCR turn off missing clock detectSysCtrlRegs.PLLCR.bit.DIV = val;EDIS;DisableDog();while(SysCtrlRegs.PLLSTS.bit.PLLLOCKS != 1){}EALLOW;SysCtrlRegs.PLLSTS.bit.MCLKOFF = 0;EDIS;}}
}
谢谢您的回答,上面是我的时钟配置代码,调用时输入的形参为10(即val = 10)。

,

Susan Yang:

根据数据手册,目前Device clock frequency (system clock), fSYSCLKOUT 最大为100Mhz

您是如何测量出200Mhz的呢?抱歉,由于该芯片型号有些老,手边没有对应的开发板,所以不太方便为您测试

,

dongsheng zhang:

我是通过PWM载波来测量的,例如我配置PWM4A输出的脉冲频率为10K,但是实际用示波器测量确是20K;当我把仿真器拔掉,然后重新上电测量脉冲频率变成了10K;

,

Susan Yang:

抱歉,之前漏掉了您的回复,请问您现在问题解决了没有?

,

da qin zheng sheng:

定时器试试

,

dongsheng zhang:

没有,带着仿真器跑的时候,有时候跑一段时间时钟频率又能恢复为正常。而拔掉仿真器后每次上电都是正常的。

,

dongsheng zhang:

怎么试?指点下,谢谢!

,

Susan Yang:

这现象确实很奇怪。目前没有什么特别的想法。建议您去英文E2E咨询下BU

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/ 

赞(0)
未经允许不得转载:TI中文支持网 » 2808系统时钟问题
分享到: 更多 (0)