MSP430:MCLK、SMCLK、ACLK默认时钟频率

发布者:shmilyde最新更新时间:2016-08-08 来源: eefocus关键字:MSP430  MCLK  SMCLK  ACLK  默认时钟频率 手机看文章 扫描二维码
随时随地手机看文章
一、MCLK、SMCLK、ACLK默认时钟频率

1.1 POR与PUC

    POR指Power-On Reset,即上电复位(硬件),PUC指Power-Up Clear,即上电清除(软件复位),这是MSP430两种分离的复位信号。POR总会引起PUC,关于POR与PUC的触发条件见用户指南,如下:

MSP430:MCLK、SMCLK、ACLK默认时钟频率 - 凯歌 - Software

图1 POR与PUC触发条件

1.2 默认时钟频率

有两种方法(甚至更多)可以得知MCLK、SMCLK、ACLK默认的时钟频率。

(1)通过用户指南描述

    查阅用户指南可得到系统复位后,时钟信号MCLK、SMCLK、ACLK的时钟源分别是DCOCLK(数控震荡器)、DCOCLK、LFXT1CLK(低速晶体震荡器)。如下:

MSP430:MCLK、SMCLK、ACLK默认时钟频率 - 凯歌 - Software

图2 复位后默认时钟频率

(2)通过寄存器初始值判定

    用户指南会给出每个寄存器的初始值,通过分析初始值各位的含义,并对照数据手机,也可得到其默认频率。定位到用户指南基本时钟模块(Basic Clock Model),其寄存器描述如下:

MSP430:MCLK、SMCLK、ACLK默认时钟频率 - 凯歌 - Software

    结合图5分析,可知RSELx为7(BCSCTL1低3位),DCOx为3,MODx为0,再对照图4可知系统复位后MCLK和SMCLK的频率在0.8MHz~1.5MHz,即819.2KHz~1536KHz。再结合图3基本时钟系统控制寄存器2(BCSCTL2),可知MCLK默认时钟源是DCOCLK,SMCLK默认时钟源也是DCOCLK。BCSCTL2示意图如下:

MSP430:MCLK、SMCLK、ACLK默认时钟频率 - 凯歌 - Software

图3 BCSCTL2示意图

1.2.1 MCLK和SMCLK时钟频率

在数据手册可以找到DCO频率表(搜索关键词DCOCLK可快速找到),如下:

MSP430:MCLK、SMCLK、ACLK默认时钟频率 - 凯歌 - Software

图4 DCO时钟频率

    由上图可知,系统复位后MCLK和SMCLK的频率在0.8MHz~1.5MHz,即819.2KHz~1536KHz。系统启动后,可以调整RSELx(基本时钟系统控制寄存器1BCSCTL1前3位)、DCOx(DCO控制器DCOCTL前5位)、MODx(DCO控制器DCOCTL后3位)的值得到合适的频率,示意图如下[3]:

MSP430:MCLK、SMCLK、ACLK默认时钟频率 - 凯歌 - Software

图5 DCOCTL和BCSCTL1示意图

    注:图5跟用户指南有一定出入,MSP430G2231的BCSCTL1位0~4都是RSELx,但因是中文比较直观,就没换了。

1.2.2 ACLK时钟频率

同理,可以从数据手册查得ACLK时钟源LFXT1CLK时钟频率如下:

MSP430:MCLK、SMCLK、ACLK默认时钟频率 - 凯歌 - Software

图6 LFXT1时钟频率

由上图可知,系统复位后ACLK的频率典型值是32768Hz,即32KHz。

 

二、应用举例

2.1 FLASH时钟设置

    FLASH擦除、写入是由时序发生器控制的,所以擦除、写入之前需要设定合适的时钟频率(查看用户指南可知,频率必须在257KHz~476KHz),而时钟频率由选择哪种时钟源FSSELx及分频系数FNx决定(在FLASH控制寄存器2),FCL2示意图如下(FCL2默认值是0x9642,即只读、MCLK、3分频):

MSP430:MCLK、SMCLK、ACLK默认时钟频率 - 凯歌 - Software

图7 FCL2示意图

    假设选择默认MCLK作为FLASH时序发生器,默认MCLK时钟频率典型值是1.1MHz,即1126.4KHz,需要3分频(375.5KHz,此时FN1为1)或者4分频(281.6KHz,此时FN1、FN0为1)才能符合257KHz~476KHz。通过设置FN0~FN5可以将时钟分频1~64,即32*FN5 + 16*FN4 + 8*FN3 + 4*FN2 + 2*FN1 + FN0 + 1。(此处FNx是指第x位,与下文不同)如果选择3分频,设置FCTL2如下:

 

  1. FCTL2 = FWKEY + FSSEL_2 + FN1;  /*FN1=0x0002,此时是3分频*/

 

 

FWKEY、FSSEL_2、FNx在io430G2231.h定义,如下:

 

  1. #define FWKEY (0xA500u) /* Flash key for write */
  2.  
  3. #define FSSEL_0 (0x0000u) /* Flash clock select: 0 - ACLK */
  4. #define FSSEL_1 (0x0040u) /* Flash clock select: 1 - MCLK */
  5. #define FSSEL_2 (0x0080u) /* Flash clock select: 2 - SMCLK */
  6. #define FSSEL_3 (0x00C0u) /* Flash clock select: 3 - SMCLK */
  7.  
  8. /* Divide Flash clock by 1 to 64 using FN0 to FN5 according to: */
  9. /* 32*FN5 + 16*FN4 + 8*FN3 + 4*FN2 + 2*FN1 + FN0 + 1 */
  10. enum
  11. {
  12.   FN0 = 0x0001,
  13.   FN1 = 0x0002,
  14.   FN2 = 0x0004,
  15.   FN3 = 0x0008,
  16.   FN4 = 0x0010,
  17.   FN5 = 0x0020,
  18.   FSSEL0 = 0x0040,
  19.   FSSEL1 = 0x0080
  20. };

关键字:MSP430  MCLK  SMCLK  ACLK  默认时钟频率 引用地址:MSP430:MCLK、SMCLK、ACLK默认时钟频率

上一篇:单片机I/O开漏输出详解
下一篇:STM8 IAR中断向量表重映射

推荐阅读最新更新时间:2024-03-16 15:04

MSP430的中断优先级、打开关闭、中断嵌套
优先级顺序从高到低为: PORT2_VECTOR (1 * 2u) PORT1_VECTOR (4 * 2u) TIMERA1_VECTOR (5 * 2u) TIMERA0_VECTOR (6 * 2u) ADC_VECTOR (7 * 2u) USART0TX_VECTOR (8 * 2u) USART0RX_VECTOR (9 * 2u) WDT_VECTOR (10 * 2u) COMPARATORA_VECTOR (11 * 2u) TIMERB1_VECTOR (12 * 2u) TIMERB0_VECTOR (13 * 2u) NMI_VECTOR (14 * 2u)
[单片机]
MSP430 JTAG 仿真器电路图
仿真器以某一系统复现另一系统的功能。与计算机模拟的区别在于,仿真器致力于模仿系统的外在表现、行为,而不是模拟系统的抽象模型。
[模拟电子]
2.0 MSP430的IO配置
MSP430单片机一般有多组IO口,P1、P2、P3、P4、P5和P6等。在单片机所有的端口都有控制输入输出方向和进行输入、输出的能力。其中P1、P2组端口具有中断寄存器,能够响应外部中断,大部分端口拥有第二功能。每一个端口都有PxDIR(信号方向)、PxIN(输入)、PxOUT(输出)和PxSEL(功能选择)4个寄存器。P1、P2 可以配置为输入信号上升沿或者下降沿触发中断,但固定的电平不会引起中断,中断所使用的寄存器为:PxIE(中断使能)、PxIES(中断触发沿)、PxIFG(中断标志)。还有一个寄存器PxREN,这个寄存器主要是配置单片机内部的上下拉电阻,注意,早期的单片机并没有内部上下拉电阻。 PxDIR:信号方向控制
[单片机]
2.0 <font color='red'>MSP430</font>的IO配置
msp430f149 4x4矩阵按键(薄膜)
main.c /******************************************************************** //DM430-A型开发板矩阵键盘控制程序,通过数码管显示按键值,采用逐行扫描 //4X4键盘接在P1口,通过控制IO口状态变化,逐行扫描按键是否按下 //调试环境:EW430 V5.30 //作者:mmp //创客 P1口设置为按键插入口 更改引脚在Config.h文件中 有黑的地方插P1.0~P1.3 因为有上拉电阻 1 5 9 13 2 6 10 14 3 7 11 15 4 8 12 16 本程序按键布局 按照需求更改 case 0xee:key=1;b
[单片机]
基于MSP430和DS18B20的温室大棚温度监测系统模块电路
  1 温度采集传感器DS18B20   DS18B20是一种单总线数字测温芯片,使用方便、耐磨耐碰、抗干扰能力强,能够直接读取被测物体的温度,其测量范围为 -55~+125℃,且测量精度高,电压适用范围宽(3.0~5.5V),供电方式既可以采用外部供电,也可以采用寄生电源的方式从数据线上获取电能。它体积小,根据应用场合的不同可以有不同的封装形式,封装后的DS18B20可用于电缆沟测温、高炉水循环测温、锅炉测温、机房测温、农业大棚测温、弹药库测温等各种非极限温度场合。   DS18B20独特的单线接口方式使得它在与微处理器连接时仅需要一条线即可实现与微处理器的双向通讯。与此同时,DS18B20还支持多点组网功能,可以将多个
[单片机]
基于<font color='red'>MSP430</font>和DS18B20的温室大棚温度监测系统模块电路
关于MSP430单片机串口通信数据丢失问题
研究摸索了接近一个星期,把所遇到的问题写出来以供参考。 最开始看一个官方的串口收发数据的示例,然后自己操作后收发数据老是会丢失一个数据,然后看User’s Guide,取消了函数收发的方法直接用寄存器操作,问题解决。 接下来写一个组帧协议,收发完全正常。但是看上去逻辑思维非常的杂乱不清晰,就想整理一下,就开始写函数,进行函数调用。好了,这下问题又来了,数据又会丢失。 接近一个星期研究,发现不是自己写的代码有问题,是官方示例的波特率配置问题。大家都知道波特率表示每秒钟传送的码元符号的个数,是衡量数据传输速率的指标,它用单位时间内载波调制状态改变的次数来表示。晶振为1MHz波特率为115200,我自己改成了9600,问题解决。如
[单片机]
MSP430】定时中断
中断的开关 中断这个,我试了好像不太好用,定时中断还是会启动~ // disable global interrupt关中断 __bic_SR_register(GIE); // enable global interrupt开中断 __bis_SR_register(GIE); _DINT();//关总中断 (可用于保护不希望受到中断打断的程序) _()NOP; //在保护程序之前与关中断之间最少有一步操作 _EINT(); //开总中断 定时中断 TA0R = 0; TA0CCR0 = 32768; // 1s = 32768 * (1 /32768) TA0CTL = TASSEL__ACL
[单片机]
MSP430和nRF905的无线数传系统设计
在特殊环境的数据测控应用中,无线数据传输已经越来越广泛地被运用,MSP430+nRF905的组合特别适合于低功耗,短距离(100-200m)、小数据量的无线数传系统,MSP430 CPU在低功耗应用方面有很大优势,nRF905无线收发芯片具有功耗低、控制简单、可自动处理字头和CRC校验的优点,两者结合组成的数传系统可以在很多产品中得到应用。 1 MSP430简介 MSP430是TI公司新推出的16位系列单片机,在电池供电的低功耗应用中具有独特的优势,其工作电压在1.8-3.6V之间,正常工作时功耗可控制在200μA左右,低功耗模式使可实现2μA甚至0.1μA的低功耗,MSP430具有非常高的集成度,通常在单个芯片上集成有12位的
[网络通信]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

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