基于MSP430的低功耗水文遥测终端机实现

发布者:salahc1983最新更新时间:2012-07-21 来源: 21ic 关键字:MSP430  低功耗  水文遥测终端机 手机看文章 扫描二维码
随时随地手机看文章

  水文遥测系统通常由终端机、中继站和中心站三部分组成。现有的水文遥测系统终端机通常采用MCS51微控制器作为控制芯片并配以较多的模拟电路和逻辑门电路,其设计复杂,功耗和可靠性难以得到保证。MPS430具有很多优势:它能够工作在1.8~3.6V的宽电压范围内;在1MHz时钟、2.2V电压的典型工作条件下,静态电流仅为 225μA;具有5种低功耗工作模式,在不同的模式下消耗电流为 0.1~340μA,用中断方式将微控制器从低功耗模式唤醒至激活模式下,仅需要6μs。本文以MSP430F147作为控制芯片,同时结合其他外围低功耗器件分别从硬件和软件两个方面介绍一种新型低功耗终端机的设计。

  终端机工作原理

  终端机采用自报工作方式,在雨量或水位数据没有变化时处于低功耗的值守模式,此时CPU、主时钟(MCLK)以及内部数字振荡器(DCO)均不工作,微控制器仅由低速辅助时钟(ACLK)来驱动,系统功耗很低。当水位或雨量变化一个单位或定时发送时,便会使微控制器立即进入激活模式,并且启动FM发射机发送一次数据,数据发送完后再转入低功耗模式,直到下一次发送数据。终端机除具有雨量、水位、定时发送等基本功能外,为了便于维护,还具有强发和编程功能,各个功能的描述如下。

  雨量发送

  当雨量计产生一个通断信号时,由雨量传感器输出一个具有一定宽度的雨量脉冲信号,此信号作为外部中断,唤醒处于低功耗模式的微控制器,在6μs内微控制器转入激活工作状态,并控制供电电路给处于掉电状态的电路和FM发射机供电,使之上电工作。此时微控制器将检测到的雨量信号进行累加和保存,并读入测量站站址和电池状态,将以上数据装帧后传送给FM发射机,由FM发射机将数据发送给中继站,发送完毕后控制相关电路掉电后转入低功耗模式工作。

  水位发送

  与雨量发送的过程相似,水位发送只是当微控制器检测到水位脉冲信号后,从水位计上读入此时的水位值,并与上次所读入值相比较。若有变化则读入测量站站址、电池状态后发送数据;若无变化则直接返回低功耗模式工作。

  定时发送

  微控制器由内部定时中断唤醒后,首先读入编程开关状态,依据编程开关设置确定由EEPROM中读入水位数据还是雨量数据,然后再发送。

  强发功能

  按下强发键并持续0.5s将迫使终端机发送数据,以此达到维护和检查终端机的目的。

  编程功能

  通过外部DIP编程开关,可以对终端机的站址、是否清除已有数据以及定时发送何种数据进行编程设置。由于外部EEPROM存储器的擦写次数有限,“清除”可使外部EEPROM内的数据更换新地址,从而延长其使用寿命。同时还可以通过此开关设置定时发送水位数据还是雨量数据,或者两者一起发送,从而使终端机配置水位终端机、雨量终端机或者水文终端机。

  硬件电路设计

  由于硬件电路是主要的耗电部分,故在芯片选择和电路设计过程中主要考虑低功耗的因素。终端机硬件电路如图1所示,雨量、水位和电压信息分别通过各自的传感器接到微控制器的I/O口,微控制器对这些数据进行采集,然后进行相应的处理。

水文遥测控制单元电路

  (1) 控制单元

  整个硬件电路的核心是MSP430F147微控制器,它控制各个单元协调工作,是整个电路主要的耗电部分,对它的功耗控制主要是系统交替工作于高速、低速两种时钟和通过软件设置其不同工作模式来完成,这两部分的设置和实现将在时钟电路和软件设计部分介绍。[page]

  (2) 电源管理电路

  终端机由太阳能浮充的免维护蓄电池供电,该蓄电池除了给FM发射机提供+12V电源外,还给控制电路提供 +3V的电源,这就需要电压转换电路。Maxim公司的电源管理ICL7663的静态 工作电流只有10μA,输入电压范围1.5~16V,输出电压范围1.3~16V,由于它功耗极低,非常适合于电池供电的设备中,故采用ICL7663可以进一步降低终端机的功耗。输出电压可由式

  (1)得出。(1)式(1)中Vset的典型值为1.3V,R1、R2为偏置电阻,用来设置输出电压。图1电路中中选择R1=1MΩ、R2=1.3MΩ,经式(1)计算可得输出电压Vout=3V。

  输出电流可以通过限流电阻Rcl来设置,由式

  (2)得出。(2)图1电路中选择Rcl=20Ω,经计算输出电流为35mA,满足本设计的要求。

  (3) 时钟电路

  在CMOS数字逻辑器件中,功耗与系统时钟频率f(clk)成正比,见式

  (3)。(3)式(3)中C是COMS的负载电容,V是电源电压,E(sw)是跳变频率。由式(3)可知在负载电容、电源电压和跳变频率基本不变的前提下,要实现低功耗就需要降低微控制器的工作频率。MSP430F147的特色是具有两个外部时钟源,一个为低速的辅助时钟(ACLK),另一个为高速的主时钟(MCLK)。ACLK可以使用32.768Hz的手表晶振,它可以给系统提供稳定的时间基准并且降低微控制器的功耗,而MCLK可以使用4MHz的晶振,并可以配置成在需要系统全速工作时由中断唤醒,从而高效执行相应的程序和高速处理数据。

  (4) 外部存储器和复位电路

  这部分电路采用Xicor公司的X25045,该芯片将可编程看门狗、电压监控、EEPROM集于一体,具有体积小、占用I/O少等优点,应用于系统中可以简化微控制器系统的设计。芯片采用SPI口与微控制器数据交换,通过片内可选时间的看门狗定时器可以在微控制器程序跑飞或者死锁时复位,这样便提高了系统的可靠性。

  软件设计

  在软件方面,主要通过模式的选择和片内模块的使用两方面来降低功耗。

  (1) MSP430F147的低功耗工作模式

  MSP430F147共有5种低功耗工作模式(LPM0~LPM4)和一个激活模式(AM),任何低功耗的模式都可以由任何允许的中断唤醒,从而回到激活模式,且转换时间低于6μs。不同工作模式在1MHz时钟下的典型功耗见表1。

  MSP430F147的不同低功耗模式是通过配置状态寄存器SR中CPUOFF、OSCOFF、SCG0、SCG1 4个模式控制位来实现的,这四位有效与否的不同组合可以达到控制微控制器时钟系统的目的。根据终端机的低功耗设计要求,可以配置状态寄存器SR使微控制器工作于LPM3模式。此时CPUOFF、OSCOFF、SCG0、SCG1 4个模式控制位的值分别为1、0、1、1。在该模式下,CPU、主时钟(MCLK)和内部数字振荡器(DCO)均不工作,微控制器仅由辅助时钟(ACLK)驱动,此时工作电流仅为2μA,功耗很低。处于该模式的微控制器可以由雨量、水位等外部中断或者内部定时中断唤醒,唤醒后进入激活工作模式,此时被关闭的各部分电路将恢复正常工作。由此可以在终端机需要发送数据的时候激活微控制器,不发送的时候则使微控制器进入LPM3模式,这样就大大降低了系统的功耗。

[page]

  (2) 片内模块的考虑

  MSP430F147集成了较多的模拟模块,如ADC、Comparator A、SVS等。对于模拟模块,工作频率对供电电流几乎没有影响,而工作电压却有较大影响,故对于不使用的模块应该在程序初始化时将其关闭,从而通过软件设置降低功耗。

  (3) 软件流程

水文遥测终端机的软件流程

  终端机的软件流程如图2所示。整个程序采用查询式结构,分为主程序和 中断程序。主程序包括端口、变量和内部寄存器的初始化以及数据处理。中断程序用于响应事件并对相应标志置位,然后将参数返回给主程序处理。将微控制器从低功耗模式唤醒至激活模式共有两类中断:外部中断和内部中断。由于雨量、水位、强发信号具有随机性,故由微控制器的外部中断响应这三个事件。另外由片内定时器产生内部定时中断,用于在无水位和雨量变化时定时发送数据。对于清除、站址等编程功能,则在主程序中通过对外部编程开关的读取来完成。

关键字:MSP430  低功耗  水文遥测终端机 引用地址:基于MSP430的低功耗水文遥测终端机实现

上一篇:单片机测控的通用系统
下一篇:基于MSP430单片机的智能阻抗测量仪设计

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

MSP430F5529/G2553单片机频率设置程序
MSP430F5529/G2553单片机的频率设置c语言程序: #include "msp430F5529.h" #define P15_H (P1IN & BIT5); #define P15_L (P1OUT & (~BIT5)); int tt=0,temp,kk,i; void delay(int ns) { int kk; while(ns--) for(kk=0;kk 120;kk++); } //******A/D转换函数设置*****// void adc1() { P1SEL |=BIT6; //转换模拟信号从P1.6输入,内部集成了转换模块 ADC12CTL0 =
[单片机]
恩智浦:低功耗智能处理器可满足云到边缘的转变
如果您一直在关注物联网的发展,那么您就会知道,在这场革命的初期,用户生成的数据不是在本地处理,而是在遥远的云数据中心处理。但很明显,这并不是最有效的方法。从生成数据到数据中心再返回边缘的往返时间太长,开销太多,并且消耗了大量通信资源。 恩智浦高级副总裁兼边缘处理总经理Ron Martino说:“您不会注意到智能恒温器中的毫秒级延迟。但是对于工业机器人和许多实时系统而言,这可能造成安全隐患,而对于联网车辆而言,这是生死攸关的问题。” 如果机器学习算法在本地处理数据,则可以解决这些问题,前提是可以以合理的成本以相当小的尺寸提供足够的处理性能。但是,在最初构想复杂的边缘处理时,成本效益并不是优先考虑的事情,因此高端网关和云计算机
[嵌入式]
MSP430集成开发环境之CCS
Code Composer Studio(CCS 是用于 TI DSP、微处理器和应用处理器的集成开发环境)。 Code Composer Studio 包含一整套用于开发和调试嵌入式应用的工 具。 它包含适用于每个 TI 器件系列的编译器、源码编辑器、项目构建环境、调试器、描述器、仿真器以及多种其它功能。 Code Composer Studio IDE 提供了 单个用户界面,可帮助您完成应用开发流程的每个步骤。 借助于精密的高效工具,用户能够利用熟悉的工具和界面快速上手并将功能添加至他们的应用。Code Composer Studio 均基于 Eclipse 开放源码软件框架。 Eclipse 软件框架可用于多种不同的
[单片机]
<font color='red'>MSP430</font>集成开发环境之CCS
CC1101与MSP430F5438的无线通信程序编写
在CC1101通讯的时候主要值得注意的,1、SPI的底层是个基础,包括单片机带的SPI接口也好,自己用IO口实现也好,怎么来实现和硬件之间的链接了。2、编程实现的时候注意时序问题。。SPI的时序都一样,但是操作芯片的时候可能有应答,可能没有应答。。3、花最大功夫研究里面的寄存器的配置。整个通讯成功与否,通讯效果好不好都在寄存器的配置上。。个人认为必须理解各个寄存器的作用及使用的目的及意义了。。4、GDO0等IO口的配置在整个系统中的运用非常重要。常见配置值0x01,0x02,0x03,0x06,0x07,其中配置值最为常用配置0x06了,但是了,对于各种需求可以相应修改了,具体手册上写的比较明白。。 以下为2个CC1101和一
[单片机]
使用MSP430F5529的ADC测量,并用OLED显示传感器输出的模拟量
导语 在所有的嵌入式应用中几乎都会用到的一个功能就是ADC模块(模数转换器)。 在这里笔者分享用CCS开发环境使用MSP430F5529中的ADC来读取灰度传感器输出的模拟量,然后读取电压并将其显示在OLED上。 效果展示 MSP430F5529有4个12位ADC通道,分别为P6.0~P6.3。ADC计算公式: ADC转化结果为0-4095,最大值为2的12次方。 此外MSP430的ADC有4个转换模式:单通道单次转化,多通道单次转化,单通道多次转化和多通道多次转化。在这里用的是多通道多次转化,毕竟要在OLED上显示多个通道的ADC值,这些值是随传感器变化的。 主函数代码 /******************接线
[单片机]
使用<font color='red'>MSP430</font>F5529的ADC测量,并用OLED显示传感器输出的模拟量
基于MSP430单片机的PID参数整定义
  PID控制是最常的控制策略,在工业过程控制中90%以上的控制回路具有PID结构。PID控制之所以被广泛应用主要是因为它算法简单,在实际中容易被理解和实现,而且许多高级控制都以PID控制为基础。但是由于环境的变化,使被控对象具有时变性,参数经过一段时间以后会出现性能欠佳、适应性变差、控制效果下降等情况。因此,寻求参数自动整定技术,以适应复杂工况及高性能指标的控制要求,是实现节能优化控制的重要手段,具有重大的工程实践意义。   1 自整定过程原理   本文主要研究了一种手持式的PID参数整定仪器,此整定仪具有整定单变量和双变量的双重功能,控制系统主要采用低能耗的MSP430微控制器,软件部分采用的软件开发平台是IAR MSP4
[单片机]
基于<font color='red'>MSP430</font>单片机的PID参数整定义
PIC10F20X系列单片机的四例应用
由Microclaip Technology Inc出品的单片机:PIC10F200/202/204/206,因采用了SOT-23-6封装,被称着为世界上最小单片机。其仅有33条单字指令,除了程序跳转指令为双周期指令外,其余均为单周期指令(12位宽);含2级硬件堆栈、数据和指令(直接、间接和相对寻址模式)、8位宽数据总线、8个特殊功能硬件寄存器:工作速度为4 MHz内部时钟1μs指令周期的RISC架构单片机,完成需要微型化、极小电路 板空间、高性价比、低电源电压供电的低功耗环境嵌入式系统开发。 在以下LED的变闪灯驱动、医用输液监视、配合555用于电热剪调控、高亮LED亮度调光的4例应用中,通过其集成开发环境MPLAB ID
[单片机]
PIC10F20X系列单片机的四例应用
msp430程序升级方法
最近在搞430的FLASH的自定义法(利用串口)程序烧写,烧写完成后断电复位,reset按键就可以运行新的程序。但是和学长交流了一下,这种方法不够好,希望有一种软复位的方式。于是百度了一下,都是些对看门狗进行写入特殊值使得430的cpu复位。反正个人是没有采用。 因为在搞程序的烧写下载,所以看了一下430的BSL。看到里面有一段话,关于从C代码中启动BSL的方法。如下: 从一个外部应用中启动BSL 将程序计数器设定到内存为位置0x1000 来启动BSL。堆栈一直被复位,而RAM 被清空。应该注意的是,GIE 位未被禁用,所以如果不需要中断的话,这一步应该通过调用应用来完成,并且如果它们被使用的话,这一步应该从“返回BSL
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

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

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