1 系统结构
如图1所示,系统由温度传感器、报警电路、LCD显示电路、ATmegal28单片机、ENC28J60接口模块、网络设备以及监测计算机等部分组成。系统的核心是Atmel公司的高档8位AVR单片机ATMegal28,晶体振荡频率为11.059 2 MHz,实现与计算机间的精确通信。AT—Megal28具有128 KB的系统内可编程Flash,4 KB的SRAM和4 KB的EEPROM。由于其存储器空间较大,故不需外接存储单元就可以满足LCD字库和TCP/IP数据帧的存储需要。
在对小范围温度进行监测时,通过把两个温度传感器放置在相对的两侧,对所测得的两温度取平均数就得到该环境的平均温度。
2 硬件系统设计
2.1 温度采集传感器DSl8820接口电路
DSl8820芯片是美国Dallas公司推出的一种单线数字式温度传感器,采用1一wire总线接口,抗干扰性强,测温范围为一55~+125℃,精度可达±0.5℃,最大转换时间为200 ms。DS18820能够直接读取被测物体的温度值,体积小,电压适用范围宽(3~5 V),用户还可以通过编程实现9~12位的温度读数,即具有可调的温度分辨率。DSl8820与单片机的接口简单,只需将信号线与单片机的一位双向端口相连即可。如图2所示,系统中DSl8B20采用外接电源方式,VDD端用3~5.5 V电源供电。由于其测温分辨率较高(12位),因此对时序及电特性参数要求较高,必须严格按照时序要求操作。其数据的读写是由主机读写特定时间片来完成的,包括初始化、读时间片和写时间片等。
2.2 以太网远程接口模块ENC28J60
Microchip公司生产的ENC28J60以太网接口模块是带有SPI接口和刚45接口的独立以太网控制器,SPI接口最高速度可达10 Mb/s;具有兼容IEEE 802.3,集成MAC和10 BASE—T PHY,支持全双工和半双工模式,可编程填充和CRC生成,内含8 KB发送/接收数据包双端口SRAM,可实现硬件管理的循环接收FIF0,硬件支持IP校验和计算等多方面的优点。该模块体积小,传输速率高,可完全满足对温度实时监测的要求。
ENC28J60接口模块通过RJ45网线接口、交换机等网络设备接入网络,其通过SPI接口与AVR单片机连接,在程序配置、控制下与以太网络进行数据帧交换,与远程主机进行基于TCP/IP网络协议的数据传输,根据不同需要可采用高速的UDP通信或者稳定可靠的TCP通信。
2.3 LCD显示功能
LCD采用12864型,共有128行,64列。主要显示的内容包括:当前时间,格式为年/月/日/时/分/秒;设定温度和采样温度;时间和温度设定界面;当前温度曲线显示等。本系统可以动态地在LCD上显示温度变化曲线,由于LCD显示范围的限制,其精度为2℃/格,时间范围为2min,使用者可以了解温度在此时间段内的变化情况。
3 软件系统设计
3.1 远程TCP/IP协议通信系统设计