牛卧堂MCU技术交流
标题:
关于PLL问题
[打印本页]
作者:
zhjb1
时间:
2014-4-23 15:45
标题:
关于PLL问题
本帖最后由 zhjb1 于 2014-4-23 22:30 编辑
最近用到再用单片机超频的方法来检验一些可能性.M051 的手册看了半天没有弄明白其超频的原理,也许是32位的寄存器看起来比那些8,12,14,16位的复杂一点.能否有一个比较简单的公式,里面的就是标准函数得到的结果就是系统超频.其它的只需要设置一些相关的寄存器和Config就可以了的.
我也在对照Datasheet琢磨此问题.
先谢谢了
我可以将我看了手册后的体会先说一下以便能够快的进入问题:
PLL时钟=FINx(NF/NR)x(1/NO)
里面只有3个参数:基频FIN,4种中的1个,NF输入分频比,NR环行器分频比
这3个值可以在PLLCON寄存器种对应找到.
Datasheet上有1个例子:
FIN = 12 MHz=外部晶振
NR = (1+2) = 3
NF = (46+2) = 48
NO = 4
FOUT = 12/4 x 48 x 1/3 = 48 MHz
对应的PLLCON=0xC22E,我按照此方法外接12MHz晶振完成后的系统频率与RC振荡器的22MHz相近,没有测知是看LCD刷屏速度;
但我将外接晶振换成25MHz的,到明显看到刷屏速度高了差不多1倍左右.
因此还是没有理解PLLCON以及PLL的设置规律.
谢谢指教
经过一下午的研究,M05xx的PLL问题已经解决了,可以超到我想要的频率了按照计算我已经超到66MHz还没有宕机,SMART旗舰板上说慎用72MHz,所以我就没有再向上超了.
冒着烧坏的风险,我从3MHz一直运行到120MHz,在超过80MHz时间都比较短,不超过十几秒.测试程序是1片3.0TFTLCD写屏和清屏,写[满屏填充ASCII码和汉字]和清[成为随机单色]1次,但达到80MHz以上后,好像提高的不明显,只有大约3次~4次的清和写,32MHz时,差不多1秒钟完成写和清,可以看出写毕清慢点,到60MHz以上就分不清楚写和清哪个快了.
看来玩这些东西必须有Datasheet+例程结合看+实验容易理解;理解后自己改动一下就Ok了.
作者:
zhjb1
时间:
2014-4-24 14:58
本帖最后由 zhjb1 于 2014-4-24 15:00 编辑
实际上我采用的方式是寄存器写方式,PLLCON的32位寄存器中,高12位为保留,19[FIN]外晶振/内震荡选择;18~16[PLL?]要用PLL都为0;15:14[NO]是输出分频,00=1,01|10=2,11=4;13:9[NR+2]输入分频,为此数+2,为了好计算,将它固定为2的整倍数;8:0[NF]是反馈分频,此数就是输出实际频率的倍率.
由手册:Fout=Fin*[1/N0]*[NF/NR]
如果Fin用12MHz晶体,那么N0取2,NR取4=6;Fout=1*NF
只要确定NF的数值,写入PLLCON就可以了
按照现在我的理解和实践,已经可以从EXT或22.1148MHz得到任意的System Clock.
想想是吗?
欢迎光临 牛卧堂MCU技术交流 (http://nuvoton-mcu.com/)
Powered by Discuz! X3.2