一种基于I2C总线驱动的锅炉温度测量系统设计
扫描二维码
随时随地手机看文章
摘 要: 提出了一种基于I2C总线驱动的锅炉温度测量系统,介绍了系统的结构、硬件设计和软件开发。系统以单片机为核心,选用了I2C总线器件PCF8591实现A/D转换,及I2C总线接口的E2PROM芯片AT24C01存储温度值。系统的数据交换都是基于I2C总线的通信标准,该设计方案结构简单、易于扩展,提高了锅炉温度测量的精度和抗干扰能力,具有实际应用价值。
关键词: I2C总线;单片机;锅炉温度
单片机作为典型的嵌入式控制器,具有集成度高、处理功能强、运行速度快、体积小、扩展灵活等优势,在仪器仪表、家用电器、过程控制等领域被广泛应用。锅炉温度是工业过程中最常见的工艺参数之一,其测量过程的抗干扰能力和测量值的精度是影响对锅炉温度控制效果的重要因素。为使系统更智能化,一般选择单片机为系统控制核心。但是,传统的单片机测量系统中实现A/D转换结果输出以及各器件之间的数据传递大多采用并行的通信方式,这种数据交换方式占用了大量的I/O资源,系统结构也因此变得复杂。同时大量的硬件连线也会带来很多干扰因素,降低了锅炉温度值的测量精度。为了解决传统设计中存在的问题,本文提出使用Philips公司推出的I2C总线(Inter Integrated Circuit Bus)标准来设计系统,大大简化了系统硬件结构,释放了单片机I/O资源,也提高了系统的扩展性和抗干扰能力。
1 系统总体设计方案
基于I2C总线的锅炉温度测量系统结构如图1所示,系统主要由温度传感器及信号调节电路、A/D转换器、微控制器、液晶显示、报警电路、存储器电路等组成。系统首先通过温度传感器获得锅炉温度值,调节电路把传感器的输出信号转换为0~5 V的电压值,标准电压值送入A/D转换器转换为数字信号,并送入单片机数据处理,单片机将接收到的锅炉温度值存储到非易失性的E2PROM,液晶显示器1602将显示锅炉的实时温度,单片机还将当前锅炉温度与预先设定的温度范围进行比较。当温度高于设定温度最大值或小于温度极小值时,系统将自动报警。
锅炉温度测量系统是基于I2C总线标准设计的,主要通信部件之间只需要两条总线,一条是双向串行数据线SDA,另一条是串行时钟线SCL。AT89S51不具备I2C总线接口,本设计使用了两个普通I/O口来模拟I2C标准中SDA和SCL的工作,图2是测量系统I2C总线串行通信线路图,系统的多个I2C器件全部通过SDA和SCL连接并进行数据交换,不同器件之间通过总线竞争获得数据交换的权利。
2 硬件电路设计
微控制器模块使用AT89S51单片机,主要实现数据的采集、处理和控制显示等功能,单片机最小系统包括时钟电路和复位电路。设计使用单片机的P1.0产生I2C总线中的SCL时钟信号,P1.1模拟SDA数据信号线,进行数据的双向传递。SCL和SDA引脚内部漏极开路,设计时要外加约5 ?赘的上拉电阻。系统的硬件电路如图3所示。