7536|4

1万

帖子

16

TA的资源

版主

楼主
 

MSP430学习笔记之二:时钟模块 [复制链接]

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

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(F13F14,如果是F11,F11X1则由LFXT1CLK代替)DCO时钟源信号提供.MCLK主要用于MCU和相关系统模块作时钟使用。同样可设置相关寄存器来决定分频因子及相关的设置。

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

MSP430X1X1系列产品中,其中XT1时钟源引脚接法有如3种应用。F1314XT1相同。需要注意的是,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和频率积分来产生高频的运行时钟频率。

低功耗设置的技巧问题: 1LPM4:在振荡器关闭模式期间,处理机的所有部件工作停止,此时电流消耗最小。此时只有在系统上电电路检测到低点电平或任一请求异步响应中断的外部中断事件时才会从新工作。因此在设计上应含有可能需要用到的外部中断才采用这种模式。否则发生不可预料的结果。 2LPM3:在DC发生器关闭期间,只有晶振是活动的。但此时设置的基本时序条件的DC发生器的DC电流被关闭。由于此电路的高阻设计,使功耗被抑制。注:当从DC关闭到启动DC0要花一端时间(ns-us) 3LPM2:在此期间,晶镇振和DC发生器是工作的,所以可实现快速启动。4LPM1:在此振荡器已经工作,所以不存在启动时间延时问题。 结合上述特点,在写程序时要综合考虑低功好耗特性,对外部事件的安排也很 重要。你必须在功能实现上综合考虑才能达到你预期的效果。使用C语言可用如下的语句:_BIS_SR(LMP3_bits)_BIC_SR(LPM3 bits) LPM3LPM3_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 定义在32DCO周期中插入的Fdco+1周期个数,而在下的DCO周期中为Fdco周期,控制改换DCODCO+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=0XT2振荡器开启。

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

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

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

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

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

0 不分频(默认)

1 2分频

2 4分频

3 8分频

XT5V 此位设置为0

Resl1.0Resl1.1Resl1.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

 

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为止。

 

例子:

 

#include <msp430F2234.h>
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(;;);
}

 

最新回复

lou zhu 是个明白人,讲的很好i,必须要定的  详情 回复 发表于 2011-8-9 10:55
 
点赞 关注
个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr

回复
举报

2735

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
看连续剧 帮顶
 
 

回复

5015

帖子

13

TA的资源

裸片初长成(初级)

板凳
 
430的时钟特点解析的很清楚了
开发板上的MSP430应该是2系列的,XF2最高可为16MHz,计算能力较1系列翻了一番,最高可以达到16MIPS
 
 
 

回复

55

帖子

0

TA的资源

一粒金砂(中级)

4
 
讲得很细致,但一直很迷糊!
 
 
 

回复

49

帖子

0

TA的资源

一粒金砂(中级)

5
 

回复 4楼 Feeling_atHome 的帖子

lou zhu 是个明白人,讲的很好i,必须要定的
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表