MSP430 5438时钟系统介绍

发布者:快乐的旅程最新更新时间:2015-11-10 来源: eefocus关键字:MSP430  时钟系统 手机看文章 扫描二维码
随时随地手机看文章
3.1时钟系统介绍

UCS模块支持低功耗。它内部含有三个时钟信号,用户可以自行选择,找到性能和功耗的平衡点。UCS软件
配置后,只需要一两个晶振或者电阻,而不需要使用外部振荡器。
UCS模块最多含有5个时钟源:
XT1CLK:低频/高频振荡器,可以使用低频 32768HZ 晶振和外部振荡器或者通过外部输入源输入
4MHZ~32MHZ时钟。
VLOCLK:内部低消耗,低频振荡器。典型值为 12KHZ。
REFOCLK:内部低频振荡器,典型值为 32768HZ,作为 FLL基准源。
DCOCLK:内部数字控制振荡器(DCO)可以通过 FLL来稳定。
XT2CLK:可选择的高频振荡器,可以使用标准晶振,振荡器或者外部时钟源输入4MHZ~40MHZ。 
UCS模块有三个时钟信号(/系统)可以使用:
ACLK: 辅助时钟。 ACLK 来自于XT1CLK, REFOCLK, VLOCLK, DCOCLK, DCOCLKDIV,和XT2CLK
(如果可以用)。DCOCLKDIV为DCOCLK 在 FLL 模块中通过 1、2、4、8、19、32 分频后得到的频率。
ACLK 可由软件位作各个外围模块的时钟信号。ACLK 经 1、2、4、8、16、32 分频。ACLK/n是 ACLK
经1、2、4、8、16、32分频后作为外部电路使用。
MCLK: 系统主时钟。 MCLK 可由软件选择为 XT1CLK, REFOCLK, VLOCLK, DCOCLK, DCOCLKDIV,
XT2CLK(如果可以用)。DCOCLKDIV 为 DCOCLK 在 FLL 模块中通过 1、2、4、8、19、32 分频后得
到的频率。MCLK 可以通过1、2、4、8、16、32分频。MCLK 作为 CPU和系统时钟。
SMCLK:辅助系统主时钟。SMCLK 可由软件选择 XT1CLK,REFOCLK,VLOCLK,DCOCLK,
DCOCLKDIV,XT2CLK(如果可以用)。DCOCLKDIV为 DCOCLK 在 FLL模块中通过 1、2、4、8、19、
32分频后得到的频率。SMCLK 可以通过 1、2、4、8、16、32 分频。SMCLK 主要用于高速外围模块。
系统通过合适的配置可以作为外部器件的时钟输入源。UCS模块图如下图所示: 
 

MSP430学习笔记之二:时钟模块

MSP430系列单片机基础时钟主要是由低频晶体振荡器,高频晶体振荡器,数字控制振荡器(DCO),锁频环(FLL)及FLL+等模块构成。由于430系列单片机中的型号不同,而时钟模块也将有所不同。虽然不同型号的单片机的时基模块有所不同,但这些模块产生出来的结果是相同的.在MSP430F13、14中是有TX2振荡器的,而MSP430F11X,F11X1中是用LFXT1CLK来代替XT2CLK时钟信号的.在时钟模块中有3个(对于F13,F14)时钟信号源(或2个时钟信号源,对于F11X、F11X1):

1-LFXT1CLK: 低频/高频时钟源.由外接晶体振荡器,而无需外接两个振荡电容器.较常使用的晶体振荡器是32768HZ。

2-XT2CLK: 高频时钟源.由外接晶体振荡器。需要外接两个振荡电容器,较常用的晶体振荡器是8MHZ。

3-DCOCLK: 数字可控制的RC振荡器。

 

1-ACLK: 辅助时钟信号.由图所示,ACLK是从FLXT1CLK信号由1/2/4/8分频器分频后所得到的.由BCSCTL1寄存器设置DIVA相应为来决定分频因子.ACLK可用于提供CPU外围功能模块作时钟信号使用.

2-MCLK: 主时钟信号.由图所示,MCLK是由3个时钟源所提供的。他们分别是LFXT1CLK,XT2CLK(F13、F14,如果是F11,F11X1则由LFXT1CLK代替),DCO时钟源信号提供.MCLK主要用于MCU和相关系统模块作时钟使用。同样可设置相关寄存器来决定分频因子及相关的设置。

3-SMCLK: 子系统时钟,SMCLK是由2个时钟源信号所提供.他们分别是XT2CLK(F13、F14)和DCO,如果是F11、F11X1则由LFXT1CLK代替TX2CLK。同样可设置相关寄存器来决定分频因子及相关的设置。

MSP430X1X1系列产品中,其中XT1时钟源引脚接法有如3种应用。F13、14的XT1相同。需要注意的是,LFXT1只有工作在高频模式下才需要外接电容。

对以引脚较少的MSPX1XX系列产品中有着不同时基模块,具体如下:

MSP430X11X1:LFXT1CLK , DCO

MSP430F12X: LFXT1CLK , DCO

MSP430F13X/14X/15X/16X:LFXT1CLK , DCO , XT2CLK

MSP430F4XX: LFXT1CLK , DCO , XT2CLK , FLL+

时钟发生器的原理说明:问题的提出:1、高频、以便能对系统硬件请求和事件作出快速响应 2、低频率,以便将电流消耗降制至最少 3、稳定的频率,以满足定时器的应用。 4、低Q值振荡器,以保证开始或停止操作没有延时MSP430采用了一个折衷的办法:就是用一个低频晶镇振,将其倍频在高频的工作频率上。一般采用这种技术的实用方法有两种,一个是说、锁相环、一个是锁频环,而锁相环采用模拟的控制容易引起“失锁”和易引起电容量的改变。而TI采用的是锁频环技术,它采用数字控制器DCO和频率积分来产生高频的运行时钟频率。

低功耗设置的技巧问题: 1、LPM4:在振荡器关闭模式期间,处理机的所有部件工作停止,此时电流消耗最小。此时只有在系统上电电路检测到低点电平或任一请求异步响应中断的外部中断事件时才会从新工作。因此在设计上应含有可能需要用到的外部中断才采用这种模式。否则发生不可预料的结果。 2、LPM3:在DC发生器关闭期间,只有晶振是活动的。但此时设置的基本时序条件的DC发生器的DC电流被关闭。由于此电路的高阻设计,使功耗被抑制。注:当从DC关闭到启动DC0要花一端时间(ns-us) 3、LPM2:在此期间,晶镇振和DC发生器是工作的,所以可实现快速启动。4、LPM1:在此振荡器已经工作,所以不存在启动时间延时问题。结合上述特点,在写程序时要综合考虑低功好耗特性,对外部事件的安排也很重要。你必须在功能实现上综合考虑才能达到你预期的效果。使用C语言可用如下的语句:_BIS_SR(LMP3_bits)和_BIC_SR(LPM3 bits) LPM3和LPM3_EXIT 它们的定义是一样的。这里说明在C语言环境中有些定义的函数是不可见的。但你可以从in430.h文件看到它们的定义。

 

DCOCTL DCO控制寄存器

DCO.2 DCO.1 DCO.0 MOD.4 MOD.3 MOD.2 MOD.1 MOD.0

DCO.0-DCO.4 定义8种频率之一,可以分段调节DCOCLK频率,相邻两种频率相差10%。而频率由注入直流发生器的电流定义。

MOD.0-MOD.4 定义在32个DCO周期中插入的Fdco+1周期个数,而在下的DCO周期中为Fdco周期,控制改换DCO和DCO+1选择的两种频率。如果DCO常数为7,表示已经选择最高频率,此时不能利用MOD.0-MOD.4进行频率调整。

 

BCSCTL1 基本时钟系统控制寄存器1

XT2OFF TXS DIVA.1 DIVA.0 XT5V Rsel.2 Resl.1 Resl.0

XT2OFF 控制XT2振荡器的开启与关闭。

TX2OFF=0,XT2振荡器开启。

TX2OFF=1,TX2振荡器关闭(默认为TX2关闭)

XTS 控制LFXT1 工作模式,选择需结合实际晶体振荡器连接情况。

XTS=0,LFXT1 工作在低频模式(默认)。

XTS=1,LFXT1 工作在高频模式(必须连接有高频相应的高频时钟源)。

DIVA.0 DIVA.1 控制ACLK分频。

0 不分频(默认)

1 2分频

2 4分频

3 8分频

XT5V 此位设置为0。

Resl1.0,Resl1.1,Resl1.2 三位控制某个内部电阻以决定标称频率。

Resl=0,选择最低的标称频率。

……..

Resl=7,选择最高的标称频率。

 

BCSCTL2 基本时钟系统控制寄存器2

SELM.1 SELM.0 DIVM.1 DIVM.0 SELS DIVS.1 DIVS.0 DCOR

 

SELM.1 SELM.0 选择MCLK时钟源

0 时钟源为DCOCLK(默认)

1 时钟源为DCOCLK

2 时钟源为LFXT1CLK(对于MSP430F11/12X),时钟源为XT2CLK(对于MSP430F13/14/15/16X);

3 时钟源为LFTXTICLK。

 [page]

DIVM.1 DIVM.0 选择MCLK分频

0 1分频(默认)

1 2分频

2 4 分频

3 8 分频

 

SELS 选择SMCLK时钟源

0 时钟源为DCOCLK(默认)

1 时钟源为LFXT1CLK(对于MSP430F11/12X),时钟源为XT2CLK(对于MSP430F13/14/15/16X)。

 

DIVS.1 DIVS.0 选择SMCLK分频。

0 1分频

1 2分频

2 4分频

4 8分频

 

DCOR 选择DCO电阻

0 内部电阻

1 外部电阻

 

PUC信号之后,DCOCLK被自动选择MCLK时钟信号,根据需要,MCLK的时钟源可以另外设置为LFXT1或者XT2。设置顺序如下:

[1] 复位OscOff

[2] 清除OFIFG

[3] 延时等待至少50us

[4] 再次检查OFIFG,如果仍然置位,则重复[3]、[4]步骤,直到OFIFG=0为止。

 

【MSP430时钟】MSP430 <wbr>5438时钟系统介绍



 

例子:

 

#include
void main (void)
{
unsigned int i;
P2DIR = 0x10; //设置P2.4输出
P2SEL = 0x10; //设置P2.4口为外围模块用作MCLK信号输出
BCSCTL1 &= ~XT2OFF; //使TX2有效,TX2上电时默认为关闭的.
do
{
IFG1 &= ~OFIFG; //清振荡器失效标志
for(i= 0xff; i>0; i--); //延时,待稳定.
}
while ((IFG1 & OFIFG)!=0); //若振荡器失效标志有效
BCSCTL2 |= SELM1; //使MCLK = XT2
for(;;);
}

 

 

关键字:MSP430  时钟系统 引用地址:MSP430 5438时钟系统介绍

上一篇:MSP430心得体会
下一篇:MSP430 系统时钟 ACLK、MCLK、SMCLK

推荐阅读最新更新时间:2024-03-16 14:38

MSP430学习总结——时钟UCS
前言 MSP430具有超低功耗的特点,由于前段时间在准备电子设计大赛时学习了这款单片机,当时花了很多时间才把时钟篇看懂一点,特意在这里记录一下学习总结。我用的是MSP430F5529单片机,这款单片机可以直接用USB线连接电脑,在CCS上直接下载和调试程序,用起来还是很方便的。和STM32一样,MSP430的时钟是整个系统正常工作必不可少的一条件,我们学习他的重要性不言而喻。MSP430是16位的单片机,一个很大的优势就在于超低功耗,因此灵活且正确地配置是时钟是非常重要的,话不多说,接下来就以MSP430F5529为例来介绍一下MSP430的时钟系统UCS。参考的资料有数据手册和User's Guide以及一些大佬的博客。
[单片机]
<font color='red'>MSP430</font>学习总结——<font color='red'>时钟</font>UCS
MSP430应用技巧7:MSP430F5438A时钟的设置
使用MSP430F5438A,XT2外接25MHz晶振,编写时钟驱动程序,不能正常工作,现将此代码粘贴出来。 这段代码将MCLK、SMCLK和ACLK都设置为XT2,已达到性能的最优化。其关键代码均以做了解释。但是,此程序不能正常工作,仔细查看TI官方手册,问题出现在CPU内部VCore没有正确设置。 MSP430的5xx系列和6xx系列,芯片内部集成线性稳压器,可以将外部电压降压为更低的电压以节省功耗,但是VCore降低会使CPU速度减慢,所以为了达到CPU的运行速度需与VCore电压相匹配。其匹配表如下图所示。 根据这张表,就可知道如果希望CPU在25MHz运行,需将PMMCOREV标志位设置为3。更改后的代码如下
[单片机]
<font color='red'>MSP430</font>应用技巧7:<font color='red'>MSP430</font>F<font color='red'>5438</font>A<font color='red'>时钟</font>的设置
msp430F149调PWM
还说好好安下心调我的PID 结果又被某人喊调一个占空比为10%的PWM波 这不,直接上代码吧: But first,还是要先解释一下端口:按键改变PWM的占空比 按键IO口如下: 然后就是用P2.3和P2,4口输出两路PWM信号 #include msp430x14x.h #define uchar unsigned char #define uint unsigned int #define keyin (P1IN & 0x0f) uchar T ={10,20,40,100,150,200}; //高电平持续 void delay(void) { uint tmp; for(tmp =
[单片机]
<font color='red'>msp430</font>F149调PWM
msp430串口接收调试
串口调试出错 串口接收配置需要注意的是开启总中断( __enable_interrupt(); ),不能仅开启串口接收中断。 #include msp430f5438a.h //********************************************** //RS485芯片方向控制 //*********************************************** void set_rs485_dir(char tx_rx) { //1---发送,0接收 if (tx_rx==1) { P9OUT|=(BIT6+BIT7); } else { P9OUT&=~(BIT
[单片机]
基于MSP430的智能IC卡水表控制器
   引言   随着IC卡应用的普及,利用IC卡实现“预付费方式”的水费管理成为可能。目前的电子水表按照抄表的方式主要可以分为网络式和分立式。由于在某些场合需要对旧的水表系统改造,如果采用网络式抄表方式需要进行抄表线路的铺设,这给施工带来很大的问题。而分立式的IC卡水表收费系统则无需考虑这一问题,这为管理部门和用户提供了极大的便利。    1 硬件电路设计   本控制器以MSP430单片机为控制核心。MSP430系列单片机是美国TI公司从1996年开始推向市场的一种16位RISC架构、超低功耗的混合信号处理器。电源采用1.8~3.6 V低电压、RAM数据保持方式下耗电仅0.1μA,活动模式下耗电250μA/MIPS,IO口漏
[单片机]
基于<font color='red'>MSP430</font>的智能IC卡水表控制器
msp430学习笔记_按键点亮LED
//在系统上实现按一次按键,对应的发光二极管状态改变一次 #include msp430x14x.h void main(void) { WDTCTL = WDTPW + WDTHOLD; //关闭看门狗 P2DIR = 0XfF; //全部P2口设置为输出 P2OUT = 0Xff; // 全部P2口设置为高电平 灯全灭 P1OUT = 0Xff; //P1口全部设置为高电平 P1DIR = 0Xf0; //全部P1口按键设置为输入,其他的为输出 P1IES = 0X0f; //P1口按键设置为下降沿触发 P1IFG = 0; //设置P1口全
[单片机]
基于MSP430系列单片机的CAN总线接口转换卡设计
1 引言 控制器局域网(Controller Area Network,简称CAN)是德国奔驰公司20世纪80年代为解决汽车众多控制设备与仪器仪表之间的数据交换开发的一种串行通信协议。它作为现场总线的一种广泛应用于各种工业现场,根据不同的需要或以主从方式、或以多主方式工作。CAN总线使用的通信介质为双绞线或其他电缆,传输速率可达lMb/s。 CAN总线与其他通信网的不同之处有二:一是报文传送中不包含目标地址,它是以全网广播为基础,各接收站根据报文中反映数据性质的标识符过滤报文,该收的收下,不该收的弃而不用。其好处是可在线上网下网、即插即用和多站接收;二是特别强化了对数据安全性的关注,满足控制系统及其他较高数据要求的系统需求。鉴
[单片机]
基于<font color='red'>MSP430</font>系列单片机的CAN总线接口转换卡设计
热门资源推荐
热门放大器推荐
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved