历史上的今天

今天是:2024年10月30日(星期三)

正在发生

2020年10月30日 | 用MSP430设计超低功耗数字温度计

发布者:Yinyue1314 来源: elecfans关键字:MSP430  超低功耗  数字温度计 手机看文章 扫描二维码
随时随地手机看文章

  概述

  很多地方都需要测量温度。在设计温度遥测系统时,通常需要采用电池供电的极低功耗模块。传统的测温手段比较多,但不论是采用分立晶体管、热敏电阻,或者是热电偶,功耗都降不下来。本文介绍了一种满足低功耗要求的可行方案,该方案使用一枚极低功耗的、带Flash存储器的MCU,以及数字温度传感器、液晶模块(LCD)和一个32kHz的钟表用振荡器。该方案的突出特点是节能耐用,仅需一枚纽扣电池,就可以连续工作10年以上。


  工作原理

  图一所示MCU扩展系统的电源是一枚CR-2032型纽扣式锂电池,这种电池的容量为220mAh。要让系统达到连续工作10年(87600小时)的要求,允许的最大负载电流可以用以下方法计算出来:

  220mAh / 87,600小时 = 2.51 A

  这个测温系统不但要测量温度,还要连续显示测量结果。当系统处于单步模式时,TMP100温度传感器每完成一次测量,就会自动进入关断模式,此时的典型功耗为0.1 A;系统处于节能低功率模式(LPM3)时,晶振、LCD驱动器和16位定时器继续工作,此时MSP430的典型功耗为0.9 A;3位半LCD的典型功耗为1 A。

  系统每个工作周期的耗电情况如图2所示,温度传感器、MCU和LCD的总功耗平均值为2.45 A。为了尽可能延长电池的使用寿命,在工作周期内的绝大多数时间,系统都处于等待模式。


  硬件设计说明

  电池加上一只0.1 F的去耦电容,构成了这个系统的电源。MCU的复位端连接一只68k的上拉电阻,时钟脉冲(ACLK)取自32.768KHz的钟表用晶体。在I2C总线的SCL(时钟)和SDA(数据)上,分别连接一只10K的上拉电阻。


  工作原理

  MCU同温度传感器之间通过I2C总线连接。I2C总线占用2条MCU输入输出口线,二者之间的通信完全依靠软件完成。温度传感器的地址可以通过2根地址引脚设定,这使得一根 I2C总线上可以同时连接8个这样的传感器。本方案中,传感器的7位地址已经设定为1001000。MCU需要访问传感器时,先要发出一个8位的寄存器指针,然后再发出传感器的地址(7位地址,低位是WR信号)。传感器中有3个寄存器可供MCU使用,8位寄存器指针就是用来确定MCU究竟要使用哪个寄存器的。本方案中,主程序会不断更新传感器的配置寄存器,这会使传感器工作于单步模式,每更新一次就会测量一次温度。


  要读取传感器测量值寄存器的内容,MCU必须首先发送传感器地址和寄存器指针。MCU发出一个启动信号,接着发出传感器地址,然后将RD/WR管脚设为高电平,就可以读取测量值寄存器。


  为了读出传感器测量值寄存器中的16位数据,MCU必须与传感器进行两次8位数据通信。当传感器上电工作时,默认的测量精度为9位,分辨力为0.5 C/LSB(量程为-128.5 C至128.5 C)。本方案采用默认测量精度,根据需要,可以重新设置传感器,将测量精度提高到12位。如果只要求作一般的温度指示,比如自动调温器,那么分辨力达到1 C就可以满足要求了。这种情况下,传感器的低8位数据可以忽略,只用高8位数据就可以达到分辨力1 C的设计要求。由于读取寄存器时是按先高8位后低8位的顺序,所以低8位数据既可以读,也可以不读。只读取高8位数据的好处有二,第一是可以缩短MCU和传感器的工作时间,降低功耗;第二是不影响分辨力指标。


  MCU读取传感器的测量值后,接下来就要进行换算并将结果显示在LCD上。整个处理过程包括:判断显示结果的正负号,进行二进制码到BCD码的转换,将数据传到LCD的相关寄存器中。


  数据处理完毕并显示结果之后,MCU会向传感器发出一个单步指令。单步指令会让传感器启动一次温度测试,然后自动进入等待模式,直到模数转换完毕。MCU发出单步指令后,就进入LPM3模式,这时MCU系统时钟继续工作,产生定时中断唤醒CPU。定时的长短可以通过编程调整,以便适应具体应用的需要。


  功能扩充

  实现上文所述方案的程序代码只有400字节左右,而MCU的 Flash程序存储器有8k之多。此外,虽然MCU有256字节的RAM,但是本程序一个字节都不必用。这256字节的RAM以及那些未用的在系统可编程 (ISP)Flash存储器可以用来记录历史数据。另外,MCU还剩余22根输入输出口线、一个双端电压比较器和一个完整的三通道16位定时器TImer A,这些空闲的资源可以用来实现其他一些常用的功能,例如键盘、合成铃声、模数转换、电池电量检测以及串行通信功能。由于系统时钟使用的是32kHz的钟表晶体,所以可以利用定时器中断实现时钟功能(RTC)。


  由于温度传感器和MCU之间采用了I2C总线,所以,可以依靠分配不同的地址连接更多的传感器。以3位地址的TMP100传感器为例,总线上最多可以同时连接8枚传感器。


  小结

  本文介绍了一种极低功耗测温装置的软硬件设计方案,方案采用了MCU、传感器和LCD显示屏,具有功能完善、节能耐用、结构简单、外形小巧、价格低廉等优点。按照该方案制作的测温装置不但可以达到测量要求,而且可以在使用一枚3V电池供电的情况下,连续工作10年以上而不必更换电池。

关键字:MSP430  超低功耗  数字温度计 引用地址:用MSP430设计超低功耗数字温度计

上一篇:基于MSP430便携式心率测量系统电路设计图
下一篇:基于MSP430的心电数字无线遥测系统

推荐阅读

不管你对Elon Musk的个人看法如何,但我们都要承认特斯拉是目前为止唯一可以实现整车OTA的公司。特斯拉的整车更新不仅局限于Infotainment的软件更新,它还可以直接将软件补丁发送到相关的单个ECU,以实现安全及车辆操控上的更新。毕竟,世界上不会存在“无bug的软件”,因此对于软件变得越来越复杂的车辆来说,用OTA来修补漏洞的能力将会变得越来越重要。...
AMD即将正式发布首款主流桌面级16核心32线程处理器锐龙9 3950X,其热设计功耗达105W,无疑对于主板支持提出了更高的要求,但神奇的是,入门级的廉价A320主板,居然也能支持它!在此之前,我们曾在锐龙9 3950X的主板支持列表中看到只卖359元的A320M-DVS R3.0,当时还以为是笔误。但没想到,在映泰公布的锐龙9 3950X主板列表中,除了X570、X470、B4...
对于苹果来说,让iPhone支持5G网络,这就是最大的升级,叠加一切其他因素,同时还有众多老用户的换机热情,这些对苹果来说都是极大的利好。知名调研机构Strategy Analytics最新发布的研究报告指出,按收益来说,三星Galaxy S20 + 5G是2020年上半年全球最畅销的5G智能手机型号,而苹果iPhone 12有望在2020年下半年获得桂冠。按照Strategy Analytics总...
今天,博主@数码闲聊站曝光了小米12的钢化膜。  @数码闲聊站爆料,小米12为双曲面、挖孔屏形态,前者摄像头居中,屏下指纹位置适中。  和上一代小米10对比,小米12的摄像头位置由前代的左侧移至顶部中央位置,由四曲面变为双曲面。  按照惯例,小米数字系列会首发或首批搭载高通新一代骁龙8系列旗舰处理器。  从曝光的信息来看,高通下一...

史海拾趣

问答坊 | AI 解惑

大侠,有会用429总线的嘛?

求求了 小弟现在要用这个东西, 但以前没接触过。有什么建议或资料可以分享一下…

查看全部问答∨

问题分析,大家热情指教,共同提高

在quartus中写如下的代码: module test(go,out); input go; output out; wire out; reg out1; assign out=out1; always @(negedge go) begin    out1=1\'b1;       #10 out1=1\'b0;   end ...…

查看全部问答∨

请教一个OLED的问题,请懂的朋友指导一下

最近在做S6E63D6为驱动芯片的OLED屏驱动,用SPI控制屏幕,那LCD控制器还有用吗,因为以前的驱动是控制LCD的,我想在那个基础上改,是不是LCD控制器的作用完全被SPI控制器取代了?还有怎么启动RGB模式,感觉思维比较混乱,希望有高手帮忙下 …

查看全部问答∨

spwm的问题

在编写spwm程序的时候,要做一个 正弦表供程序查询, 请问 对于这个表没多少度给出一个正弦值合适? 是不是跟载波比有关系呢?…

查看全部问答∨

msp430用ADC10实现按键设计

有没有人用ADC10实现按键检测的可行性方案,该怎样实现,为了节省430  IO口,希望大家共同探讨下~~~…

查看全部问答∨

【第0周】Hanker | 开机跑demo

大约是因为同城的缘故,今天收到试用的M4开发板了。 采光不好,将就着看吧。必须要说的是做工很好,板子看上去很漂亮。美中不足是没有配套光盘。 上电,是一个计算器的demo。随便试了一个7+6=13.   这里提一个小小的建议:因为触摸屏 ...…

查看全部问答∨

TI Code Composer Studio (CCS) v5.x中文应用指南-软件、安装、注册、教程、示例全集

CCS开发软件的历史 早期的开发软件叫CC,版本是 4.10,分四个系列(2000、3000、5000、6000), 所以有四套软件,可以安装在同一台计算机上。 现在仅在特定的几个DSP上使用。 随后的开发软件叫CCS,版本是2.21,分三个系列(2000、5000、6000), 所以 ...…

查看全部问答∨

ALIENTEK战舰STM32开发板学习笔记01

大家好,我是一名新手,最近正在学习“ALIENTEK战舰STM32开发板”,下面把总结到的一些东西分享给大家; 希望大家多提宝贵意见; 本人菜鸟一个,希望大虾多多拍砖! 我今天学习的是“STM32开发指南V1.0 库函数版本”第六章的内容; 这一章主要 ...…

查看全部问答∨

MSP430 PID温度控制(转帖)

程序框架: 本设计使用高速晶体振荡器,程序如下:BCSCTL1 &= ~XT2OFF;//打开XT2高频晶体振荡do{   IFG1 &= ~OFIFG;//清除晶振失败标志   for (i = 0xFF; i > 0; i--);//等待8MHz晶体起振}   while ((IFG1 ...…

查看全部问答∨

静态IP设置

怎么在Flash上启动的系统设置静态IP,我试了好多次都不行求帮助,…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

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

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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