怎样只用一个XT2晶振得到精确的高频----msp430f5529单片机

本文介绍了如何仅使用XT2晶振在msp430f5529单片机上设置精确的ACLK、SMCLK和MCLK。通过调整FLLREFCLK源为XT2CLK并计算合适的DCOCLK参数,实现了16MHz MCLK、8MHz SMCLK和32kHz ACLK。文中还提醒了在配置过程中不能开启XT1,并提供了验证过的程序代码。
摘要由CSDN通过智能技术生成

       最近在用msp430f5529,终于在上周弄清了时钟方面的原理,在此记录下,唔,这也是俺第一篇博客······

首先呢,我先插入它的原理框图

        从图中可以看出ACLK、SMCLK、MCLK都可以由XT1CLK/VLOCLK/REFOCLK/DCOCLK/DCOCLKDIV/XT2CLK得到,而TI例程里面给的大多是由FLLREFCLK倍频得到DCOCLK或DCOCLK,从而得到SMCLK和MCLK,而ACLK都是由XT1CLK或REFOCLK直接获得。例程里面的FLLREFCLK来源于XT1CLK或REFOCLK。所以例程里面得到的高频都是经过大的倍频得到,这里面有个弊端,就是如果你需要很精确的频率的话由大的倍频得到的频道误差大。

        这里呢我就讲下怎么只用一个高频晶振得到ACLK/SMCLK/MCLK,我得先抱怨下,不知道哪位前辈在网上说430单片机如果只用一个晶振的话只能用低频晶振,这个理论我纠结了很久,终于证明了是错的,至少在msp430f5529里面是错的。言归正传,我只用了XT2,没有用XT1。由XT2得到XT2CLK=4MHz,然后将XT2CLK作为FLLREFCLK的时钟源,也就是FLLREFCLK现在是4MHZ了,不是32khz了。通过下面的公式得到DCOCLK:

f(DCOCLK)=D*(N+1)*(f(FLLREFCLK)/n)

默认情况下,D=2,n=1,N是自己随意配置的整数。这里我要得到DCLCLK=16MHZ,我取的是D=16࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值