智能车制作

标题: OSCCLK是外部晶振频率的一半?? [打印本页]

作者: wgggfiy    时间: 2009-4-18 07:30
标题: OSCCLK是外部晶振频率的一半??
里面各种时钟频率,花了一点时间仔细看了一下,
对时钟频率这一部分这是惟一的一个疑问了,希望高手帮忙解决,谢谢
作者: wgggfiy    时间: 2009-4-18 11:15
晕,大家帮帮忙啊,还有默认(复位)的时候,那个PLLSEL是1还是0啊??
作者: 跳跃的心    时间: 2009-5-18 20:02
没有啊,复位的时候是0,fosc=16m。
作者: qnbs1    时间: 2010-3-1 17:44
还是没解释 清楚
作者: qnbs1    时间: 2010-3-1 18:35
晶振是外部加入的时钟,系统内部有个锁相环可以倍频你的晶振频率。
倍数由SYNR和REFDV寄存器的值来控制


根据公式PLLCLK = 2 x OSCCLK x [SYNR + 1]/[REFDV + 1]
PLLCLK(锁相环频率)
OSCCLK(振荡器频率,即你的晶振)


而BUS CLOCK是由PLLCLK二分频得到的,即BUS CLOCK = PLLCLK/2

当你选择倍频时(PLLSEL=1),你的系统频率是等于锁相环频率(PLLCLK),

当你不选择倍频时(PLLSEL=0),你的系统频率是等于振荡器频率(OSCCLK),而你的总线频率(Bus Clock)是始终等于你系统频率的1/2
作者: cat888    时间: 2010-3-1 21:41
9s12xs128 :
fVCO= 2*fOSC ×(SYNDIV+1)/(REFDIV +1)
fPLL=fVCO/(2*POSTDIV)
fBUS=fPLL/2
如果 POSTDIV = $00 ,则 fPLL 等于 fVCO (divide by one).
作者: anjiayu    时间: 2010-3-5 09:04
学习了
作者: zhou040609    时间: 2010-3-5 12:45
使用16MHz晶振
设置
SYNDIV=0x04;
REFDIV =0x01;
总线频率为40MHz
作者: 浪淘沙    时间: 2010-3-15 20:44
回复 5# qnbs1


    很有用啊,谢谢了、、
作者: 桃园小七    时间: 2010-3-16 22:24
学习了  多谢多谢
作者: xiaohaipolang    时间: 2010-3-20 11:47
嘿  专业!
作者: xiaohaipolang    时间: 2010-3-20 11:47

作者: xiaohaipolang    时间: 2010-3-20 11:47

作者: 1160927    时间: 2010-5-1 21:54
学习中
作者: hefeixuexi    时间: 2010-12-9 21:00
好啊,谢谢了,终于明白了!
作者: shenghuojxz    时间: 2011-4-24 10:26
非常感谢lz,和回答的哥们!
作者: 路飞hxp    时间: 2011-5-21 12:00
有所收获,谢了
作者: xnhzl    时间: 2011-9-20 12:55
xiela
作者: 茕狼啸月    时间: 2011-10-2 16:10
回复 5# qnbs1


    新手求指教:

如你所说,BUS CLOCL=1/2的PLL CLOCK
              最后一句是  BUS CLOCK始终等于系统频率的一半
              那岂不是 PLL CLOCK的频率与系统频率一样吗?
              但是,系统频率不是由PLLSEL选择吗?


   我刚开始接触智能车,这些频率老搞不懂,请指教,谢谢啊
作者: bxsjc    时间: 2011-12-10 10:44
回复 6# cat888


    极端同意
作者: 卫鹏飞    时间: 2011-12-22 09:12
嗯,学习了。。。。
作者: 1174544639    时间: 2012-4-4 15:17
qnbs1 发表于 2010-3-1 18:35
晶振是外部加入的时钟,系统内部有个锁相环可以倍频你的晶振频率。
倍数由SYNR和REFDV寄存器的值来控制

...

那请问f(vco)是什么频率呢?

作者: 英超    时间: 2012-5-28 17:03
很清晰,谢谢!
作者: mmelodious    时间: 2012-11-12 19:34
pllsel复位后为0
作者: sqdzun@163.com    时间: 2012-12-23 20:37
qnbs1 发表于 2010-3-1 18:35
晶振是外部加入的时钟,系统内部有个锁相环可以倍频你的晶振频率。
倍数由SYNR和REFDV寄存器的值来控制

...

翻了40多页,就想搞清概念,终于让我看见了。。。
作者: regei    时间: 2013-10-13 04:10
qnbs1 发表于 2010-3-1 18:35
晶振是外部加入的时钟,系统内部有个锁相环可以倍频你的晶振频率。
倍数由SYNR和REFDV寄存器的值来控制

...

请问  锁相环频率于系统频率的关系是什么啊?
作者: 林JJ    时间: 2013-11-5 16:01
学习了,多谢
作者: 1355254869    时间: 2014-2-22 21:13
qnbs1 发表于 2010-3-1 18:35
晶振是外部加入的时钟,系统内部有个锁相环可以倍频你的晶振频率。
倍数由SYNR和REFDV寄存器的值来控制

...

XIEXIE LA
作者: 给我十年、、    时间: 2014-2-23 12:36
OSCCLK: 系统时钟,就是外部物理晶振提供的时钟。
PLLCLK: 锁相环时钟,系统时钟经过锁相环频率合成后的时钟。
          锁相环时钟由SYNR·REFDV·POSTDIV三个个寄存器设置。
           SYNR和REFDV两个寄存器专用于VOCCLK的频率计算,计算公式是:
               VOCCLK=2*OSCCLK*(SYNR+1)/(REFDV+1)
          POSTDIV寄存器用于PLLCLK频率的计算,计算公式是:
          PLLCLK=VOCCLK/(2*VOCCLK)
BUSCLK: 总线时钟,程序运行的时钟,总线时钟频率越高,程序运行的速度也越快。
当不使用锁相环时:BUSCLK= OSCCLK/2
当使用锁相环时:BUSCLK= PLLCLK/2
    
PLLSEL 是锁相环使能位 
PLLSEL=0时,系统时钟由外部晶振直接提供,系统内部总线频率=OSCCLK/2(OSCCLK为外部晶振频率)。CLKSEL_PLLSEL=1时,系统时钟由锁相环提供,此时系统内部总线频率=PLLCLK/2 (PLLCLK为锁相环倍频后的频率)
作者: 空有一人    时间: 2014-9-26 19:45
zhou040609 发表于 2010-3-5 12:45
使用16MHz晶振
设置
SYNDIV=0x04;

原来我一直都看错寄存器了,看了你这个“0x0”这一部分我才恍然大悟,原来计算的时候我一直都多加了几项,所以配出来的频率一直都是错的。
谢谢你了。





欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2