基于I2C总线的多点温度采集系统

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

  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口可留作系统扩展之用。该系统可应用于植物生长环境的温度检测,当超出植物适宜生长温度范同时将发出报警。

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

上一篇:基于CPCI总线的智能AD,DA模块设计
下一篇:基于EMIF接口的数据采集系统的设计

推荐阅读最新更新时间:2024-05-03 00:21

I2C总线测试和分析
1、I2C总线简介 I2C((Inter-Integrated Circuit bus))总线是一种由飞利浦公司开发的串行总线,产生于上个世纪80年代,最初为音频和视频设备开发,现已广泛应用到通信、计算机、工业控制、多媒体等多个行业,主要作为设备管理承载使用。它由两条串行线(一条地址线和一条时钟线)构成总线网络,用于连接微控制器及低速的外围设备通信。I2C总线包括一个两端接口,通过一个带有缓冲区的接口,数据可以被I2C发送或接受。利用I2C技术可以对连接在总线的所有部件进行集中管理,可随时监控风扇、内存、硬盘、网络、系统温度等多个参数,增加了系统的安全性,方便了管理。主要的优点是其简单性和有效性。图1是 I2C总线架构示意图
[测试测量]
<font color='red'>I2C总线</font>测试和分析
I2C总线深入浅出
I2C总线深入浅出  IIC总线,是INTER-IC串行总线的缩写。INTER-IC原文大意是用于相互作用的集成电路,这种集成电路主要由双向串行时钟线SCL和双向串行数据线SDA两条线路组成,由荷兰菲利浦公司于80年代研制开发成功。   IIC总线在传送数据时其速率可达100kbps,最高速率时可达400kbps,总线上允许连接的设备数主要决定于总线上的电容量,一般设定为400pF以下。I2C总线主要在微处理器的控制之下,因此通常称微处理器是I2C总线的主机。习惯上总称受控设备及功能电路为I2C总线的从机。这种主机与从机之间的连接通常是在总线的输出端,而输出端的电路结构为IIC总线的从机。这种主机与从机之间的连接通常是在总线的输
[嵌入式]
基于I2C总线的ADS1100型16位模/数转换器
ADS1100是采用2.7V~5.5V单电源供电的连续自校准模/数(A/D)转换器。它具有分辨率、接口简单、比例放大、功耗低、体积小等优点。ADS1100采用电源电压为基准电压,可按比例进行A/D转换,同时带有差分输入且具有高达16位的分辨率。 ADS1100每秒可采样8、16、32或128次以进行A/D转换,并提供I2C端口与外部通信。片内可编程增益放大器(PGA)能提供高达8倍的增益,允许对小信号进行测量。ADS1100有二种工作方式:单周期转换方式和连续周期转换方式。在单周期转换方式中,ADS1100进行一次A/D转换后将自动掉电以减少电流消耗。 ADS1100的主要特点如下: %26;#183;16位无漏码;
[模拟电子]
一文了解I2C总线工作原理、优缺点和应用
如果您正在使用OLED显示器,气压传感器或陀螺仪/加速度计模块的项目,您可能会发现正在使用I2C总线。 I2C总线简介 I2C结合了SPI和UART的优点。使用I2C,您可以将多个从设备连接到单个主设备上(如SPI),并且可以让多个主器件控制单个或多个从器件。当您希望有多个微控制器记录数据到单个存储卡或将文本显示到单个LCD时,这非常有用。 与UART通信一样,I2C仅使用两条线在设备之间传输数据: SDA(串行数据) - 主站和从站发送和接收数据的线路。 SCL(串行时钟) - 承载时钟信号的线路。 I2C是一种串行通信协议,因此数据沿着单线(SDA线)逐位传输。 与SPI一样,I2C是同步的,因此位输出通过主机和从机
[嵌入式]
一文了解<font color='red'>I2C总线</font>工作原理、优缺点和应用
C51单片机设计模拟I2C总线驱动程序
/********************************** I2C总线驱动 ************************************* 模块名:I2C总线驱动    型号:I2C 功能描述: 此模块包括发送数据及接收数据,应答位发送,并提供了几个直接面对器件的操作函数,能很 方便的与用户程序进行连接并扩展。     需要注意的是,函数是采用延时方法产生 SCL 脉冲,对高晶振频率要做一定的修改!!     在写E2PROM的时候一定要延时!!!     说明: 1us机器周期,晶振频率要小于12MHz 返回 1 则操作成功,返回 0 则操作失败。 sla 为器件从地址,suba 为器件子地址。 **
[单片机]
基于P89LPC922的多点温度采集系统
  随着社会的进步和工业技术的发展,许多产品对温度范围的要求越加严格,尤其在工业发展方面,如冶金、钢铁、石化、水泥、玻璃等行业。而目前市场上温度检测仪器大多是单点测量,不能适应当今社会生产高效率要求,且温度信息精度不高。因此设计一种能够同时测量多点温度,测量精度高,能够综合处理多点温度信息的测量系统很有必要。这里提出一种能多路采集、显示的温度采集系统设计。   1 系统硬件设计   1.1 系统整体结构   该系统设计采用I2C总线,单主机多从机的工作模式,实现多点温度的采集、读取与显示。主机由主控制器、数码管显示、电源、报警、键盘等模块组成,完成以下功能:1)主机通过按键确定进入温度测量状态以及即将读取温度的节点:2)主机从总
[单片机]
基于P89LPC922的多点<font color='red'>温度采集系统</font>
I2C总线线路的走线方式
I2C总线线路的走线方式   一般来说走线必须使总线线路的串扰和干扰最小。   如果PCB 板的总线长度或带状电缆超过10cm, 包括VDD 和VSS 线配线方式必须是:   SDA _______________________   VDD _______________________   VSS _______________________   SCL _______________________   如果只有VSS 线那么配线方式必须是:   SDA _______________________   VSS _______________________   SCL _
[嵌入式]
I2C总线原理及应用实例
I2C(Inter-Integrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C总线产生于在80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用,其中包括单个组件状态的通信。例如管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能状态,如电源和系统风扇。可随时监控内存、硬盘、网络、系统温度等多个参数,增加了系统的安全性,方便了管理。   1  I2C总线特点   I2C总线最主要的优点是其简单性和有效性。由于接口直接在组件之上,因此I2C总线占用的空间非常小,减少了电路板的空间和芯片管脚的数量,降低了互联成本。总线的长度可高达25英
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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