MSP430F5529 默认时钟频率(1.05MHz)的来源探究
[复制链接]
相信很多小伙伴跟我一样好奇 MSP430FF5529的 初始时钟是哪里来的,是多少
接下来我和大家一起分析一下!
首先我认为比较可疑的是 那些默认的参数,一些Reset值不是0的参数 十分的可疑,我们着重的看看他想表达什么意思
查找UCSCTL这个寄存器的第一个值是UCSCTL1 的DCOSEL位 这一位是2 在芯片的Datesheet里面我找到了这个,貌似是没什么太大的用处。
接下来一个比较让人感兴趣的寄存器就是这个
FLLD = 1 这个好理解
接下来 有意思的来了 : FLLN = 0x1F = 31
这是书册里面 很重要的一个公式! 暂且先不说作用,我们现在先追溯一下我们的时钟是从哪里来的
如图 我需要看一下时钟选择的默认值
我找到了这里 这个位是默认是0 说明输出的SMCLK是 直接从上一级输出来的没有经过分频! 我们继续找上一级是哪里来的这个没有被分频的时钟 接下来我们找到了这个寄存器
SELS =4H 这说明 SMCLK来自未经分频的DCOCLKDIV
到了这一步 我们就应该去找这个DCOCLKDIV了 他是DCOCLK经过分频得到的
FLLD = 1
从这个公式 我们可以退出来 Fdcoclkdiv = (31+1)*F (fllrefclk) 继续反向找
接下来是FLLREFDIV
这一位默认是0 不分频 然后就是FLLREFCLK
这边我们发现是选择的是XTALCLK 至此 应该已经明了了 系统的时钟来自于
外部的 32.768KHz 的RTC时钟!!
这几乎跟我们测得一样!
|