基于MSP430F247和TMP275的测温仪的设计方案

时间:2010-12-23

     摘要:  介绍了一种TI公司推出的MSP430F247单片机,利用它自带的I2C模块驱动I2C总线的温度传感器TMP275。TMP275是一款具有高、低功耗的新型温度传感器。由于TMP275具有可编程功能,纤小的封装以及极大的温度范围,因而广泛应用于组建超小型温度测量装置。

  1 引言

  TI公司的MSP430单片机以独特的低功耗和模块化设计赢得了设计者的青睐。新型MSP430F247其性价比相当高,该16位单片机处理速度快,超低功耗,能节省很多资源;MSP430F247内置I2C模块,方便了程序编写,大大降低了程序的出错率。同时更多的I/O口可以级联更多的外围器件,而无需使用地址数据锁存器件,既方便了程序的编写,也简化了硬件电路的设计。

  温度传感器TMP275可直接输出数字信号,而无需取样、放大、滤波和模数信号的转换,可以直接传输给单片机信号处理系统;而且输出信号分辨率可以达到0.0625,测温±0.5℃,若使用MSP430F247做控制器,可直接与其自带的I2C模块相连,使用方便。

  2 电路设计

  2.1 总体方案设计

  该测温仪的硬件结构由温度测量、控制电路、显示电路和电源电路等4部分组成。总体方案框图如图l所示。

总体方案框图

  2.2 单元模块设计

  2.2.1 控制电路

  控制电路采用MSP4313F247完成数据的测量和处理,实现温度测量和控制输出显示功能,电路如图2所示,其中的P3.1.P3.2分别是MSP430F247自带I2C模块的SCL和SDA,可以直接连接TMP275,不用再模拟I2C口,应注意接上拉电阻。

控制电路
图2 控制电路

  2.2.2 温度测量

  测温部件采用TI公司生产的温度传感器TMP275,以数字形式用I2C总线向CPU传输数据,图3给出温度测量电路。

温度测量电路

图3 温度测量电路

  TMP275是一个I2C总线的温度传感器,测温范围一40℃~+125℃,在一20℃~+100℃之间误差仅为±0.5℃。

  TMP275内部有指针寄存器、配置寄存器、温度值寄存器、高温和低温限制寄存器等5个寄存器。

  指针寄存器是通过P1,P0识别哪个寄存器来响应读写命令。其格式字如表1所示,指针地址如表2所示。


  配置寄存器是一个8位可读写的寄存器,用来存储TMP275的工作模式控制字,详细资料请参见参考文献。

  温度寄存器是12位补码只读寄存器,用来存储近变换得到的数据,存储形式与TI公司的TMPl00和DALLAS公司的DSl8820相同。该寄存器通过2个字节读写数据,如表3,表4所示,且先传输高8位再传输低8位,其中个字节8位有效,第二个字节只有高4位有效。上电和复位后读出的是0°。图4和图5分别是I2C数据写、读时序图。


I2C数据写时序

图4 I2C数据写时序

I2C数据读时序

图5 I2C数据读时序

  2.2.3 显示电路

  图6给出显示电路,显示部分主要由3个共阴数码管组成,以达林顿集成电路ULN2003和74LS06作为反向驱动。

显示电路

图6 显示电路

  2.2.4 电源电路

  该装置的电源由两部分组成:由三端稳压器LM7805提供的+5 V。主要给ULN2003,74LS06以及温度传感器TMP275供电:由TI公司专用电平转换器TPS76033提供的3.3 V,主要提供MSP430F247单片机工作电源,如图7所示。

电源电路

图7 电源电路

  3 程序流程图及部分程序代码

  3.1 主程序

  程序开始头文件加载、端口及各种寄存器初始化,然后进入显示测温程序,如图8所示。

主程序流程图

图8 主程序流程图


  3.2 测温子程序

  3.2.1 测温初始化子程序

  此部分程序分别对MSP430F247自带的I2C模块相关的寄存器进行设置:①设P3.1、P3.2为外部管脚,使能SW Reset;②选择I2C模块操作模式为主机,同步模式;③选择时钟,复位R/W;④设置从机地址,清除SW中断标志,使能Rx中断;⑤设置接收字节计数器是2,目的是读2个字节的温度值;⑥发送I2C开始命令;⑦接收2个字节的温度值;⑧发送I2C停止命令。


  3.2.2读温度高、低字节数据子程序


  3.2.3 温度值处理子程序



  图9给出测温子程序流程图。

测温子程序流程图

图9 测温子程序流程图

  4 结语

  测温仪设计系统中,对于数字温度传感器TMP275,采用了模块化的设计理念,设计思路明朗,搭建系统框架比较容易,尤其是MSP430F247本身带有I2C模块,不必再用一般的2个端口来模拟I2C,程序编写简单,在使用其他的I2C器件时也可以参考,移植使用。


  

参考文献:

[1]. TMP275 datasheet https://www.dzsc.com/datasheet/TMP275_1619190.html.
[2]. MSP430 datasheet https://www.dzsc.com/datasheet/MSP430_490166.html.
[3]. ULN2003 datasheet https://www.dzsc.com/datasheet/ULN2003_500970.html.
[4]. 74LS06 datasheet https://www.dzsc.com/datasheet/74LS06_62678.html.
[5]. LM7805 datasheet https://www.dzsc.com/datasheet/LM7805_843721.html.
[6]. TPS76033 datasheet https://www.dzsc.com/datasheet/TPS76033_592447.html.


上一篇:基于MC9S12D64单片机的直流无刷电机控制系统设计
下一篇:舰船直流限流器故障快速保护装置的设计

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料