MSP430初学three

MSP430中断系统、时钟系统与低功耗结构

中断系统概述

        MSP430几乎所有外设都会产生中断,包含3类中断源:系统复位中断源、不可屏蔽中断和可屏蔽中断。系统复位中断源包括3类:断电复位信号(BOR)、上电复位信号(POR)、上电清除信号(PUC),书上有介绍但是很浅,暂时搁置。可屏蔽中断由片上外设产生,每个可屏蔽中断源都可由GIE中断使能控制位控制(状态寄存器SR)。值得注意的是,通过可屏蔽中断可将CPU从低功耗模式唤醒,GIE=1,可屏蔽中断允许(1)。不可屏蔽中断源(NMI)在前面有所提及,书中暂时介绍较少,搁置。不可屏蔽中断源(NMI)不可由中断使能控制位GIE控制,分为系统不可屏蔽中断(SNMI),用户不可屏蔽中断(UNMI)。中断向量表和定义中断服务程序见链接(3)。在默认情况下进入中断入口MSP430单片机会自动清除GIE总中断允许标志位,即MSP430中断默认不可嵌套,若需要嵌套在中断程序首句打开GIE。

有用的链接:(1)什么是msp430低功耗模式?如何唤醒msp430低功耗模式 - 实时应用开发 - 电子发烧友网 (elecfans.com)

(2)msp430的中断优先级和中断嵌套(及容易理解错误的说明)_bdview的博客-CSDN博客

(3)咱俩好像用的一本参考书,搞得一件事MSP430F5529 DriverLib 库函数学习笔记(三)认识中断_乙酸氧铍的博客-CSDN博客_msp430f5529中断优先级

时钟系统

概述

        单片机的低功耗主要依靠间歇工作实现,而间歇工作的方法就是启停系统时钟。像普通 51 单片机只有一个时钟,关掉时钟意味着单片机全面停工,节能同时也没法使用。所以出于低功耗的需要,MSP430 单片机工作的时钟来源有5个:XT1CLK,VLOCLK,REFOCLK,DCOCLK,XT2CLK。时钟信号被分为了 MCLK、SMCLK 和 ACLK 三个,可以根据需要关闭其中的一个几个或全部。

作用

        为CPU提供时序,为不同片上外设提供不同频率时钟。单片机内部具有振荡器,通过软件配置可以不需要外部晶振,可设置成1种活动模式和7种低功耗模式。

5个时钟来源

XT1CLK

        低频/高频振荡器,可使用32768Hz手表晶振、标准晶体、谐振器或4~32MHz的外部时钟源。

VLOCLK

         内部超低功耗低频振荡器,典型频率12kHz

REFOCLK

         内部调整低频参考振荡器,典型值为32768Hz

DCOCLK

         内部数字时钟振荡器,可由FFL稳定后得到

XT2CLK

         高频振荡器,可以是标准晶振、谐振器或4~32MHz的外部时钟源

3个时钟信号

MCLK

        主时钟(Master Clock) ,可以通过软件选择XT1CLK、REFOCLK、VLOCLK、DCOCLK、DCOCLKDIV、或XT2CLK。DCOCLKDIV是FFL模块内DCOCLK经1/2/4/8/16/32分频获得。专为CPU运行提供的时钟。MCLK频率配置的越高,CPU执行的速度越快,功耗越高。间歇开启MCLK降低系统功耗,可经1/2/4/8/16/32分频供CPU使用。

SMCLK

        子系统时钟(Subsystem Master Clock) ,主要用于高速外设,比如定时器和ADC采样等。也可1/2/4/8/16/32分频。当CPU休眠时,只要SMCLK开启,定时器和ADC仍可工作(一般待片内外设完成工作后触发中断,唤醒CPU去做后续工作)。

ACLK
        辅助时钟(Auxiliary Clock),主要用于低速外设。也可1/2/4/8/16/32分频(ACLK/n),可通过外部引脚输出。辅助时钟可以供给那些只需低频时钟的片内外设,比如LCD控制器,还可用于产生节拍时基,与定时器配合间歇唤醒CPU。

        MCLK、SMCLK 和 ACLK 三者关系用更形象的比喻就是主力部队(MCLK)、先头部队(SMCLK)、警戒哨兵(ACLK)的关系。需要用主力部队的时候不多,一般情况都处于休整状态,以节约“给养”(功耗)。能只用先头部队解决的问题,就别动用主力,待先头部队完成自己的任务后,再请主力出马。当没有实际“敌人”的时候,主力部队和先头部队都可以休整,但是要放上哨兵作为警戒,发现“敌人”可以随时唤醒主力部队。

有用的链接:

【MSP430G2553】图形化开发笔记(2) 系统时钟和低功耗模式_乙酸氧铍的博客-CSDN博客_msp430休眠功能

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值