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

请教用PLL 倍频的问题

请教用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);这里停下来了
我不知道除了我上面的操作,还需要做什么来倍频吗?尤其是外部电路
另外我的那几个电容电阻虽然和文档上说的不太一样,但是我是和实验室以前别人这么接的,他的没有问题,我的就是不行
各位大哥给我看看啊,
其实地上本没有路,走的人多了也便成了路
你的晶振电路起振了吗?
海纳百川  有容乃大
我的晶振电路起振了,完全可以工作,就是倍频不行
走到那一步就停了
我现在把电容和电阻改到和文档上说的一样了,还是不行
不知道怎么回事
其实地上本没有路,走的人多了也便成了路
请问斑竹
http://bbs.eccn.com/dispbbs.asp?boardID=3&RootID=47837&ID=47837
这里你说的"在调试状态下,芯片只能采用外部的8M或4M时钟。当调试完成后,再改用PLL"
是什么意思
其实地上本没有路,走的人多了也便成了路
那是908的芯片,没有BDM模块,与你用的S12C32是不一样的。
将PLLCTL = 192改为PLLCTL = 224试试。
海纳百川  有容乃大
谢谢斑竹,还是不行
我觉得不是软件的问题,因为我把我的程序写到别人的片子里就行,而把别人的好用的倍频的程序写到我的片子里就是不行
其实地上本没有路,走的人多了也便成了路
那还是硬件的问题。仔细检查一下吧。
海纳百川  有容乃大
我今天才发现,我的晶振原来是有问题,我原先用的是24M的,后该4M,今天有改了个12M的,但是不管是多少M的,用PE设定的时候CPU那里必须设定为4M,这样才好用,否则定时器,PWM等全不对,但是,不管我接的是多少M的晶振,只要把CPU那设为4M,定时器,PWM,片内AD转换等全正确
不知道是什么原因,太奇怪了,各位路过的大哥给我看看啊
其实地上本没有路,走的人多了也便成了路
似乎你的外部时钟没起作用,只是内部振荡器在提供时钟。
海纳百川  有容乃大
好像是,那我该怎么解决呢?
除了晶振电路那里的22P,22P电容,10M电阻,12M晶振,还需要什么设定吗?比如某些端口的高低电平什么的吗?我把PE7拉为高电平了,PE5,PE6拉为低电平了,不知道对不对?
其实地上本没有路,走的人多了也便成了路
仔细检查一下晶振是否起振。也可以用外部时钟源试试。
海纳百川  有容乃大
谢谢斑竹,怎么检查晶振是否起振呢?
其实地上本没有路,走的人多了也便成了路
用示波器看。但需小心操作。
海纳百川  有容乃大
返回列表