MSP430F5529时钟25MHZ设置方式,觉得很有帮助(转载)

版权声明:本文为CSDN博主「Coder_BCM」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_41534481/article/details/89854492

本文会分享到电赛论坛 (https://bbs.nuedc-training.com.cn/forum-36-1.html) 我是Jeason

 这是电赛的培训网址  :    https://bbs.nuedc-training.com.cn/forum.php?fromuid=11142

去年参加省电赛时老师给我们申请了一块MSP430F5529 的launchpad,一直都没有好好深入的研究,最近刚好嵌入式学累了 拿出来预热一下。。。。

代码链接在这里   代码并不是我写的 这里我只是推演代码的实现过程  加深自己对MSP430 时钟的理解

MSP430F5529的launchpad是 TI送的比较多的一款开发套件,至少我们实验室就是人手一块,很多人都嫌他慢,确实相比较于STM32F103(72MHz) 和STM32F407(168MHz)的速度而言  默认状态下主频只有1MHz的 MSP430F5529就是个弟弟,而且处理位宽也是只有16位,,, 还不支持位带操作  ,但是就超低功耗这一点就足以让他在单片机界立足 ,废话少说,来正题。

这次跟大家分享的是标题所说的  MSP430F5529的升频方案。

要升频,首先我们得能‘看见’系统的频率,TI的工程师们充分考虑到了这个问题,他们有得引脚可以直接输出时钟信号!!!

在芯片datesheet中 的Terminal Functions  里有如下说明

所以我们可以通过设置相应的 状态来输出时钟信号, IO配置成输出+ 功能复用

以上 我们实现了 时钟的输出 ,通过测量上述的三个IO ,我们可以得到系统的不同时钟。 接下来就是对时钟的配置

主要就是配置UCS(Unified Clock System (UCS))的一些寄存器。 不过 在这之前  我们要先把核心电压升上去,430为了省电默认状态下核心电压默认设置为1.8V来节省功耗。 在用户手册的2.2.4节提到了升核心电压的方法

开启PMM管理的操作  第一步是解锁  向PMMCTL0 寄存器高8位写入 0xA5 然后设置核心电压等级是三级(官方手册有提到频率和核心电压的关系)

这里要提一下 ,我调用官方的 SetVcore()函数并不能实现效果不知道为什么 。。。。有知道的大佬还望不吝赐教

到这里 我们的核心的电压已经设置完成了,接下来就是时钟的配置了,其他大佬们也提到了很多,我这里就是按照一位大佬的做法实现的,不是原创! 只是对前人思路的理解.. 代码如下

第一步是 令 SR寄存器里面的 SCG0=1, 我猜测这里的目的应该是

我猜测这一步的作用应该是关闭锁相环,同时 关闭了这个时钟以后系统时钟应该会自动切换到备用时钟。 关闭了这个以后就可以开始对时钟进行设置了。  UCSCTL0 是直接关闭了DCO的输出

查看芯片的技术手册发现0x60(DCORSEL_6)确实是最优解!  同时0x50(DCORSEL_5)和 0x70(DCORSEL_7)也是可以选择的!

接着理解下一步  UCSCTL2 = FLLD_1 | 380;

接下来我们看一下这些bit到底是设置了什么

 

通过 这些默认的设置

初步判断时钟是从XT1CLK 来的

XT1 也就是我们先前使能的 外部晶振    P5.4 P5.5

然后我们打开launchpad的手册 在clock相关的部分也确实证实了  XTL1 是32.768KHz的晶振

XT1 的 bypass是 默认置0的  完整的时钟信号走向应该是这样的

实现效果是这样的  

这里的示波器选用的是 Loto 的虚拟示波器 OSC802 

示波器的引脚接到了 P2.2脚 我也是最近才开始捡起 430的 ,很多东西都不是很熟,出错在所难免,请各位大佬们不吝赐教!

 该博主还有更高时钟频率的设置方式
 大家如果感兴趣可以关注博主学习学习,定能有所收获!
 喜欢的点个赞再走哈哈哈
  • 8
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值