MSP430实现低功耗水文遥测终端机
使用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模式,这样就大大降低了系统的功耗。
(2) 片内模块的考虑
MSP430F147集成了较多的模拟模块,如ADC、Comparator A、SVS等。对于模拟模块,工作频率对供电电流几乎没有影响,而工作电压却有较大影响,故对于不使用的模块应该在程序初始化时将其关闭,从而通过软件设置降低功耗。
(3) 软件流程
终端机的软件流程如图2所示。整个程序采用查询式结构,分为主程序和 中断程序。主程序包括端口、变量和内部寄存器的初始化以及数据处理。中断程序用于响应事件并对相应标志置位,然后将参数返回给主程序处理。将微控制器从低功耗模式唤醒至激活模式共有两类中断:外部中断和内部中断。由于雨量、水位、强发信号具有随机性,故由微控制器的外部中断响应这三个事件。另外由片内定时器产生内部定时中断,用于在无水位和雨量变化时定时发送数据。对于清除、站址等编程功能,则在主程序中通过对外部编程开关的读取来完成。
.
- ZigBee SoC的设计研究(11-21)
- 基于ATmega16单片机的数字电子秤的设计(09-12)
- 新一代智能计量仪表详解(09-23)
- 实现嵌入式系统集成射频:ZigBee的设计考虑因素(10-27)
- PVDF传感器和WSN的振动信号测量系统(04-05)
- 基于Cortex-M3的微控制器热电偶测量系统(01-15)