首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

如下S12X的PLL设置是否正确?

如下S12X的PLL设置是否正确?

main()函数中依此执行如下PLL设置命令:

DisableInterrupts ;
CLKSEL &= 0x7f;//set OSCCLK as sysclk
PLLCTL =PLLCTL&0x8F;//Disable PLL circuit
CRGINT &= 0xDF;
SYNR=3; //PLLCLK=2*16M*(1+SYNR)/(1+REFDV)
REFDV=3;
PLLCTL |= 0x70;//Enable PLL circuit
while(!(CRGFLG&0x08)); //PLLCLK is Locked already?
CLKSEL |= 0x80;//set PLLCLK as sysclk

硬件上已经将Vregen上拉,因此VDDPLL使用内部2.5V供电(已测电压正常),外接电容阻分别为0.47nF,4.7K,5nF(稳定度28ppm,抑制1.21),分频值SYNR=3,REFDV=3,外接16M晶振(22pf),并将PE7上拉。

现在情况是 while(!(CRGFLG&0x08)); //PLLCLK is Locked already? 无法跳出,即LOCK始终为0,不能正常锁住该倍频时钟。

有接触这方面的XDJM帮忙指点问题出在什么地方。

[此贴子已经被作者于2009-8-12 17:01:00编辑过]

返回列表