基于P89LPC922的多点温度采集系统

发布者:京玩儿最新更新时间:2016-05-03 来源: eefocus关键字:温度采集系统  P89LPC922 手机看文章 扫描二维码
随时随地手机看文章
  随着社会的进步和工业技术的发展,许多产品对温度范围的要求越加严格,尤其在工业发展方面,如冶金、钢铁、石化、水泥、玻璃等行业。而目前市场上温度检测仪器大多是单点测量,不能适应当今社会生产高效率要求,且温度信息精度不高。因此设计一种能够同时测量多点温度,测量精度高,能够综合处理多点温度信息的测量系统很有必要。这里提出一种能多路采集、显示的温度采集系统设计。

  1 系统硬件设计

  1.1 系统整体结构

  该系统设计采用I2C总线,单主机多从机的工作模式,实现多点温度的采集、读取与显示。主机由主控制器、数码管显示、电源、报警、键盘等模块组成,完成以下功能:1)主机通过按键确定进入温度测量状态以及即将读取温度的节点:2)主机从总线上读取节点温度值并显示;3)空闲时,由按键确定进入时间显示状态。时钟使用单片机内部的实时时钟RTC、外部6 MHz晶振,CPU掉电运行,每0.5 s唤醒一次;而从机由数字温度传感器等组成,实现完成以下功能:1)采集节点实时温度值;2)响应主机的请求,发送温度数据。

  基于I2C总线的多点温度采集系统选用具有硬件I2C总线功能的P89LPC922单片机作为主控制器,采用具有I2C功能器件的数字温度传感器LM75A和数码管显示驱动及键盘扫描管理器件ZLG7290。LM75A采集节点实时温度值,并通过I2c总线发送温度数据,ZLG7290驱动LED数码管显示温度值和时间。采用SPXll17设计电源模块提供3.3V电压。该系统硬件框图如图l所示。

  1.2 各模块电路设计

  1.2.1 控制器模块

  主控制器采用P89LPC922单片机。该单片机是一款单片封装的微控制器,适合于那些要求高集成度、低成本的场合,满足多方面性能要求。其内部集成了键盘中断、串行接口(UART/I2C)、看门狗定时器,采用先进的2-clock技术,指令执行速度是传统80C51的6倍。支持空闲、掉电、时钟预分频等多种节电模式,另外,其4中断优先级结构,为多个中断源的处理提供极大的灵活性。

  根据主控器P89LPC922单片机的键盘中断特性,键盘模块可直接由3个I/O口控制实现3个按键,其原理图如图2所示。

  本设计采用蜂鸣器实现报警过程,使用I/O口的开漏方式对蜂呜器进行控制。指示灯电路是由2个LED组成,使用I/O口的推挽输出方式驱动LED。

  1.2.2 温度采集模块

  LM75A是一个使用了内置带隙温度传感器和∑-△模数转换技术的温度-数字转换器。本设计使用2片LM75A采集两点的温度值,其原理图如图3所示。

  1.2.3 显示模块

  ZLG7290B是数码管显示驱动及键盘扫描管理器件,能够直接驱动8位共阴式数码管(或64只独立的LED)。这里只使用ZLG7290B的数码管显示驱动功能,而没有用其键盘功能,因此电路大大简化,其原理图如图4所示。

  2 软件程序设计

  I2C是一个多主总线,其可由多个器件控制。一般的I2C器件都具有一个唯一的地址以保证控制的准确性,普通I2C总线传输速率为100 Kbit/s,在新增的高速模式下其可达到3.4 Mbit/s的速率,以支持一些高速传输的应用,如大容量Flash存储器。

 

  LPC900系列单片机内部集成了I2C总线,既可作I2C总线上的主控器件,也可作I2C总线上的从器件,同时其具有4种I2C总线收发模式:主发送器模式,主接收器模式,从发送器模式,从接收器模式。

 

  本设计的I2C软件包采用硬件I2C总线中断方式,硬件I2C的总线竞争和同步逻辑是软件无法模拟的,本软件包是硬件I2C以主方式工作的,它包括了申请总线,发送字节数据,接收字节数据等等,而面对其他模块程序的是几个归一化子程序,只要设置几个入口参数,即可调用。

 


  图5和图6分别为实时时钟和键盘中断服务流程,其中实时时钟0.5s产生1次中断,而键盘中采用3个按键,每个按键按下时均可产生一次中断。本设计主函数完成CPU掉电运行,使系统功耗降至最低,只有在按键中断和实时时钟中断时才会唤醒CPU。

  3 系统测试

  3.1 硬件测试

  利用万用表对焊接好的电路板进行测试。首先测试线路部分,各线路连接正常,没有出现短路和断路的现象;其次,上电后,电源灯亮,证明电源连接正常,测电源电压输入为5 V,输出为3.3 V,电源电路工作正常。其余模块通过软件测试。

  3.2 软件测试

  通过ZLG7290测试程序验证I2C总线的传输情况,并利用逻辑分析仪来观察其时序,如图7所示。

  从图7可以看出,该时序部分完成的是使第l位数码管显示“0"的过程,从启动总线到结束总线的一个完整过程。该过程总共发送了4个字节数据,在总线启动后发送的是ZLG7290的从机地址,后跟一位读写位O,表命令缓冲区的首地址,每发送完一个字节后都会收到一个应答位0,表示接收到数据。后面2个字节是复合指令,在这里是按位下载数据且译码指令,即使第l位数码管显示0。发送完指令后紧接着是结束总线条件,表示一次发送过程结束。

  通过LM75A测试程序是向从机发送数据,收到应答位0后,紧接着发送从机子地址,在这里是ZLG7290命令缓冲区的首地址,每发送完一个字节后都会收到一个应答位0,表示接收到数据。后面2个字节是复合指令,在这里是按位下载数据且译码指令,即使第1位数码管显示0。发送完指令后紧接着是结束总线条件,表示一次发送过程结束。验证I2C总线的接收数据的过程,并利用逻辑分析仪来观察其时序,如图8所示。

  从图8可以看出,该时序部分完成的是读取温度值的过程,也是一个I2C总线带重复起始条件的接受数据的过程。该过程分发送和接收两部分。发送部分包括发送从机地址和从机子地址,即LM75A的地址90H和LM75A温度寄存器首地址00H。然后重新启动总线准备接收数据,该部分主机先发送从机地址,并跟读写位l,表示主机将接收该从机发来的数据,紧接着主机接收2个字节的数据,主机发送应答位后,再发送停止条件结束总线,表示主机接收完一次数据。

  3.3 系统综合测试

  将程序烧进P89LPC922,上电后,数码管显示“0000”,通过按键2和按键3来设置时钟初值。当读取的温度值超过设定的温度值范围,蜂鸣器会发出报警提示音。这时可通过按下按键l取消声音,同时切换为时钟显示。

  4 结束语

  本系统为综合处理多点温度信息的测量系统,该设计系统结构简单,操作方便,测量精度高,速度快,能实现报警。该系统的测温范围为-55~+125℃,测量精度能达到0.125℃,由于采用I2C总线的结构,整个系统占用主控制器I/O口较少,其余I/O口可留作系统扩展之用。该系统可应用于植物生长环境的温度检测,当超出植物适宜生长温度范同时将发出报警。

 
关键字:温度采集系统  P89LPC922 引用地址:基于P89LPC922的多点温度采集系统

上一篇:MSP430 定时器中断使用总结!
下一篇:Freescale 9S12 系列单片机应用笔记(SCI)3

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

基于I2C总线和SD卡的火车轮轴承温度采集系统
    引  言     火车轮轴承的损坏将导致重大交通事故,提前预防是避免事故发生的最好办法。现有的轴承温度采集系统大都不能实时采集温度信息,而且不能大量保存相关信息供人们分析。本文介绍的火车轮轴承温度采集系统运用高性能的处理器,能够在火车运行的过程中不断记录温度与时间信息,并实时地把相关信息存储到SD卡中。     1  系统设计原理     火车轮轴承温度采集系统的工作原理是,各测量点通过温度传感器获取轴承温度信息,随后通过I2C总线把这些信息转输给主机,主机收到后根据数据进行超温报警等动作,同时把数据存储在SD卡中,以便查询。该系统以S3C2440A 为主控制器,外部各个温度传感器直接挂接在I2C总线上,就可以实现主
[嵌入式]
基于MSC1210的多路高精度温度采集系统模块
摘要:介绍了一种以MSC1210作为核心器件的多通道、高精度、快速温度采集系统的设计思路。着重介绍了以MSC1210构成的高精度测温模块。 关键词:MSC1210 高精度测温 模块化 多路测量 在许多传统行业中,多路高精度温度采集系统是不可或缺的。电厂、石化行业、钢铁厂以及制药厂等企业使用了大量的各类测温器件,如热电阻、热电偶等,这些器件需要定期校准;在严格执行GMP规范的制药厂等企业,高温灭菌需要定期进行灭菌率的验证;在某些要求进行严格的温度控制的场合,也需要进行多点高精度温度测量。这些工作往往需要一多路高精度测温系统来完成。 在被测温度变化缓慢的情况下,可以使用多路扫描开关配以一个高精度测温表进行多路温度测量以及数据采集
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
热门活动
换一批
更多
设计资源 培训 开发板 精华推荐

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

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

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