智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2689|回复: 2
打印 上一主题 下一主题

又见PLL

[复制链接]

26

主题

76

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1557

优秀会员奖章

威望
424
贡献
913
兑换币
60
注册时间
2008-10-21
在线时间
110 小时
跳转到指定楼层
1#
发表于 2010-6-2 18:36:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 k410533234 于 2010-6-2 18:38 编辑

那本绿色的书(就是薛涛等编的)上说
设置
REFDV=0x07;   
SYNR=0x53; //SYNR=19;(原书如此应该错了应该SYNR=0x13;吧)      表示时钟周期为80M 总线周期为40M      
但是根据
pllclock=2*osc*(1+SYNR)/(1+REFDV)算出不对啊
求正解

26

主题

76

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1557

优秀会员奖章

威望
424
贡献
913
兑换币
60
注册时间
2008-10-21
在线时间
110 小时
2#
 楼主| 发表于 2010-6-3 20:00:45 | 只看该作者
自我强顶
回复 支持 反对

使用道具 举报

9

主题

123

帖子

0

精华

常驻嘉宾

猫爸爸

Rank: 8Rank: 8

积分
3602
威望
1062
贡献
1380
兑换币
318
注册时间
2009-12-11
在线时间
580 小时
3#
发表于 2010-6-4 13:44:03 | 只看该作者
。。。什么点了,还在搞这个,别比赛了。
  1. /* PLL Clock setting 80MHz*/
  2. static void SetBusCLK(void)
  3. {   
  4.   CLKSEL=0X00;                                //disengage PLL to system
  5.   PLLCTL_PLLON=1;                        //turn on PLL

  6.   SYNR =0xc0 | 0x09;  //SYNR=9                       
  7.   REFDV=0x80 | 0x01;  //REFDV=1

  8.   POSTDIV=0x00;       //pllclock=2*osc*(1+SYNR)/(1+REFDV); 2*16*10/2=160
  9.   _asm(nop);          //BUS CLOCK=pllclock/2
  10.   _asm(nop);
  11.   while(!(CRGFLG_LOCK==1));          //when pll is steady ,then use it;
  12.   CLKSEL_PLLSEL =1;                        //engage PLL to system;
  13. }
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-28 12:57 , Processed in 0.058546 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表