Board logo

标题: 请教用PLL 倍频的问题 [打印本页]

作者: brittany    时间: 2007-6-25 10:10     标题: 请教用PLL 倍频的问题

我用的片子是MC9S12C32,我的晶振是4M,想倍频到16M,XFC与VDDPLL之间的那两个电容和一个电阻我接了啊,接法也对啊,我用的是PE自动生成代码,在CPU那里也设定了,烧进去以后,走到 SYNR = 63; /* Set the multiplier register */
REFDV = 15; /* Set the divider register */
PLLCTL = 192;
PLLCTL_PLLON = 1; /* Enable the PLL */
while(!CRGFLG_LOCK); /* Wait*/
在while(!CRGFLG_LOCK);这里停下来了
我不知道除了我上面的操作,还需要做什么来倍频吗?尤其是外部电路
另外我的那几个电容电阻虽然和文档上说的不太一样,但是我是和实验室以前别人这么接的,他的没有问题,我的就是不行
各位大哥给我看看啊,
作者: strongchen    时间: 2007-6-25 10:15

你的晶振电路起振了吗?
作者: brittany    时间: 2007-6-25 10:35

我的晶振电路起振了,完全可以工作,就是倍频不行
走到那一步就停了
我现在把电容和电阻改到和文档上说的一样了,还是不行
不知道怎么回事
作者: brittany    时间: 2007-6-25 10:47

请问斑竹
http://bbs.eccn.com/dispbbs.asp?boardID=3&RootID=47837&ID=47837
这里你说的"在调试状态下,芯片只能采用外部的8M或4M时钟。当调试完成后,再改用PLL"
是什么意思
作者: strongchen    时间: 2007-6-25 11:01

那是908的芯片,没有BDM模块,与你用的S12C32是不一样的。
将PLLCTL = 192改为PLLCTL = 224试试。
作者: brittany    时间: 2007-6-25 11:08

谢谢斑竹,还是不行
我觉得不是软件的问题,因为我把我的程序写到别人的片子里就行,而把别人的好用的倍频的程序写到我的片子里就是不行
作者: strongchen    时间: 2007-6-25 11:10

那还是硬件的问题。仔细检查一下吧。
作者: brittany    时间: 2007-6-26 09:31

我今天才发现,我的晶振原来是有问题,我原先用的是24M的,后该4M,今天有改了个12M的,但是不管是多少M的,用PE设定的时候CPU那里必须设定为4M,这样才好用,否则定时器,PWM等全不对,但是,不管我接的是多少M的晶振,只要把CPU那设为4M,定时器,PWM,片内AD转换等全正确
不知道是什么原因,太奇怪了,各位路过的大哥给我看看啊
作者: strongchen    时间: 2007-6-26 09:45

似乎你的外部时钟没起作用,只是内部振荡器在提供时钟。
作者: brittany    时间: 2007-6-26 09:51

好像是,那我该怎么解决呢?
除了晶振电路那里的22P,22P电容,10M电阻,12M晶振,还需要什么设定吗?比如某些端口的高低电平什么的吗?我把PE7拉为高电平了,PE5,PE6拉为低电平了,不知道对不对?

作者: strongchen    时间: 2007-6-26 09:59

仔细检查一下晶振是否起振。也可以用外部时钟源试试。
作者: brittany    时间: 2007-6-26 10:01

谢谢斑竹,怎么检查晶振是否起振呢?
作者: strongchen    时间: 2007-6-26 10:11

用示波器看。但需小心操作。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0