IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 自学MSP430F5529LP之统一时钟系统UCS的理解 -> 正文阅读

[嵌入式]自学MSP430F5529LP之统一时钟系统UCS的理解

学习一款mcu,首先要熟悉它的时钟系统,这样才能更好地学习其他片上外设。这里为了方便理解,我先说明各个模块的原理,最后贴上大图,然后会有一个全面的总结,相信这样会更容易理解。

430的UCS结构从左往右就是:产生时钟源→产生时钟信号,产生的时钟信号供挂载在相应总线上的外设使用。

MSP430F5529的UCS类似与STM32中的RCC时钟树,二者有类似的逻辑结构,只不过stm32的时钟源(HSE,HSI,LSE,LSI)产生的过程比430简单许多,430的几个时钟源(XT1CLK,XT2CLK,VLOCLK,REFOCLK,DCOCLK,DLOCLKDIV)在产生时还有一些基础的配置。

一、时钟源列举

这里可能会有同学会质疑DCOCLKDIV是否为时钟源,因为官方手册上说明的是五种。因为DCOCLKDIV是由时钟源DCOCLK分频得到,算不上一个嫡系的“时钟源”,但是它可以被用来产生后面的三大时钟信号,利用数学上的术语,不妨将它设为时钟源,嘿嘿。但如果能对此产生质疑,我相信你已经很快就要拿下时钟树这一块了。

  • XT1CLK:XT1振荡器时钟。
  • XT2CLK:XT2振荡器时钟。
  • VLOCLK:内部超低功耗低频振荡器时钟。
  • REFOCLK:内部修整低频振荡器时钟。
  • DCOCLK:数字控制振荡器时钟。
  • DCOCLKDIV数字控制振荡器分频时钟。

二、时钟信号列举

这里产生的时钟信号可供外设使用,和STM32中的PCLK1,PCLK2等时钟具备同等地位。

  • ACLK:系统辅助时钟,供独立外设模块使用。
  • MCLK:系统主时钟,供CPU和系统使用。
  • SMCLK:?子系统时钟,供独立外设模块使用。

三、时钟源产生模块分析?

1、OSC模块,产生三个时钟源

  • XT1CLK:XT1振荡器时钟,当XT1BBYPASS控制位配置为0时,XT1通过XIN,XOUT引脚外接了一个振荡器(可以是手表晶体振荡器、标准振荡器,谐振器),低频态(LF)接入晶振频率为32768Hz(最大不能超过40KHz),高频态(HF)接入晶振频率为4-32MHz。注意,配置LF、HF时,需要通过XCAP控制位配置相关负载电容(load capacitance),这样就能产生XT1CLK;当XT1BBYPASS控制位配置为1时,XT1部分停止工作,模块进入旁路模式,用XIN引脚上的时钟信号作为XT1CLK,当晶体不能产生用户所需要的频率,或者用户对时钟进度,起振条件等有特殊要求时,430会允许这样的操作。
  • VLOCLK:内部超低功耗低频振荡器时钟,典型值10KHZ,为不需要精准时基的应用提供低成本超低功耗的时钟源。
  • REFOCLK:内部修整低频振荡器时钟,典型值为32768Hz。

2.FLL(锁频环)模块,产生2个时钟源,FLL和STM32中的PLL(锁相环)十分类似,通过SELREF控制位选择时钟源XT1CLK,VLOCLK,XT2CLK(如可用),得到自己的基准时钟(FLLREFCLK),再通过内部操作得到一些时钟源,这个模块可以利用其他时钟源进而得到更加灵活范围的时钟信号。

  • DCOCLK: 数字控制振荡器时钟,由FLL稳定后得到,可由软件配置DCORSEL,DCO,MOD控制位得到灵活的时钟信号输出。
  • DCOCLKDIV:由DCOCLK分频后得到。

3.XT2模块,产生一个时钟源XT2CLK,该模块的特征与XT1的高频态相同,外接晶振,可配置XT2BYPASS将XT2IN引脚输入的时钟信号提供给MCU使用,原理与XT1相似。

  • ?XT2CLK:XT2振荡器时钟,产生原理与XT1CLK相似。

四、时钟信号产生模块分析

?从上到下分别是ACLK模块,MCLK模块,SMCLK模块,信号产生前需要通过分频和使能。

1、ACLK

系统辅助时钟,供独立外设模块使用。图中可以看出,左边产生的六种时钟源都可以通过选择用来产生ACLK,ACLK可以被1,2,4,8,16,32分频输出到引脚上供外部使用。

2、MCLK

系统主时钟,供CPU和系统使用。和ACLK一样,选择时钟源再通过处理产生MCLK。但不具备输出到引脚的特性。

3.SMCLK:子系统时钟,供独立外设模块使用。产生原理和MCLK相同。

五、UCS模块总结

看到这里再看这张大图应该会有自己的理解了。我再总结一下,总的来说就是:产生时钟源→时钟信号产生,对整体有些把握后,就可以去学习UCS相关寄存器和库函数了。

对于图中一些细小的点我这里记录的可能会有缺失,随着我的学习我会不断改进更新。对于某些功能的理解也可能会有些错误,我都是啃原英文文档的,难免有会错意的时候,还请大家在评论区指正。

如果觉得有用的话,还请点个赞,哈哈。

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-08-23 16:51:02  更:2021-08-23 16:52:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 23:23:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码