基于MSP430的极低功耗系统设计

合集下载

MSP430低功耗无线烟雾报警系统

MSP430低功耗无线烟雾报警系统

MSP430低功耗无线烟雾报警系统摘要:烟雾检测报警装置是能够检测环境中的烟雾浓度并具有报警功能的仪器。

该报警装置是石油化工业、有毒气体泄漏可能的生产工厂及家庭防火防爆必备的仪器。

目前我国已有许多城市铺设了煤气管道,使用人口约达二亿人,煤气发生基地及中转站也达几千家。

如果这些家用燃气和煤气基地机中转站的报警率按10%计算,烟雾检测报警器的需求量就达2000万台以上。

随着全社会对防火防爆及人生安全的重视程度的提高,这个数字会继续增长。

近年来,农村的沼气使用也得到了极大的发展。

到2020年,全国的沼气池数量也达到千万级别以上,随着全社会对防火防爆及人身安全的重视程度的提高,这个数字会继续增长。

可见烟雾报警具有十分广阔的市场前景。

我们利用低功耗单片机MSP430将烟雾传感器MQ-2的模拟电信号转换成数字信号,一旦检测到异常化学气体超标便通过GSM网络将警报信息以短信或电话的形式告知远方的用户,系统反应迅速并且成本低廉。

关键词:烟雾报警;无线传输;成本低廉1、设计背景及意义随着社会节奏加快,住宅往往处于长期无人的状态,全国每年因居住场所无人而引发的火灾逐年增多,造成了巨大的财产损失。

大部分火灾的发生是由于在火灾初期没有及时采取应急防火措施,如果能够有效检测异常火苗或者气体并及时报警采取措施,就能大大降低火灾对人类的威胁。

烟雾传感器是一种典型的火灾监测传感器,它能够将空气中异常气体的浓度或者火焰光强度转化成电信号。

传统的烟雾报警器只能够在检测到火灾的情况下发出警报声响,传播距离短,功耗大有很大的局限性。

在1963年5月,日本开发完成第一台接触燃烧式家用燃气泄漏报警器,次年其改良产品问世,改良的报警器可以检测燃气、一氧化碳,可以安装在浴室或者采用集中监视。

我国在70年代初就开始研制烟雾报警器,生产的型号多样、品类较齐全。

但主要是在引进国外先进技术的基础上,进行研究与开发。

本文主要希望设计出一种符合现代社会要求,并且更加智能化,节能的远程无线智能烟雾报警系统。

MSP430系统时钟与低功耗讲义

MSP430系统时钟与低功耗讲义
MSP430系统时钟与低功耗
低频振荡器VLO
内部集成了一个低频振荡器VLO,值是12kHz,频率受温度和 供电电压影响(范围4kHz~20kHz)。 一般用于对频率精度要求不高的场合。
MSP430系统时钟与低功耗
MSP430G2553引脚图
MSP430系统时钟与低功耗
举例
例1:将MSP430G2553的时钟设置为MCLK和SMCLK,且均为8MHz ,ACLK设为32.768kHz。(芯片外接32.768kHz手表晶振) DCOCTL=CALDCO_8MHZ; BCSCTL1=CALBC1_8MHZ;
void main(void) {
WDTCTL = WDTPW + WDTHOLD; //关闭看门狗定时器
GPIO_Init();
//初始化GPIO
_enable_interrupts();
//等同_EINT,使能总中断
while(1)
{
__delay_cycles(1000000); //与CPU时钟相关的长延时
例4:将MSP430G2553的时钟设置:MCLK为4MHZ,SMCLK为2MHZ, ACLK设为32.768kHz.(芯片外接32.768kHz手表晶振) DCOCTL=CALDCO_8MHZ; BCSCTL1=CALBC1_8MHZ; BCSCTL2|=DIVM_1+DIVS_2;
MSP430系统时钟与低功耗
MSP430系统时钟与低功耗
P1OUT ^= BIT0;
//LED亮灭状态改变
P1OUT ^= BIT6;
//LED亮灭状态改变
}
}
MSP430系统时钟与低功耗
void GPIO_Init()

基于MSP430的低功耗煤气表系统设计

基于MSP430的低功耗煤气表系统设计
Ab s t r a c t : A l o w p o w e r wi r e l e s s i n f r a r e d t r a n s mi t t i n g s y s t e m i s p r e s e n t e d f o r g a s me t e r r e c h a r g e . MS P 4 3 0 G 2 5 5 3

8・
《 测控技术) 2 0 1 4 年第 3 3卷第 2 期
基于 M S P 4 3 0的低功耗煤 气表 系统设计
林旭梅
( 青岛理工大学 自动化工程学院 , 山东 青岛 2 6 6 5 2 0 )
摘要: 以煤 气表 充 值 为 研 究 对 象, 设 计 了 一 套 基 于 红 外 遥 控 的 低 功 耗 充 值 系 统 。 该 系 统 以 MS P 4 3 0 G 2 5 5 3超低 功耗 单 片机 为核心 , 从硬 件 和软 件 两个 方 面设 计 了降低 功耗 方 法 , 主要 完成 了安 全 充值 、 数 据 显示 , 以及 煤 气表 的 流量测 量 、 剩余 价格 的显 示 、 余 量的 显 示和漏 气等报 警 功能 。 实验 结 果验 证 了系统设计 的合 理性 。该 系统 功耗低 、 操 作 方便 、 计量 准 确 , 同时 可根 据 用户 需要 增 加 支持 中文短 信 的G S M模块, 能够及 时 、 方便地 进行 远距 离报 警 , 提 高煤 气的安 全使 用。 关 键词 : 煤 气表 ; 红外遥 控 ; 低 功耗 ; 流 率低 、 劳动强度大 、 不便管 理等问题 ; 随着计算机技术的发展 , 出现了 自动抄表 系
统以及各种 的智 能式燃气表 , 有效 解决抄表难 、 收费 难、 管理 难等 问题 。

MSP430FR单片机的超低功耗设计方法和原则

MSP430FR单片机的超低功耗设计方法和原则

M S P430F R单片机的超低功耗设计方法和原则李志腾,郑耿,孙鹏,张良,秦旸,刘伟(东方电子股份有限公司,烟台264001)摘要:以M S P30F R6972芯片为例,详细介绍了M S P430F R系列单片机在硬件㊁软件上的超低功耗设计方法和原则,并提出了在软件开发过程中采用U L P A d v i s o r和E n e r g y T r a c e工具分析优化功耗的方法㊂通过综合的设计㊁优化能使单片机达到最佳的低功耗状态,更好地适应超低功耗应用领域的要求㊂关键词:M S P430F R;U L P A d v i s o r;E n e r g y T r a c e中图分类号:T P368.1文献标识码:AD e s i g n M e t h o d a n d P r i n c i p l e o f U l t r a-l o w P o w e r C o n s u m p t i o n o n M S P430F RL i Z h i t e n g,Z h e n g G e n g,S u n P e n g,Z h a n g L i a n g,Q i n Y a n g,L i u W e i(D o n g f a n g E l e c t r o n i c s C o.,L t d.,Y a n t a i264001,C h i n a)A b s t r a c t:I n t h i s p a p e r,M S P430F R6972M C U i s t a k e n a s a n e x a m p l e t o i n t r o d u c e t h e d e t a i l u l t r a-l o w p o w e r d e s i g n m e t h o d s a n d p r i n c i-p l e s o f M S P430F R M i c r o c o n t r o l l e r s i n h a r d w a r e a n d s o f t w a r e f i e l d s.I n t h e s o f t w a r e d e v e l o p m e n t,a m e t h o d i s p r e s e n t e d f o r a n a l y z i n g a n d o p t i m i z i n g M S P430F R s p o w e r c o n s u m p t i o n b y u s i n g U L P A d v i s o r a n d E n e r g y T r a c e t o o l s.W i t h t h e c o m p r e h e n s i v e d e s i g n a n d o p-t i m i z i n g,t h e M C U c a n a c h i e v e t h e b e s t l o w p o w e r s t a t e i n t h e u l t r a-l o w p o w e r a p p l i c a t i o n s.K e y w o r d s:M S P430F R;U L P A d v i s o r;E n e r g y T r a c e引言M S P430F R是美国德州仪器(T I)公司推出的新一代超低功耗系列单片机,由于其具有超低功耗的性能和可以高速㊁耐久读写数据的内置F R AM,非常适合应用于电力仪表等低功耗仪器仪表领域㊂在对功耗要求很苛刻的领域,如何合理开发使用M S P430F R系列单片机成为实现超低功耗的关键㊂本文以M S P430F R6972单片机为例,详细介绍了M S P430F R系列单片机的超低功耗开发㊁设计原则㊂1M S P430F R系列单片机概述M S P430F R系列单片机是16位单片机,采用了精简指令集(R I S C)结构,具有灵活可控的时钟和丰富的片内外设,每个片内外设都可以单独控制,从而实现多种不同功能的低功耗模式[1]㊂以M S P430F R6972单片机为例,其具有7种低功耗模式(如表1所列),其中,L P M3模式是在L P M2模式基础上关闭了芯片内部的锁频环; L P M3.5模式及L P M4.5模式是在L P M3与L P M4模式基础上进一步关闭了芯片内部R AM的供电㊂L P M3.5和L P M4.5模式下,一些寄存器将会失效,未保存的数据及动态变量会丢失,因此在进入这两种模式时一定要将有用的数据或变量保存到铁电中,等到C P U从该模式恢复后,再将保存的数据读出,重新赋给相应的变量㊂单片机会根据不同的运行模式关闭或打开C P U㊁时钟及相应的外设,从而保证在最低功耗下实现相应的功能㊂表1M S P430F R6972运行模式及功耗(T=25ħ,f=1MH z,V c c=3.0V)运行模式C P U及时钟状态典型功耗/μA L P M0C P U o f f A C L K a c t i v e S M C L K o p t i o n a l a c t i v e80 L P M1C P U o f f A C L K a c t i v e S M C L K o p t i o n a l a c t i v e40 L P M2C P U o f f A C L K a c t i v e S M C L K o f f1.20 L P M3C P U o f f A C L K a c t i v e S M C L K o f f0.90 L P M4C P U o f f A C L K o f f S M C L K o f f0.55 L P M3.5C P U o f f A C L K a c t i v e S M C L K o f f0.35 L P M4.5C P U o f f A C L K o f f S M C L K o f f0.04 M S P430F R系列单片机与其他M S P430系列单片机的最大不同是采用内置F R AM取代F l a s h来存储程序与数据,数据写入速度是F l a s h的100多倍㊂由于F R AM无需预擦除段并且可以实现位级数据存取,简化了代码开发,从而能够在功耗不变的情况下实现实时数据记录㊂此外,相较于F l a s h ,M S 430F R 芯片中的F R AM 可提供超过100亿次的写入周期耐久性㊂2 M S P 430F R 系列单片机超低功耗设计原则单片机的超低功耗设计包括硬件㊁软件两个方面㊂在进行超低功耗设计时要综合考虑硬件和软件的设计,使其达到最优的低功耗状态㊂2.1 硬件设计原则2.1.1 供电电压及时钟频率设置M C U 是由若干C MO S 门电路组成,C MO S 的功耗计算公式如下:P =P s t a r t +P Q +P d y n (1)P d yn =C L ˑf ˑV 2c c (2)其中,P s t a r t 是由扩散区和衬底之间的反向偏置漏电流产生的静态功耗,P Q 是动态情况下P 管和N 管同时导通时的短路电流产生的动态功耗,P d y n 是开关电流产生的动态功耗㊂这三项中P d y n 大约占电路功耗的80%,是C MO S 电路的主要功耗[3]㊂在式(2)中C L 为CMO S 的负载电容,f 为系统时钟频率,V c c 为芯片的电源电压㊂由此可知,电源电压V c c 对系统C MO S 电路功耗影响最大,其次是时钟频率f 和负载电容C L ㊂因此,为了能够实现超低功耗,在满足应用要求的前提下,要尽可能降低芯片的供电电压㊂一般而言,时钟频率越大,功耗越大㊂但另一方面,时图1 I /O 电平不固定情况下的电流消耗钟频率与工作时间成反比,时钟频率越高,完成一段代码的执行时间越短,C P U 处于空闲或睡眠状态的时间就越长㊂因此,并不一定是频率越高功耗就越大㊂在有些应用中,提高主频反而可以使平均功耗降低,频率的确定需要根据实际应用中的项目需求而定㊂例如,以不同频率执行相同代码,其功耗大小如表2所列,从表中可以看出对于如下代码,频率在8MH z 时C P U 消耗的平均功耗最小㊂v o i d m a i n (v o i d){ I n i t S o f t WD o g (0,0,0); I n i t G p i o (); I n i t S Y S C l o c k (); w h i l e (1){ P i n 1_0(1);//P 1.0引脚置高 C o d e A (); C o d e B (); C o d e C (); P i n 1_0(0);//P 1.0引脚置低 }}表2 不同频率下执行相同代码的功耗主频/MH z 供电电流/m A C P U 执行相同代码耗时/μs C P U 执行相同代码的功耗(m A ㊃μs )说 明10.16725.054.18342.670.3309.353.08553.50.4107.172.939740.4606.262.87965.330.6104.672.848770.7703.592.764380.8603.132.691810.50.9902.972.9403121.1202.592.9008161.4001.932.7020采用万用表串入供电电路测量供电电流;用示波器捕捉P 1.0引脚的高低电平变化,获取执行时间㊂在测试过程中C P U一直处于a c t i v e m o d e,A C L K 的频率为32.768k H z ,S M C L K 被关闭2.1.2 I /O 口设置默认情况下,M S P 430F R 系列单片机的I /O 口为输入状态,且内部的上㊁下拉电阻未使能㊂因此,I /O 口的电平不确定,从而容易产生寄生电流[2],如图1所示㊂在默认状况下,P 1.0口的电压处于不稳定状态,当P 1.0口的电压为1.7V 左右时,寄生电流能够超过40μA ㊂但P 1.0端口电压为3.0V 或者0V 时,电流几乎为0㊂为此,在进行产品设计时,硬件上可以通过将未用的I /O 接到V c c 或者G N D 上,使其端口电平固定,从而避免产生寄生电流㊂若硬件上未进行相应处理,软件上可以通过将未用的I /O 口设置为输出高电平或低电平,使其端口电平固定;或者将未用I /O 口设置为输入状态,并通过软件设置内部上拉电阻或下拉电阻,使端口的电平保持固定,避免产生寄生电流㊂2.1.3 外部设备M S P 430F R 系列单片机内部包含了丰富的低功耗外设,如D MA ㊁A D C 等器件,合理利用这些低功耗外设能够更好地降低系统的功耗㊂例如在相同情况下搬移1312个字节,M S P 430F R 6972的D MA 模块与m e m c p y()函数所消耗的时间及功耗对比如表3所列㊂D MA 可以在更短的时间内,用更低的功耗实现数据的搬移,且D MA 进行数据搬移时并不会占用C P U ,C P U 可以继续执行其他指令㊂表3 D M A 模块与m e m c p y()函数功能对比功能电流/m A 时间功耗(m A ㊃m s)m e m c p y ()1.2761.65m s2.105D MA2.057272.50μs0.5612.2 软件设计原则典型的低功耗C P U 的工作模式如图2所示,C P U 大部分时间处于空闲或休眠状态,仅有部分外设在工作,此时电流消耗很小㊂只有定时事件完成或有其他事件触发时,C P U 才会进入运行状态执行相应的工作,工作完成后C P U 再次进入空闲或休眠状态,继续等待定时或其他事件的触发,这样系统整体的平均功耗就会很低[4]㊂例如采用M S P 430F R 6972芯片实现串口数据接收功能,可以选择A C L K 作为片内串口模块的时钟源,这样芯片可以长时间处于L P M 3模式下接收串口数据,当要处理接收数据时再进入A c t i v e 模式进行数据处理,从而使单片机功耗保持最佳㊂图2 典型的低功耗C P U 的工作模式此外,在软件编程上尽可能地提升代码的执行效率,缩短C P U 的活跃时间,也可以更好地降低功耗㊂例如尽量使用无符号数,尽可能采用快速查表法来代替复杂的计算等㊂2.2.1 U L P A d v i s o r 代码分析T I 公司提供了U L P (U l t r a -L o w P o w e r )A d v i s o r 分析工具,用于指导开发人员编写有效的代码,以充分利用M S P 430微控制器的独特超低功耗特性[5]㊂U L P A d v i s o r功能可以在I A R 或C C S 编译器中通过设置启用㊂U L P 包含了15条编程规则,在编译时,U L P A d v i s o r 会提供通知和备注,以突出显示代码中可以进一步优化的区域,如图3所示,U L P A d v i s o r 提示f o r 循环的代码可以优化㊂点击图3中m e s s a g e s 对话框中的T I U L P A d v i s o r 报警信息,就会弹出如图4所示的详细说明,并包括优化代码的例子㊂从详细说明中可知,M S P 430单片机内进行非零值比较时需要执行两条汇编指令,而与零比较只需执行一条汇编指令,所以可以将f o r (i i =0;i i <20;i i ++)改为f o r (i i =20;i i >0;i i --),提高代码的执行效率,从而节省功耗㊂图3 U L P A d v i s o r 告警信息图4 U L P A d v i s o r 详细说明2.2.2 E n e r g y Tr a c e 功耗分析在进行单片机超低功耗设计时,辅助的测量方法有很多种㊂可将高精度电流表串入供电回路测量功耗,或者在供电回路中串联一个精密电阻(误差为1%,甚至更低),用示波器实时测量电阻两端的电压等方法㊂为了能够更好地在程序设计过程中了解功耗,可以采用T I 公司的E n e r g y T r a c e 工具㊂E n e r g y Tr a c e 工具主要用于D e b u g 模式,其可以实时记录M S P 430单片机的实时功耗㊁内部外设和芯片运行的状态(见图5)㊁程序里功能函数执行的次数及每个功能函数的功耗,生成l o g 信息并以图表的形式实时展示出来[5]㊂E n e r g y Tr a c e 工具可以对比利用U L P A d v i s o r 工具调整后和调整前的代码的实时功耗情况,如图6所示㊂通过将U L P A d v i s o r 和E n e r g y Tr a c e 结合使用,可以帮助软件人员在程序设计调试中更好地优化代码,从而保证功耗做到最低㊂图5芯片内部外设及运行模式实时追踪图6 E n e r g y Tr a c e 功耗跟踪及对比分析结 语M S P 430F R 系列单片机适用于很多超低功耗实时数据测量场合㊂通过恰当的低功耗硬件设计㊁合理的软件策略及综合的优化方法,可以使M S P 430F R 系列单片机在超低功耗的应用领域中表现得更为优秀㊂参考文献[1]胡大可.M S P 430系列超低功耗16位单片机原理与应用[M ].北京:北京航空航天大学出版社,2000.[2]T e x a s I n s t r u m e n t s .M S P 430F R 58x x ,M S P 430F R 59x x ,M S P 430F R68x x ,a n d M S P 430F R 69x x F a m i l y Us e r s G u i d e [E B /O L ].[201805].h t t p ://w w w .t i .c o m /c n /l i t /pd f /s l a u 367.[3]王昌林,张勇,李东生.C MO S 集成电路功耗分析及其优化方法[J ].舰船电子工程,2006,26(3):123125.[4]杨天池,金梁,王天鹏.嵌入式系统的低功耗设计[J ].仪器仪表学报,2006,27(z 1):946948.[5]T e x a s I n s t r u m e n t s .M S P 430A d v a n c e d P o w e r O pt i m i z a t i o n s _U L P A d v i s o r S o f t w a r e a n d E n e r g y T r a c e T e c h n o l o g y [E B /O L ].[201805].h t t p://w w w.t i .c o m.c n /c n /l i t /a n /s l a a 603/s l a a 603.李志腾(嵌入式软件工程师),主要负责智能配电产品线㊂(责任编辑:薛士然 收稿日期:2018-05-03)。

MSP430G2553单片机超低功耗的研究与设计

MSP430G2553单片机超低功耗的研究与设计
关 键 词 :MS 4 0 5 3 超 低 功耗 ; P ; 源 电压 ; P 3 G2 5 ; L M 电 时钟 频 率 中 图分 类 号 :TP 6 . 381 文 献 标 识 码 :A
Re e c n sg fUl a lw werCon u p in Bas d o SP4 G2 5 s ar h a d De in o t —o Po r s m to e nM 30 5 3
A sr c :Th a e a e h ’ M S 3 G2 5 CU o x m p e ee t g t ed p h l w p we o s mp in mo e( bt t a e p p r t k st eTIS P4 0 5 3 M f re a l ,s l c i h e t o rc n u n o t d LPM)i h o n t ei d e s a e n t er n i g s a e,t e d sg e u e h o rs p l o t g n l c r q e c n s so h re f c ie y d sg rn i i t t .I h u n n t t h e i n r d c st e p we u p yv la e a d co k f e u n y a d u e t e fe tv l e in p i c
2 MS 4 0 2 5 P 3 G 5 3单 片 机 超 低 功 耗 设 计 原 则
MS 4 0系列 单 片 机 是 超 低 功 耗 单 片 机 的 代 表 , 有 P3 它 灵 活 的 时 钟 系 统 、 种 深 度 的低 功 耗 模 式 、 度 自动 化 的 多 高 智 能外 设 , 充 分 利 用 MS 4 0 5 3的 特 性 和 内 部 模 其 P 3 G2 5 块 , 现理想的低功耗特性 。 实

一张图理解msp430f4371的低功耗模式

一张图理解msp430f4371的低功耗模式

一张图理解msp430f4371的低功耗模式430有6中工作模式,在此不再累述,C程序中,使430单片机低功耗进入低功耗的语句非常简单,只需一句LPM0/LPM1/LPM2/LPM3/LPM4即可使其进入低功耗状态。

看了一天430的系统时钟模块和低功耗状态,发现最靠谱的东西还是官网数据手则,迷惑了一天,最终一张图片使思维稍微清晰。

图片如下:从上图得到自己的理解,虽然可能有误,但暂时不影响对430单片机的使用:LPM0:CPUoff置位------------------------>;CPU不能用,MCLK不能用,其他一切照旧活动;LPM1:CPUoff置位,SGC0置位----------->;CPU不能用,MCLK不能用,FLL+停止操作,而ACLK和SMCLK正常活动;LPM2:CPUoff置位,SCG1置位----------->;CPU不能用,MCLK、FLL+、DCOCLK不能用,但直流发生器、ACLK正常工作;LPM3:CPUoff置位,SCG1置位,SCG0置位---->;CPU不能用,MCLK,FLL+,DCOCLK,直流发生器不能用,但ACLK不能用;LPM4:CPUoff置位,SCG1置位,SCG0置位,OSCoff置位----->;LPM3的基础上使ACLK也不能用。

作者认为自己理解有误的地方,就是SCG1的控制范围,即其到底是控制直流发生器还是调制器还是控制FLL+的,由于找不到相关资料,只有勉强做如下理解:SCG1置位的时候,调制器不能工作,自然DCOCLK不能用了,同时FLL+也不能工作,但直流发生器是工作的,只有当SCG1和SCG0同时置位的时候直流发生器才停止工作,这个时候甭管FLL+还是DCOCLK都不能工作了,有可能SCG0对直流发生器也有部分控制作用,但不像对FLL+那样完全控制。

以上理解可能有误,但希望真正懂得高手路过此帖的时候请给予指正,在此谢过。

MSP430系列16位超低功耗单片机原理与实践


MSP430单片机的中断系统 GIE、CPUOFF、
中断请求

中断响应过程
将当前指令执行完 PUSH PC PUSH SR 如果有多个中断 发生,选择最高 优先级的中断 如果是单源中断 则清除中断标志, 否则中断标志保 持置位状态
OSCOFF、 SCG1、C、N、 V、Z清零, SCG0不变
中断向量地址中 的内容装入PC, 开始执行中断服 务程序 POP SR
概述
单片微型计算机 单片机的概念 单片机的特点 单片机的应用

MSP430系列单片机 MSP430系列单片机的特点 MSP430系列单片机命名规则 MSP430系列单片机选型

单片微型计算机:单片机的概念
微处理器的发展一方面是朝着面向数据运算、 信息处理等功能的系统机方向发展。系统机 以速度快、功能强、存储量大、软件丰富、 输入/输出设备齐全为主要特点,采用高级语 言编程,适用于数据运算、文字信息处理、 人工智能、网络通信等场合。 另一方面,在一些应用领域中,如智能化仪 器仪表、电讯设备、自动控制设备、汽车乃 至家用电器等,要求的运算、控制功能相对
MSP430 Roadmap
MSP430X11X系列
MSP430X12X系列
MSP430X13X系列
MSP430X14X系列
MSP430F15X/F16(1)X 系列
MSP430F15X/F16(1)X 系列
MSP430X41X系列
MSP430F43X系列
MSP430F44X系列
函数类型 函数名(形式参数表) 形式参数说明 { 局部变量定义 函数体语句 } [ 存储变量类型 ] interrupt [ 中断矢量变量 ] 函数类型 函数名(形式参数表) 形式参数说明 { 局部变量定义 函数体语句 }

基于TIMSP430芯片的多通道低功耗语音采集系统

n n 语 音 技 术
◎6 @ @ 可@@ 响 圊⑥0 ⑥ 回
基于 T I MS P 4 3 0芯 片 的 多通 道 低 功耗 语 音 采 集 系 统
陈 立春
・ 系 统 设 计 ・
( 哈 尔滨铁 路 局 站 场调 速 技 术 研 究 所 , 黑龙江
哈 尔 滨 1 5 0 0 0 1 )
2 . 1 语 音采集前 级 电路
U S B 2 . 0引擎 的 S O C芯片。在 U S B 2 . 0高速模式下 , 其
语音采集前级电路包括传声器 、 滤波和预放电 路。传声器采用表面贴装 M E M S 传声器 S P Q 0 4 1 0 , 其
灵 敏度范 围 为 一4 5~ 一3 9 d B , 体积仅为 3 . 7 6 i n i n×
2 . 2 主控 和存储 电路
3 软 件设 计 和 实现
对应系统 硬件的结构 , 系统的软件也 由两大部分 组成 : 语音 采 集 和存 储 部 分 实现 多 路 语 音 的实 时 采
集、 处理和存储 ; 而U S B回传部分则实现 了数据 向
P C机 的上传 。总体 软件流程如 图 2所示 。
模 拟的语 音 信 号 经 过 前级 电路 滤 波 放 大 后 , 进 入 主控制器 M S P 4 3 0的 A / D中 , 转换成数 字信号 。为 支持 语音信 号的采 集 , 将 采样 率 设 为 1 6 k H z , 采 样 精 度为 1 6 b i t 。每 路 A / D都集 成 了独立 的硬 件 自动 增 益 控制 ( P G A) , 增益 范 围为 0— 9 6 d B, 单 步 增益 变 化 为6 d B, 可通 过 P G A对输 入信号 的大小进行 控制 _ 3 J 。 A D变换后 的数 据暂 存在 缓存 空 间 , 存 满后 通 过 中断通知 内核进行 处 理 。内核 对数 据进 行 处理 后存 储到 F L A S H存储 器 中。F L A S H存储 器选 用 的是 s a —

用超低功耗MSP430单片机设计数据采集系统


同 地 空 内 一 址 间 。
数 据 采 集 系统 硬 件
- -- i qI Q -
M P 01 仅 有 7 内 指 使 起 非 方 。 S 3 4 仅 2 核 令, 用 来 常 便 4F 9 条
如 下 为 初 始 化 及 触 发 I 端 I电 平 的 程 序 示 例 : / 射 到
地面

m v #500 I o. 000 R 5 W

: ly t 5 Dea o R1
完 成对油 井的监
dc R1 e. W 5
: ermet 5 D ce nR1
测 。 数 据 采 集 部 分 采 用 编码 蓄 电 池 供 电 ,并 要 求 在 井 下 工 作 半 年 到 一 年 的

ROM( E型 ) ls 、F ahMe r ( moy F型) 4种 型 号 ,采 用 冯 . 诺 帜 。 S 40 作 在 1 ~ . M P3工 . 3 V电 压 下 , 正 常 工 作 模式 EP 8 6 有
( AM) 4种 低 功 耗 工 作 模 式 ( M 、 L 和 LP l PM2、LP 3、 伊 曼 结 构 ,因 此 , A 、 O 和 全 部 的 外 围 模块 都 位 于 M R M R M
# c d mp3 1 . il e”s 0 4 h nu 4 x x”

本 设 计 所 需 要 的 数
挥 亚 佳 练 汕 盐 铜I I 县 .
O G FOh R OOO
: rg mS r P r at oa t
定 时 器 中 断 进 入
A 模式 M
设 备 的 井 下 部 分 ,其 安

Sp T mV tWD OW槲  ̄ ,

MSP430系列十六位超低功耗单片机教学实验系统实验教程

另外,MSP430 系列单片机采用矢量中断,支持十多个中断源,并可以任意嵌套。用中断请求将 CPU 唤醒只要 6us,通过合理编程,既以降低系统功耗,又可以对外部事件请求作出快速响应。
在这里.需要对低功耗问题作一些说明。 首先,对一个处理器而言,活动模式时的功耗必须与其性能一起来考察、衡量,忽略性能来看功耗是 片面的。在计算机体系结构中,是用 W/MIPS(瓦特/百万指令每秒)来衡量处理器的功耗与性能关系的, 这种标称方法是合理的。MSP430 系列单片机在活动模式时耗电 250uA/MIPS,这个指标是很高的(传统 的 Mcs51 单片机约为 10~20mA/MIPS)。 其次,作为一个应用系统,功耗是整个系统的功耗,而不 仅仅是处理器的功耗。比如,在一个有多个输入信号的应用系统中,处理器输入端口的漏电流对系统的耗 电影响就较大了。MSP430 单片机输入端口的漏电流最大为 50nA,远低于其他系列单片机(一般为 l~10uA)。 另外,处理器的功耗还要看它内部功能模块是否可以关闭.以及模块活动情况下的耗电.比如低电压 监测电路的耗电等。还要注意,有些单片机的某些参数指标中.虽然典型值可能很小,但最大值和典型值 相差数十倍,而设计时要考虑到最坏情况,就应该关心参数标称的最大值,而不是典型值。总体而言, MSP430 系列单片机堪称目前世界上功耗最低的单片机,其应用系统可以做到用一枚电池使用 10 年。
MSP430 系列单片机有独特的时钟系统设计,包括两个不同的时钟系统:基本时钟系统和锁频环(FLL 和 FLL+)时钟系统或 DCO 数字振荡器时钟系统。由时钟系统产生 CPU 和各功能模块所需的时钟,并且这 些时钟可以在指令的控制下打开或关闭,从而实现对总体功耗的控制。由于系统运行时使用的功能模块不 同,即采用不同的工作模式,芯片的功耗有明显的差异。在系统中共有种活动模式(AM)和 5 种低功耗模式 (LPM0~LPM4)。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于MSP430的极低功耗系统设计摘要MSP4 30是TI公司出品的一款功能强大的1 6位单片机,其显著特点是具有极低的功耗。

本文对构造以MSP430为基础的极低功耗系统作了有益的探讨,对于设计各种便携式设备都具有较高的参考价值。

1 影响系统功耗的主要因素对于一个数字系统而言,其功耗大致满足以下公式:P=CV2f,其中C为系统的负载电容,V为电源电压,f为系统工作频率。

由此可见,功耗与电源电压的平方成正比,因此电源电压对系统的功耗影响最大,其次是工作频率,再就是负载电容。

负载电容对设计人员而言,一般是不可控的,因此设计一个低功耗系统,应该考虑在不影响系统性能的前提下,尽可能地降低电源的电压和使用低频率的时钟。

下面对TI公司新出的MSP430来具体探讨这个问题。

2 基于MSP430极低功耗系统的设计MSP430具有工业级16位RISC,其I/O和CPU可以运行在不同的时钟下。

CPU功耗可以通过开关状态寄存器的控制位来控制:正常运行时电流160μA,备用时为0.1μA,功耗极低,为设计低功耗系统提供了有利的条件。

图1是我们设计的以MSP430为CPU的"精密温度测试仪"(下面简称测试仪)。

该产品使用电池供电,体积小巧,携带方便。

(1)电源电压在使用时应该尽可能地选择最低的电源电压。

对于MSP430而言,可用的最低电压是很低的,最低可达1.8 V。

我们使用TI公司推荐使用的3 V。

通常的电源只提供5 V电压,因此,需要将5 V电压由一个3 V的稳压管降压后给CPU供电,也可以直接锂电池供电。

3 V不是标准的TTL电平,因此,在使用时需要用接口电路使CPU的非TTL标准电平能与TTL 标准电平的器件连接。

这些接口电路应该也是低功耗的,否则会造成一方面使用低电压降低了功耗,另一个方面使用额外的接口电路又增加了系统的功耗。

或者直接使用支持3 V电压的外围芯片。

(2)时钟频率从低功耗的角度看,需要较低的频率,但是在实时应用中为了快速响应外部事件又需要有比较快的系统时钟。

这就需要系统具有两个高低不同的频率,在需要的时候可以在两个频率之间进行切换。

为了保证切换迅速、时间延迟少,又要求低Q值振荡器,同时切换时往往造成时钟频率的不稳定,这对于要求频率稳定的系统,如实时时钟RTC而言又是不适合的。

设计一个完全达到以上要求的时钟系统是很困难的,MSP430采用了一种折衷办法,即在CPU外使用一个较低的频率为32 768 Hz的钟表晶体振荡器生成辅助时钟ACLK,能够保证一些低频率应用场合的要求,对于一些低频工作的外设而言可以直接作为信号源或时钟,而无需增加额外的分频电路;同时,在CPU内部使用结合数字控制振荡器DCO的FLL技术,将ACLK倍频升高,作为系统的主时钟MCLK。

它使得指令能够在较低晶振下获得高时钟时的运行速度,能够满足高速实时的要求。

低、高频之间的切换只需6μs。

对于149型号的芯片而言,更具有第三个频率SMCLK可供外设使用,它可外接二个晶振,当设置DCOR=0时SMCLK使用DCOCLK,当DCOR=I时SMCLK使用第二个外接晶振X2。

X2的频率一般比X1要高,这样便又可以满足高速外设的要求。

(3)低功耗软件控制MSP430的工作模式通过模块的智能化运行管理和CPU的状态组合以先进的方式支持超低功耗的各种要求。

CPU内状态寄存器SR中的SCGl、SCG2、OscOff、CPUOff与功耗有关。

可由软件组合成6种工作模式。

①活动模式--AM正常的工作模式,这时CPU消耗的电能最大。

②低功耗模式0--LPM0CPUOff置位,CPU停止活动,但外围模块继续工作,ACLK和MCLK信号保持活动状态,MCLK的锁频环控制正常工作。

有关控制位设置为:SCGl=0,SCG0=0,OscOff=0,CPUOff=1。

③低功耗模式1--LPMlCPUOff置位,CPU停止活动,但外围模块继续工作,MCLK的锁频环控制停止工作,ACLK 与MCLK保持活动,有关控制位设置为:SCGl=0,SCGO=1,OscOff=O,CPUOff=1。

④低功耗模式2--LPM2CPUOff置位,CPU停止活动,但外围模块继续工作,MCLK锁频环控制停止,ACLK活动,MCLK停止,有关控制位设置为:SCGl=1,SCG0=0,OscOff=O,CPUOf=l。

⑤低功耗模式3一LPM3CPUOff置位,CPU停止活动,但外围模块继续工作,MCLK的锁频环控制和MCLK停止工作,DCO的DC发生器关闭,但ACLK信号仍保持活动,有关控制位设置为:SCGl=1,SCG0=1,OscOfl=0,CPUOff=I。

⑥低功耗模式4--LPM4CPUOff置位,CPU停止活动,但外围模块继续工作,MCLK的锁频环控制和MCLK停止工作,晶振停止,有关控制位设置为:SCGl=X,SCGO=X,OscOff=I,CPUOf=I。

不同工作模式对应的典型电流消耗如图2所示。

这些模式可以完成对晶振的关闭,FLL关闭,还能实现对外设功耗的控制,从而进一步降低系统的功耗。

为了充分利用CPU的低功耗功能,可以让CPU工作于突发状态。

在通常情况下,根据需要使用软件将CPU设定到某一种低功耗工作模式下,在需要时使用中断将CPU从休眠状态中唤醒,完成工作之后又进入休眠状态。

MSP430的可编程中断结构可以组成灵活的片上和外部中断体系,以适应实时中断驱动系统的需要。

中断可由处理机的运行状态来启动,如看门狗溢出、外部模块发生的事件等。

每个中断源可以用中断允许位单独关闭,而状态寄存器中的通用中断允许位GIE可以禁止全部中断。

当中断请示发生并且相应的中断允许位和通用中断允许位(GIE)置位时,中断服务程序按以下顺序激活:如果CPU处于活动状态则完成当前执行指令。

如果处于省电状态,则终止低功耗模式→将指向下一条指令的PC值压入堆栈→将SR压入堆栈→如果在执行上条指令时已有多个中断请求发生,则选择最高优先级者→在单一中断源标志中的中断请求标志位自动复位,多中断源标志仍保持置位以等待软件服务→通用中断允许位GIE复位,CPUOff位、OscOff位和SCGl位复位,SCG0不改变,FLL环路控制保持原有工作状态,状态位VNZ和C复位→将相应的中断向量值装入PC,程序从该地址继续执行中断处理,中断响应从接受中断请求开始到执行相应的中断服务程序的首条指令,持续6个周期,中断处理结束的最后指令为RETI→将SR从堆栈中弹出,被中断的程序回到与中断前完全相同的状态→将PC从堆栈中弹出。

因此它的中断系统也配合极低功耗的要求,一个中断事件可将系统从各种工作模式中唤醒,而RETI指令又使运行返回到事件发生前的工作模式,不需额外的指令。

测试仪的主要工作就是测量并显示温度。

系统启动后首先进入低功耗的休眠模式,因为温度的测试可以间隔一段时间测量一次,设定一个触发周期,当周期的触发脉冲到来时,CPU退出休眠,测量温度并显示,检测完之后又自动回到休眠状态。

(4) 外设MSP430系列微控制器的运行主要受控于存储在特殊寄存器(SFR)中的信息,不同SFR中的位可以根据需要允许中断或用来定义外围模块的工作模式,能够作到部分或全部禁止外围模块的功能,被禁止的外围模块将停止它的功能以减少电流消耗。

例如,Basic Timerl可以根据需要对输入时钟源选择MCLK、ACLK或ACLK/256之一,同时控制位包含HOLD,当HOLD=1时,可以禁止模块的所有功能,并把功耗降低到最低只有漏电流。

串口是系统与外界联系的重要手段,可以利用MSP430对帧的敏感作为启动条件。

通常情况下都应该从低功耗模式中被启动,这就需要用到UART的中断接收方式,有关代码如下:IFG2 .EQU 3 ;URXIFG和UTXIFG标志地址UTCTL .EQU 71h;USART控制寄存器UTXIFG .EQU 0URXSE .EQU 8……URX-INT BIT.B #URXIFG,&IFG2;检查URXIFG信;号以确定帧开始JNE ST- COND……ST- COND BIC.B #URXSE,&UTCTL;清除URXS触发器;信号,消除中断请求BIS.B #URXSE,&UTCTL;准备用URXS触发;器检查下一帧开始条件当有多台机进行通信时,还应该充分利用线路空闲多处理机模式。

使用此模式可以使处于多机通信的CPU在接收数据之前首先判断地址,如果地址与自己软件中设定的一致,则CPU 被激活接收下面的数据;如果不一致,则保持休眠状态。

这样可以最大限度地降低UART 所消耗的功率。

低功耗系统必须采用LCD,MSP430有些型号中已经为我们集成了LCD驱动器,在使用时只有需要显示时才打开LCD模块,休眠状态下控制LCD的控制方式与模式寄存器中的LCDM0=0,可以关闭LCD。

LCDM1=1,高电压驱动;LCDMl=0,驱动低电压。

尽可能选择低电压驱动。

通过以上处理,LCD的功耗可以达到最少。

MSP430的A/D也具有微功耗的模式。

当转换结束时(EOC),中断标志会自动设置进入中断例程,通知处理机一次转换已经完成。

这时CPU关闭A/D时钟,A/D通道停止工作,直到下一次SOC位置位才开启,因此,模/数的开启是可以由CPU通过控制ACTL寄存器主动进行的。

"测试仪"需要测量传感器送来的电压,使用A/D进行模/数转换,可以通过键盘输入或周期性触发脉冲选择开启A/D转换,完成后又自动关闭,以节省电流消耗。

此外在设计外设时还有一些常规原则:将不用的FETI输入端连接到VSS;JTAG端口TMS、TCK和TDI不要连接到VSS;CMOS输入端不能有浮空的节点,将所有输入端接适当的电平;不论对于内核还是对于各外围模块,选择尽可能低的运行频率,如果不影响功能应设计自动关机。

3 总结综上所述,MSP430以其卓越的性能和极低功耗的特点,使我们有很大的余地可以设计出高性能的微功耗系统。

实践证明:使用MSP430为核心构成的便携式系统,其电池的使用寿命可以比基于一般CPU的系统延长3-5倍。

可以预见,在不久的将来基于MSP430的微功耗便携式系统将越来越多,这也正是我们讨论的意义所在。

相关文档
最新文档