MSP430的工作模式

发布者:RadiantGlow最新更新时间:2021-05-31 来源: eefocus关键字:MSP430  工作模式  低功耗 手机看文章 扫描二维码
随时随地手机看文章

简介:
今天学习一下MSP430单片机的工作模式。
我们这节课的主要内容有:
·工作模式简介
·低功耗模式
·低功耗设计


1,工作模式简介


MSP430单片机在低功耗方面的表现是非常优秀的,非常适合手持设备的应用。MSP430通过软件控制其时钟系统可以工作在多种工作模式,包括一种活动模式和五种低功耗模式,通过这些工作模式,可合理的利用系统资源,实现整个应用系统的低功耗。


2,运行模式


MSP430的运行模式以先进的方式支持超低功率和超低功耗的各种要求。这是通过各模块的智能化管理和CPU的状态组合而成。一个中断事件将系统从各种运行模式中唤醒,而RETI指令又使运行返回到中断事件发生前的运行模式。


MSP430系列为超低功耗应用开发出采用不同功耗水平的运行模式。


用CMOS技术设计超低功耗系统有三个主要目的:


※解决运行速度和数据流量与低功耗设计的突出


※将各模块的电流消耗降至最低


※闲置活动状态至最低要求


3,电流与控制方式



我们先来看这张图,这是MSP430F14x在不同工作模式下电流消耗的典型值。从这张图中我们可以看出,在工作模式4(LPM4),单片机电流仅为0.1uA。


MSP430系列单片机是通过CPU中状态寄存器SR中的SCG1、SCG0、OscOff和CPUOff四个位来实现工作模式控制的。


4,中断控制位



四个控制位的作用是:


SCG1:当SCG1复位时,使能SMCLK;SCG1置位,则禁止SMCLK。


SCG0:当SCG0复位时,直流发生器被激活,只有在SCG0置位且DCOCLK信号没有用于MCLK或SMCLK,直流发生器才能被禁止。


OscOff:当OscOff复位时,LFXT晶体振荡器激活,只有当OscOff被置位且不用于MCLK或SMCLK时,LFXT晶体振荡器才能被禁止,当使用振荡器关闭选项OscOff时,需要考虑晶体振荡器的设置时间。


CPUOff:当CPUOff复位,用于CPU的时钟信号MCLK被激活,当CPU置位时,MCLK停止。


只要任意中断被响应,上述控制位就被压入堆栈保存,中断处理之后,又可以恢复以前的工作方式。在中断处理子程序执行期间,通过间接访问堆栈数据,可以操作这些位,这样在中断返回后,MSP430单片机会以另一种功耗方式继续运行。


5,各种工作模式下MSP430耗电情况



通过控制上述四个控制位,MSP430单片机可以从活动模式进入到响应的低功耗模式,而各种低功耗模式也可以通过中断方式返回到活动模式,各种工作模式之间的关系及好点情况,我们看这张图。


要实现整个MSP430单片机系统的低功耗运行,不仅要使CPU工作在低功耗模式,对其外围模块也要进行有效的管理降低其功耗。MSP430系列单片机各个模块运行时完全独立的,定时器、输入/输出端口、A/D转换、看门狗液晶显示器等都可以在住CPU休眠的状态下独立运行。当需要主CPU工作时,任何一个模块都可以通过中断唤醒CPU,从而使系统以最低功耗运行。为了充分利用CPU低功耗性能,可以让CPU工作于突发状态。在通常情况下,根据需要使用软件将CPU设定到某一低功耗工作模式下,在需要时使用中断将CPU从休眠状态中唤醒,完成工作之后又可以进入相应的休眠状态。


6,MSP430的瞬时响应特性



如图,我们可以看出MSP430的超低功耗的状况。


MSP430的瞬时响应特性是系统超低功耗事件驱动方式的重要保证。


7,低功耗模式

7.1 工作模式


我们现在看到的是一张关于MSP430单片机工作模式的表格,里面一共有6种工作模式,分别是活动模式(AM),LPM0,LPM1,LPM2,LPM3,LPM4。这一节当中,我们将详细的介绍着5种低功耗模式。


SFR中的各模块允许位确定各自功耗控制器工作状态的配置。由用户程序定义外围模块的活动或停止。被禁止模块的电流降到被禁止各部分的漏电流。模块中唯一活动的是完成受控使模块进入允许状态或传递中断请求(例如发生外部硬件中断)给CPU的部分。


各模块允许的选择,有多达5种可能的省电模式:CPU关闭模式和4种系统时钟发生器的运行组合。


7.2LPM0和LPM1





对SR中的CPUOff置位可选择进入低功耗模式0或1。置位后CPU立即停止运行,系统内核的常规操作停止。CPU的操作暂停直至有任一中断请求或复位发生。所有内部总线停止活动。系统时钟发生器的继续工作和时钟信号MCLK及ACLK的活动取决于SR中的其他3位,即SCG0、SCG1和OscOoff。SCG1定义MCLK运行于ACLK的倍数或按DC0最近一次的控制信号运行。


被允许并得到MCLK或ACLK信号的外围模块处于活动状态。I/O端口的全部引脚和RAM及寄存器保持不变。所有被允许的中断事件可以从此状态唤醒程序。


7.3 LPM2和LPM3



低功耗模式3和低功耗模式4,对SR中的CPUOff和SCG1置位可选择进入低功耗模式2或3。置位后CPU和MCLK立即停止运行。它们暂停直至有任一中断请求或复位发生。所有内部总线停止活动。SCG1定义MCLK在系统回到活动模式时运行于ACLK的倍数或按DCO最近一次的控制信号运行。


被允许并得到ACLK信号的外围模块处于活动状态。工作时需要MCLK信号的外围模块因为MCLK信号停止活动而停止。I/O端口的全部引脚和RAM及寄存器保持不变。所有被允许的、不依赖于MCLK的中断事件可以从此状态唤醒。


7.4LPM4



LPM4也就是低功耗模式4,在这种模式下,全部活动部件停止,只有RAM、端口和寄存器的内容保持。只能由被允许的外部中断唤醒。


在启动LPM4前,软件要考虑在这一低功耗模式期间系统需要的条件。最终的两点是针对运行环境的,即对DC0和周期性操作的影响。运行环境定义的频率合成数值应保持或校正。校正在周围环境需要系统对频率作大的改变时可能发生。当存在周期性操作应用时,应该考虑锁相环可能失控,余留的时间片不足以将锁相环保持在校正操作范围之内。


7.5低功耗应用要点


当电流消耗是系统应用的重要指标时,应该考虑一些常规原则:


※将不用的FETI输入端连接到Vss


※关闭LCD及模块,可能时包括外部的模拟电压发生器


※JTAG端口TMS、TCK和TDI不要连接到Vss


※CMOS输入端不能有浮空的节点:将所有的输入端接适当的电平


※选择尽可能低的运行频率-既针对内核,同样也针对各外围模块


※如用了LCD,选择尽可能弱的驱动能力,或者将它关闭


※充分利用中断驱动软件的特性-程序能快速地启动执行。


8低功耗设计


一般来讲MCU的功耗取决于三个方面,低功耗控制,低功耗工作模式选择,低功耗软件设计,本文将针对这三个方面进行阐述。我们首先要讲的是低功耗控制。

8.1 低功耗的基本原则

针对MCU而言,有几个基本的原则:


※工作频率越低,MCU的功耗越小


※工作电压越低,MCU的功耗越小


※工作的外设越少,MCU的功耗越小


首先是工作频率越低,MCU的功耗越小;


我们在看数据手册的时候,经常会看到一个参数就是每MHZ消耗的功耗。通常情况MCU会有三个参数,分别是运行模式功耗,空闲模式功耗和掉电模式功耗。从参数可以看出,MCU的功耗直接和你使用的工作频率有关,在进行低功耗设计的时候一定要选择合适的工作频率。


其次我们要看的是工作电压越低,MCU的功耗越小。厂家一般给出的都是MCU的最低工作电压,事实上很多产品由于外设原因,电源原因,都不是工作在MCU的最低工作电压上的,数据手册上的参数仅供对比参考,不能作为绝对值进行计算。


最后我们要看的是工作的外设越少,MCU的功耗越小;这个条比较好理解。MCU的外设使用越多,功耗就越大。


另外,还有一个比较重要的原则,就是在FLASH中运行比在RAM中运行消耗更多的功耗。所以如果MCU的RAM够大,可以把最常用的主循环和处理函数放在RAM中运行,这样可以节约大于30%的功耗。


8.2 低功耗工作模式选择



MSP430支持6种运行模式,AM, LPM0~4(低功耗模式)。而我们在选择低功耗模式的时候,要根据自己系统的需要来确定,低功耗模式4是最省电的。我们在选择工作模式的时候,需要根据CPU和时钟状态来确定工作模式。


8.3程序设计



好了,我们现在开看看程序,我们现在看到的这段程序是MSP430f149的程序框架,如果是其他系列的芯片,则需要适当的修改一下。这只是个main函数,并没有给出中断函数,当我们处在低功耗模式中时,中断可以是系统从低功耗模式下跳出来,并执行中断任务。


我们来看以下程序,进入低功耗在程序中其实很容易实现,我们看这句,这句便是进入低功耗模式的语句。若不想进入低功耗模式,则屏蔽本句。


我们接着来看这一句,这一句是对初中断后退出低功耗模式。如果退出中断后要保留低功耗模式的话,则不需要本句,将本句屏蔽。


8.4 进入头文件



前面我们讲过,控制低功耗状态的是取决于SR中的四个控制位,即:SCG0、SCG1、OscOoff和CPUOff。那么,为什么我们在程序中进入低功耗时,并不需要配置这四位呢?在讲这个之前,我需要给大家讲一下,如何进入头文件,看看头文件中所包含的内容。


我们来看,首先,我们要选中我们要进的头文件,我这里选中的是msp430x14x.h。点击鼠标右键,选择并点击这里,我们便可以进入头文件,查看里面所包含的的内容。在以后的学习中,我们会经常用到,在使用模块化编程的时候也会用到,所以,学会这个方法很重要。好了,我们接下来进入msp430x14x.h中,看看里面所包含的内容,并为大家讲解一下为什么在我们的程序中不需要对四个控制位进行配置。


8.5 头文件中低功耗模式的定义



我们现在看到的就是头文件中的一部分内容,可以很清楚的看到,头文件中大部分是对一些命令的定义以及配置,这就是我们要写头文件的意义,这样在我们编程的时候,许多最基础的配置就不需要我们再写了。我们重点来看看LPM低功耗模式的相关定义。


这部分的定义是针对汇编定义啊,这句话的意思就是针对汇编定义。由于我们是用C语言进行编程的,所以,这部分我们跳过不看。


我们直接来看针对C的定义。这部分便是针对C进行的定义。我们可以这里,是对LPM模式选择的配置信息,比如说LPM0,我们以前讲过是只有CPUOFF为1,其他为0。同样的,其他模式的配置也是这个样子的。


而这部分定义的内容,则回答了为什么我们可以用简单的命令便可进入和退出任何一种低功耗模式。LPM0便是Enter LPM0。同样的,其他的低功耗模式是用一样的定义方式定义的,这里边在赘述了。

关键字:MSP430  工作模式  低功耗 引用地址:MSP430的工作模式

上一篇:基于MSP430F149的点光源跟踪系统设计
下一篇:基于MSP430F149单片机的光电编码器位置检测系统方案

推荐阅读最新更新时间:2024-11-08 11:07

基于MSP430的血糖仪设计
摘要:本文详细介绍了采用MSP430系列单片机设计的多功能血糖仪。此款血糖仪不仅能精确测量血糖、实时时钟,还具有温度显示和闹铃提示等功能。文章介绍了设计的原理和软硬件的设计,最后给出本设计最为核心和关键的计算公式。 关键词:MSP430;中文LCD显示;低功耗; RS232;计算公式 引言 当前市场上血糖仪种类繁多,外形结构千奇百态,而价格和精度却大相径庭;且价格和精度难以兼得。原因在于没有找到一款合适的微处理器。另外,出于屏幕尺寸的限制,界面普遍采用英文字符显示,这给中国病人上带来一定的困惑。 随着电子技术的发展,微处理器功能日益增强,价格日趋降低。有必要选出一款功能强大而价格便宜的微处理器来重新设计血糖仪。本系统选用的M
[单片机]
msp430的基本时钟源
msp430的基本时钟源有3个:LFXT1CLK,  XT2CLK,   DCOCLK ; 其中:LFXT1CLK:可以用低频钟表晶体、标准晶体、陶瓷谐振器或外接时钟源工作。 XT2CLK:可以用标准晶体、陶瓷谐振器或外接450khz~8mhz的时钟源工作。 DCOCLK:它是内部数字控制RC振荡器,可以调节。 msp430的3种时钟信号是:ACLK,MCLK,SMCLK; 其中:ACLK(辅助系统时钟):可选时钟源LFXT1CLK(只能是外部时钟源),且一般为32768hz手表晶体)。 用于外围器件。 MCLK(主时钟):可选LFXT1CLK,XT2CLK, DCOCLK 三种时钟源。用于CPU和系统
[单片机]
基于MSP430的莫尔斯报训练装置设计
莫尔斯电报自问世以来,已广泛应用于通信领域之中。目前基于通用计算机平台的报务终端已能够实现莫尔斯报的自动收发,但传统的人工拍发和收报方式以其便携性和顽存性仍然无法被完全替代。针对以往报,务人员的莫尔斯报训练装置存在着依赖电脑使用不便,用键盘模拟手电键缺乏真实感,算法适应性差,识别率低等问题,采用以TI公司的MSP430低功耗16位单片机为核心,设计了一种莫尔斯报训练装置,具有单独使用和连接电脑两种方式,使用标准报务手电键和耳机,能够完成发报和收报两种训练,提高了模拟训练的真实性和训练水平。 1 整体设计方案 莫尔斯码的原理是以长短信号及间隔的不同组合代表数字、字母等字符。训练器以MSP430单片机为核心处理携带此信息的电键信号
[单片机]
基于<font color='red'>MSP430</font>的莫尔斯报训练装置设计
LTE Category M1/NB-1调制解调器已获产业生态系统广泛采用
2016年10月18日,香港 Qualcomm Incorporated (NASDAQ: QCOM)今日宣布,其子公司Qualcomm Technologies, Inc.已获得业界领先模块OEM厂商,基于其面向物联网(IoT)应用的MDM9206 LTE调制解调器的诸多设计。这些设计是自今年六月公司宣布有超过100款使用MDM9x07 LTE物联网调制解调器设计之后的又一增长。作为一款面向诸如电池供电型传感器应用的全球性连接解决方案,MDM9206调制解调器采用了专门面向物联网的设计,提供比公司前几代LTE产品更低的功耗和更长距离的连接。 MDM9206调制解调器可支持LTE Category M1(eMTC),还能通过预
[物联网]
MSP430F2274 端口操作
/******************************************************************************************************************************************* * 功能 : P1.0用来控制LED的亮灭,软件延时50000,来翻转P1.0 * * * *
[单片机]
MSP430最基本的IO配置
一、基本 1、io口可以认为就是那些板子上的管脚。 2、在使用io的时候需要先对他们进行配置 3、5529的io每一个都是单独可编程的,就是说可以对任意一个io单独进行配置。 4、P1和P2具有中断功能 5、都具有上下拉电阻 二、寄存器 PxIN 输入,将io配置为输入,这个时候接受外部数字信号。 PxOUT 输出 PxDIR 方向 初始状态应该是通过reset复位 当为0的时候,表示为输入 当为1的时候,表示为输出 PxIFG 中断标识 PxIES 中断边沿设置 =0上升沿 =1下降沿 PxIE 中断使能,当选择后,这个管脚的中断启动 PxSEL 端口选择,一个io既可以单纯用作io,也可以用作其他功能。 SEL=0时,管脚
[单片机]
uCOS-II在MSP430上的移植1——准备工作
学习uC/OS-II有一段时间了,下了上百兆的资料。网上可以找到很多移植好的工程,参考别人的,稍微修改下,编译调试通过了,用起来始终觉得不是很踏实,毕竟不知道别人修改了哪些地方。静心整理了下思路,决定自己动手,从最原始的文件修改,把uCOS-II移植到MSP430F169上。 一、准备工作 (1)μC/OS-II中文教程.CHM ——《嵌入式实时操作系统uC/OS-II(第2版)邵贝贝译》一书的电子版。也可在网上查找相关的电子文档。作为工具手册,在移植过程中碰到不理解的可以随时查看. (2)μC/OS-II操作系统的源代码,版本为V2.86。 官方下载地址: http://www.micrium.com/pro
[单片机]
STM32中GPIO的8种工作模式
最近在看数据手册的时候,发现在Cortex-M3里,对于GPIO的配置种类有8种之多: (1)GPIO_Mode_AIN 模拟输入 (2)GPIO_Mode_IN_FLOATING 浮空输入 (3)GPIO_Mode_IPD 下拉输入 (4)GPIO_Mode_IPU 上拉输入 (5)GPIO_Mode_Out_OD 开漏输出 (6)GPIO_Mode_Out_PP 推挽输出 (7)GPIO_Mode_AF_OD 复用开漏输出 (8)GPIO_Mode_AF_PP 复用推挽输出 对于刚入门的新手,我想这几个概念是必须得搞清楚的,平时接触的最多的也就是推挽输出、开漏输出、上拉输入这三种,但一直未曾对这些做过归纳。因此,在这里做一个总
[单片机]
STM32中GPIO的8种<font color='red'>工作</font><font color='red'>模式</font>
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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