智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 3610|回复: 22
打印 上一主题 下一主题

xs128的锁相环设置

  [复制链接]

8

主题

58

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1175
威望
596
贡献
363
兑换币
353
注册时间
2013-7-16
在线时间
108 小时
跳转到指定楼层
1#
发表于 2013-11-23 17:47:41 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
void SetBusClock(void)
{   
                              //函数作用:设置总线时钟

    CLKSEL=0X00;                              //disengage PLL to system
    PLLCTL_PLLON=1;                           //turn on PLL
    SYNR =0xc0 | 0x09;     // Fvco=2*osc*(1+SYNRDIV)/(1+REFDIV)   c0=11000000   09= 00001001  11001001
                           //Fpll=Fvco/(2*POSTDIV) Fbus=Fpll/2     80=10000000  01=00000001   10000001
    REFDV=0x80 | 0x01;
    POSTDIV=0x00;              //pllclock=2*osc*(1+SYNRDIV)/(1+REFDIV)=160MHz;
    _asm(nop);                 //BUS CLOCK=80M
    _asm(nop);
    while(!(CRGFLG_LOCK==1));         //when pll is steady ,then use it;
    CLKSEL_PLLSEL =1;                       //engage PLL to system;
    PLLCTL_PCE=1;  
             
} 程序里面的160M怎么计算出来的

9

主题

108

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1118

优秀会员奖章活跃会员奖章

威望
582
贡献
334
兑换币
333
注册时间
2013-10-15
在线时间
101 小时
23#
发表于 2013-11-30 14:54:30 | 只看该作者
回复 支持 反对

使用道具 举报

1

主题

258

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2019
威望
967
贡献
556
兑换币
123
注册时间
2012-2-9
在线时间
248 小时
22#
发表于 2013-11-30 14:21:55 | 只看该作者
倾城☆北辰★强 发表于 2013-11-24 08:56
REFDIV和REFDV是什么关系啊??

这是看的参考手册,很清楚的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

21

主题

896

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4068
威望
2252
贡献
1296
兑换币
1483
注册时间
2012-7-30
在线时间
260 小时
毕业学校
克莱德大学
21#
发表于 2013-11-24 21:36:28 | 只看该作者
倾城☆北辰★强 发表于 2013-11-23 19:27
我用十进制计算的话SYNR=OXC9=十进制的201;REFDV=OX81=129
这样算的话pllclock=2*16*(1+201)/(1+129)=49 ...

计算结果跟进制完全没有关系,
例如(。。。)这么多个句号,加上,(。。。。)这么多个句号,
一定等于(。。。。。。。)这么多个句号。
用十进制写就是3+4==7
用二进制写就是11+100=111
回复 支持 反对

使用道具 举报

2

主题

62

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1002
威望
512
贡献
296
兑换币
346
注册时间
2013-10-7
在线时间
97 小时
20#
发表于 2013-11-24 13:30:00 | 只看该作者
回复 支持 反对

使用道具 举报

16

主题

1510

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
5586

论坛元老奖章在线王奖章活跃会员奖章优秀会员奖章

QQ
威望
2953
贡献
1231
兑换币
29
注册时间
2012-6-2
在线时间
702 小时
19#
发表于 2013-11-24 11:54:40 | 只看该作者
倾城☆北辰★强 发表于 2013-11-24 08:58
我想知道具体怎么计算出来的,公式对应的值是多少

2*16*(9+1)/(1+1)
回复 支持 反对

使用道具 举报

16

主题

1510

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
5586

论坛元老奖章在线王奖章活跃会员奖章优秀会员奖章

QQ
威望
2953
贡献
1231
兑换币
29
注册时间
2012-6-2
在线时间
702 小时
18#
发表于 2013-11-24 11:53:18 | 只看该作者
ludlee 发表于 2013-11-24 11:52
不对,记得高位算是频率段选项,低位是基数

2*16*(9+1)/(1+1)
回复 支持 反对

使用道具 举报

16

主题

1510

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
5586

论坛元老奖章在线王奖章活跃会员奖章优秀会员奖章

QQ
威望
2953
贡献
1231
兑换币
29
注册时间
2012-6-2
在线时间
702 小时
17#
发表于 2013-11-24 11:52:28 | 只看该作者
倾城☆北辰★强 发表于 2013-11-23 19:27
我用十进制计算的话SYNR=OXC9=十进制的201;REFDV=OX81=129
这样算的话pllclock=2*16*(1+201)/(1+129)=49 ...

不对,记得高位算是频率段选项,低位是基数
回复 支持 反对

使用道具 举报

8

主题

58

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1175
威望
596
贡献
363
兑换币
353
注册时间
2013-7-16
在线时间
108 小时
16#
 楼主| 发表于 2013-11-24 11:41:39 | 只看该作者
update 发表于 2013-11-24 10:49
这个里面SYNR和REFDV两个寄存器的最高两位,是用来设置频率范围的,有计算的时候是取前六位,数据手册上讲的 ...

嗯嗯,知道了,谢谢
回复 支持 反对

使用道具 举报

8

主题

58

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1175
威望
596
贡献
363
兑换币
353
注册时间
2013-7-16
在线时间
108 小时
15#
 楼主| 发表于 2013-11-24 11:41:15 | 只看该作者
小杨木叶 发表于 2013-11-24 10:14
在设定PLL陪频时,寄存器SYNR的低五位时有效的,寄存器REVDV也是低五位有效。而外部晶振是16MHZ,所以160 ...

ok!谢谢啊
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-27 04:43 , Processed in 0.057908 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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