飞思卡尔mc9s12x128之锁相环PLL

上传人:飞*** 文档编号:54285912 上传时间:2018-09-10 格式:PDF 页数:5 大小:65.37KB
返回 下载 相关 举报
飞思卡尔mc9s12x128之锁相环PLL_第1页
第1页 / 共5页
飞思卡尔mc9s12x128之锁相环PLL_第2页
第2页 / 共5页
飞思卡尔mc9s12x128之锁相环PLL_第3页
第3页 / 共5页
飞思卡尔mc9s12x128之锁相环PLL_第4页
第4页 / 共5页
飞思卡尔mc9s12x128之锁相环PLL_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《飞思卡尔mc9s12x128之锁相环PLL》由会员分享,可在线阅读,更多相关《飞思卡尔mc9s12x128之锁相环PLL(5页珍藏版)》请在金锄头文库上搜索。

1、通过设置 XS128 的锁相环,可以方便改变内部总线频率,轻松实现超频。下面是16MHz120MHz的设置函数,后面有各寄存器用法。void SetBusCLK_16M(void) CLKSEL=0X00; PLLCTL_PLLON=1; SYNR=0x00 | 0x01; REFDV=0x80 | 0x01; POSTDIV=0x00; _asm(nop); _asm(nop); while(!(CRGFLG_LOCK=1); CLKSEL_PLLSEL =1; void SetBusCLK_32M(void) CLKSEL=0X00; PLLCTL_PLLON=1; SYNR =0x40

2、| 0x03; REFDV=0x80 | 0x01; POSTDIV=0x00; _asm(nop); _asm(nop); while(!(CRGFLG_LOCK=1); CLKSEL_PLLSEL =1; void SetBusCLK_40M(void) CLKSEL=0X00; PLLCTL_PLLON=1; SYNR =0xc0 | 0x04; REFDV=0x80 | 0x01; POSTDIV=0x00; _asm(nop); _asm(nop); while(!(CRGFLG_LOCK=1); CLKSEL_PLLSEL =1; void SetBusCLK_48M(void)

3、CLKSEL=0X00; PLLCTL_PLLON=1; SYNR =0xc0 | 0x05; REFDV=0x80 | 0x01; POSTDIV=0x00; _asm(nop); _asm(nop); while(!(CRGFLG_LOCK=1); CLKSEL_PLLSEL =1; void SetBusCLK_64M(void) CLKSEL=0X00; PLLCTL_PLLON=1; SYNR =0xc0 | 0x07; REFDV=0x80 | 0x01; POSTDIV=0x00; _asm(nop); _asm(nop); while(!(CRGFLG_LOCK=1); CLK

4、SEL_PLLSEL =1; void SetBusCLK_80M(void) CLKSEL=0X00; PLLCTL_PLLON=1; SYNR =0xc0 | 0x09; REFDV=0x80 | 0x01; POSTDIV=0x00; _asm(nop); _asm(nop); while(!(CRGFLG_LOCK=1); CLKSEL_PLLSEL =1; void SetBusCLK_88M(void) CLKSEL=0X00; PLLCTL_PLLON=1; SYNR =0xc0 | 0x0a; REFDV=0x80 | 0x01; POSTDIV=0x00; _asm(nop)

5、; _asm(nop); while(!(CRGFLG_LOCK=1); CLKSEL_PLLSEL =1; void SetBusCLK_96M(void) CLKSEL=0X00; PLLCTL_PLLON=1; SYNR =0xc0 | 0x0b; REFDV=0x80 | 0x01; POSTDIV=0x00; _asm(nop); _asm(nop); while(!(CRGFLG_LOCK=1); CLKSEL_PLLSEL =1; void SetBusCLK_104M(void) CLKSEL=0X00; PLLCTL_PLLON=1; SYNR =0xc0 | 0x0c; R

6、EFDV=0x80 | 0x01; POSTDIV=0x00; _asm(nop); _asm(nop); while(!(CRGFLG_LOCK=1); CLKSEL_PLLSEL =1; void SetBusCLK_120M(void) CLKSEL=0X00; PLLCTL_PLLON=1; SYNR =0xc0 | 0x0d; REFDV=0x80 | 0x01; POSTDIV=0x00; _asm(nop); _asm(nop); while(!(CRGFLG_LOCK=1); CLKSEL_PLLSEL =1; S12XECRG Clock Select Register (C

7、LKSEL ) 先把第 7 位置 0,即 PLLSEL 0,System clocks are derived from OSCCLK(fbus=fosc/2) 即系统总线时钟由提供外部晶振提供,系统内部总线频率=OSCCLK/2 (OSCCLK为外部晶振频率)当 PLLSEL 1 时, System clocks are derived from PLLCLK(fBUS = fPLL / 2) 即系统总线时钟由锁相环提供,系统内部总线频率=PLLCLK/2 (PLLCLK 为锁相环倍频后的频率)。S12XECRG IPLL Control Register (PLLCTL ) PLLCTL_

8、PLLON=1时, IPLL is turned on,即打开 PLL 电路S12XECRG Synthesizer Register (SYNR ) S12XECRG Reference Divider Register (REFDV ) 根据想要的时钟频率设置SYNR 和 REFDV 两个寄存器,只有当CLKSEL_PLLSEL=0时才能写入S12XECRG Post Divider Register (POSTDIV ) If POSTDIV = $00 then fPLL is identical to fVCO (divide by one). 即此时 PLLCLK=2*OSCCLK

9、*(SYNR+1)/(REFDV+1) PLLCLK 为 PLL 模块输出的时钟频率; OSCCLK 为晶振频率;SYNR 、 REFDV 分别为寄存器SYNR 、 REFDV中的值。S12XECRG Flags Register (CRGFLG ) LOCK 为只读位0 VCOCLK is not within the desired tolerance of the target frequen 1 VCOCLK is within the desired tolerance of the target frequency.即当 PLL 稳定时置 LOCK 1 要想知道其他位的用法,请参考XS128 的 datasheet ,或留言。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 其它考试类文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号