0 引 言
目前市面上生产的大多数温度监控系统均采用RS 485通信方式,存在着监控范围小、布线繁琐等局限性。而当今世界Internet技术飞速发展,为建立基于In-ternet的远程多点温度监控系统创造了条件。将以单片机应用系统为核心的嵌入式设备体积小,成本低与Inter-net应用广、传递速度快的特点结合起来,构建出方便、快捷、经济的远程多点温度测控系统不仅降低了成本,缩短了开发周期,而且突破了RS 485等传统通信方式的时空限制和地域障碍,使大范围内的温度监控变得容易。这里设计的多点温度监控系统控制范围大且利用现有网络,不必重新布线,可有效实现对温度的远程监控。
1 系统硬件设计
整个远程多点温度监控系统分为上位机和下位机两大部分:
上位机为远端监控模块,含PC机内人机交互界面、声光报警系统和打印机等。主要是在Windows环境下通过VB开发上位机以太网通信软件,具有以下功能:
数据采集及分析:实时监测温度数据并绘制温度变化曲线图,以便对温度变化进行直观分析。
系统设置 在线设置温度上下限值。
温度报警可根据设定好的温度上下限值判断是否触发声光报警。
远程控制 根据已设温度上下限值判断是否远控空调机进行现场温度调节。
下位机为现场监控设备,包括测温模块、处理控制模块和Internet通信模块三大部分。
整个系统的结构框图如图1所示,下面对各模块作分别介绍。
(1)测温模块。该模块使用6片Dallas最新数字温度传感器DS1825构建多点温度测量网络,通过单总线连接到MCU通用I/O口。由于每片DS1825都有其单独的识别码,MCU通过单总线规定的时序要求就能与温度传感器网络进行通信,获取每片DS1825内的温度信息。DS1825是美国Dallas半异体公司继DS18820之后最新推出的一种改进型智能数字温度传感器,与传统热敏电阻相比,它能够直接读出被测温度,并且可根据实际要求通过编程实现9~12位的数字值读数方式;可以分别在93.75 ms和750 ms内完成9位和12位的数字量采集;从DS1825读出信息或写入信息仅需要1根口线(单线接口);温度变换功率来源于数据总线,该总线本身也可向所挂接的DS1825供电,而无需额外电源。使用DS1825可使整个系统结构更趋简单,可靠性更高。在此设定的DS1825分辨率为12位模式,即0.062 5℃。
实际温度=温度整数部分+温度小数部分×0.062 5
(2)处理控制模块。处理控制模块由MCU控制器、1602 LCD液晶显示器、外部数据存储器24C04、稳压电源、时钟振荡电路、蜂鸣器、键盘矩阵和由继电器控制的空调机等组成。MCU采用美国Atmel公司的8位C51单片机AT89S52,片内含8 KB的E2PROM和256 B的RAM。该处理控制模块的工作过程为:上电完成初始化后,MCU读取存储在外存24C04中的上次已设置好的温度上下限值和保存的采样间隔值,然后进入主循环。根据采样间隔时间,MCU读取各数字温度传感器DS1825内温度数据,同时点亮LCD以便显示当前所测温度值,并根据已设置好的温度上下限值来确定是否驱动蜂鸣器报警且控制空调机工作进行温度调节。本模块有良好的交互性能,利用键盘中断可在线随时设置温度上下限值、采样间隔时间值并可将这些数据保存至外存中。该模块电路图如图2所示。
(3)Internet网络通信模块。要使单片机嵌入式系统接入Internel网络,必须解决以太网的接入问题,就要用到专门的以太网控制器。本系统采用MCU+TCP/IP协议芯片相结合的Internet接入方案。具体来说:采用RTL8019AS以太网控制芯片,利用10Base-T布线标准通过双绞线进行和上位机的以太网通信。RTL8019AS芯片是台湾Realtek公司的基于ISA总线的10Mb/s以太网控制器芯片,它集成了介质访问控制子层(MAC)和物理层的功能,可以方便地设计基于ISA总线的通信系统,也可以比较简单地与单片机进行接口。RTL8019AS内嵌TCP/IP网络通信协议,具有耗电量低、接口简单、程序设计量少的优点,是用来进行以太网接入Internet通信的理想芯片。系统上电后,MCU对RTL8019AS内部寄存器进行设置和控制,完成复位和初始化后,就能正常地通过以太网进行数据的收发,电路结构如图3所示。
2 系统软件设计
这里主要介绍关于多个DS1825的自动搜索算法,由于系统中使用了多片DS1825构成温度传感器网络,因此,如何准确、有效地对每一温度传感器进行寻址成为该系统的一个核心问题。结合DS1825的实际特点和系统需要,提出如下解决方案:首先利用DS1825内部报警上限寄存器(TH寄存器)存放温度传感器的编号,并将其编号贴在温度传感器表面。由于TH寄存器具有掉电不丢失数据功能,因此,便把每片DS1825的惟一64位注册码及其编号一一对应起来。这一过程需要对DS1825进行单独编程。然后,将确定好编号的DS1825接入单线网络,利用DS1825特有的单线网络自动搜索功能,即可搜寻到每片DS1825的注册码,再利用该注册码和相应的ROM操作指令,即可从每片DS1825的TH寄存器中读出相应的设定编号,实现多个DS1825的寻址功能。
每片DS1825有惟一的64位注册码,存储在只读存储器ROM中,其中低8位是产品的工厂代码,接着是每个器件的惟一序号,共48位,最高8位是前56位的循环冗余校验码。这就准许总线主机对总线上特定的DS1825进行寻址。只有与64位注册码严格相符的DS1825,才能对后续的操作做出反应,所有与64位注册码不符的DS1825将等待复位脉冲。搜索算法首先通过复位和在线应答时隙将单线总线上所有DS1825复位。成功地执行该操作后发送1 B的搜索命令,使所有连接到单总线的DS1825准备就绪,开始进行搜索操作。搜索命令发出之后,开始实际的搜索过程。首先,总线上所有DS1825同时发送注册码的第1位,按照单线总线特性,当所有DS1825同时应答主机时,结果相当于全部被发送数据位的逻辑“与”。DS1825发送其注册码的第1位后,主机启动下一位操作,接着DS1825发送第1位数据的补码。从两次读到的数据位可以对注册码的第1位做出几种判断,如表1所列。
然后,主机向总线上的所有器件发回一个指定位。如果DS1825注册码的当前位的值与该数据位匹配,则继续参与搜索过程;若DS1825的当前位与这不匹配,则该器件转换到等待状态并保持等待状态,直到下一个复位信号到来。其余63位注册码的搜索依然按照这种读2位写1位的模式进行重复操作。按照这种搜索算法进行下去,最终除了惟一一个DS1825外,所有DS1825将等待状态,经过最后一轮检测就可得到最后保留未进入等待状态的DS1825的注册码。在后续搜索过程中选用不同的路径或分支来查找其他器件的注册码,即可完成所有器件注册码的识别。
下位机软件采用MCS51汇编语言编写,在中断服务程序中,实现用户输入以及和以太网控制器的通信功能;在主程序中,实现温度传感器网络的自动搜索、编号排序、获取温度信息等,并根据预先设定的温度上下限值,实现相应的报警功能。由于设计中使用传感器网络的自动搜索算法,因此,当对网络中的温度传感器作出调整(如更换、添加、删除等操作)时,系统具有很强的自适应能力。下位机软件程序流程图如图4所示。
3 测量结果
网络化多点温度测控系统对被测对象温度的监控结果在PC机的显示如图5所示,由图可清楚观察到温度数据随时间变化而变化的趋势。
4 结 语
基于Internet的嵌入式多点温度监控系统灵活性高、交互性强,可在线根据需要随时修改温度上下限值,系统设计开发过程中充分利用了网络技术与多点温度监控技术相结合的方法及软硬件协同设计的思想,采用模块化设计,稍加裁剪改造可适用于多种不同场合的分布式远程多点温度智能监控系统。该系统经实验测试,稳定可靠,测量精度高,实时性强且充分利用了现有网络,利于传统的基于RS 485温度监控系统快速改造为以太网远程智能监控系统,取得更好的社会经济效益。