单片机
返回首页

基于AT89S52的水情遥测终端设计与实现

2012-11-17 来源:电子设计工程

    随着水文现代化进程的不断推进,水情测报作为水文工作的重要手段也在迅速发展。水情测报应用遥测、计算机、控制和通信等先进科技对水文信息进行实时遥测、传送和处理,其系统主要由遥测站、中继站和中心站3部分组成。遥测站利用水情遥测终端(RTU)完成各种水文传感器数据的采集和处理,最终与中心站进行双向通信,实现水情的预报或调度决策。遥测终端是整个测报系统的信息和决策依据来源,因此如何构建功能完善、可靠性高、通用灵活、易维护的遥测终端成为设计的关键。
    目前,水情遥测终端的设计基本采用MCS51、MSP430及ARM等系列单片机作为控制芯片,配置各种外围电路实现系统功能。本文设计了一种基于AT89S52单片机的低功耗水情遥测终端,其功能完善、性能稳定,能为控制中心提供准确、综合全面的水情信息。

1 系统总体设计
   
系统采用模块化设计,根据功能,整个遥测终端可分为单片机模块、数据采集模块、数据通信模块、人机交互模块和电源供电模块等部分,该系统结构如图1所示。


    系统工作流程:单片机读取雨量、水位、闸位等参数,进行处理、存储和编码,在自报或召报方式下,经调制解调器后通过无线数传电台发送至中继站或中心站。该系统具有良好的人机交互功能,可通过键盘操作实现参数的设置和数据实时动态显示。

2 系统硬件电路设计
   
从遥测终端的功能需求、成本、接口电路及程序复杂度等方面综合考虑,选用ATMEL公司的AT89S52单片机为控制核心,它带有8 kB的Flash存储器和256字节RAM,支持全静态操作及空闲、掉电两种可选节电模式。整个系统在硬件逻辑结构上由数据采集接口电路、通信接口电路、人机接口电路、实时时钟电路、存储扩展电路及电源电路组成。
2.1 数据采集接口电路设计
   
本文仅以雨量、水位的数据采集为例。
    雨量采集采用翻斗式雨量计,当降雨量达到1 mm,雨量计翻动1次发出1个脉冲信号触发中断0,唤醒处于低功耗状态的单片机,对雨量进行累加、存储和即时发送。由于雨量计的干簧管开关吸合会出现抖动现象,为了确保雨量记录的准确无误,雨量计输出脉冲信号须经过脉冲整形方能送入后继单元进行处理。整形电路如图2所示,MC14538是可重复触发和复位的单稳态触发器件,R2、R3为保护电阻。在非跳变期间,脉冲的不规则变化保持在一定范围,VD1、VD2的比较结果相同,触发器不工作,使输出脉冲保持稳定。

    系统设计2路水位采集,浮子式水位计的输出为12位并行格雷码,为节省单片机I/O口资源,经两片MC14021移位寄存器锁存,将并行数据转换为串行数据后逐位输出至单片机进行处理。串并转换电路如图3所示,接上拉保护电阻以增强电路的稳定性。


2.2 通信接口电路设计
   
遥测终端的最终目标是将采集的水情数据处理成帧,利用无线数传电台进行远距离传输后传送至中心站。使用RS-232作为与电台连接的接口,它亦可连接SMS/GSM、GPRS等通信模块,以满足不同应用环境下的需求,提高了系统的通用性。
    调制解调采用全双工低速MODEM芯片MC145442,它含有完整的频率变换调变(FSK)调制器、解调器和滤波器,提供300波特率的FSK信号的双向数据传输,支持呼叫模式和应答模式。通信接口电路结构如图4所示,串口电平转换使用MAX232芯片,MC145442的RXD、TXD、RXA1/RXA 2、TXA端口分别为数据接收端、数据发送端、载波接收端和载波发送端。


2.3 人机接口电路设计
   
为体现系统友好的人机接口界面,便于输入和显示控制参数等,采用1602字符型液晶显示模块作为输出显示器件。1602显示模块内置控制驱动器HD44780,显示和驱动工作均由此控制器和外围电路完成。配置4x4键盘,负责快速、准确、方便地设置参数和实现各种控制功能。键盘直接由P1口的高、低字节构成,采用中断输出,即列线连接与门器件接外部中断1,置行线和列线分别为高电平和低电平,当有键按下时,电路输出低电平,触发中断后进入中断例程,判断哪个键被按下。
2.4 其他扩展电路
   
本系统选用低功耗的CMOS AT24C08芯片作为扩充存储器,该芯片是带有I2C总线接口的8 kB的串行EEPROM,电路上将P2.3、P2.4与SCL和SDA相连。该存储器中保存设置参数、历史水情数据和数据采集的时间标记,用户可通过按键进行显示、查阅。
    数据采集的时间标记和报平安时间间隔计算则采用DS1302实时时钟芯片来实现。DS1302提供年、月、周、日、时、秒的数据信息,采用SPI与CPU进行通信,接口简单,只需RST复位、I/O数据线、SCLK串行时钟线分别于P2.5、P2.6、P2.7相连。
    遥测终端安装在野外,没有持续的电力供给,为实现长期无人值守环境下的自动监测,采用20 W/12 V的太阳能板和蓄电池供电系统。

3 系统软件设计
   
遥测终端实现的主要功能有:根据规约(产生1 mm雨量:水位每变化1 cm,且满足时间间隔5 min)采集各种传感器数据和电源状态参数信息,并进行存储和发送;无参数发送时终端处于值守状态下,按自报周期(缺省值为8 h)向中心站全量发送数据,以指示遥测站正常工作,实现报平安功能:招报方式下,响应中心站的数据要求指令,采集各种数据并全量发送:响应键盘指令,接收和更新参数的设置与修改,动态显示水情数据、终端状态信息等;通话功能,工作人员可现场通过电台与中继站或中心站联系,为指挥调度、现场维护提供话务功能。

    系统软件的主程序流程如图5所示:系统初始化,确保系统处于正常工作状态:默认进入休眠模式,以降低终端系统功耗;等待外部中断唤醒系统,进行数据采集、传送,实现各种控制功能。实现功能的硬中断例程主要包括雨量中断例程、定时器中断例程(图5)、键盘中断例程(图5)。雨量中断例程完成雨量的累加、存储和发送。定时器中断例程首先采集水位数据,检查测量值变化是否超过1 cm,是则存储数据并重新采集雨量、水位、闸位等水情数据及电源电压参数后发送;否则读取实时时钟的值,计算时间间隔,若达报平安周期,则进行各种数据的采集和发送。键盘中断例程主要负责接受键盘命令,进行相应处理,包括实时显示和参数设置。例程中定时器的作用是规定最大按键操作时间(一般2~3 min),即在按键超时后强行进入低功耗状态,防止无操作而无限的键盘扫描循环。


    上述软件流程中主要包括数据采集、数据存储、数据发送和实时显示等功能模块。数据采集的重点是水位采集,浮子式水位计输出12位格雷码为统一存储和发送格式,须将其转换为BCD码。由于测量水位时波浪冲击会引起瞬时干扰,为提高准确性采用软件滤波进行防浪处理,方法是对水位信息连续采样5次,将采样值从小到大排列,取中间3次取平均值为最终测量值。数据存储包括数据存入和数据读出,水情数据的存储格式为:特征字、数据、时间标志。特征字用来区别数据是雨量、水位还是闸位,时标是在数据读入前先读取实时时钟为数据进行的时间标记。数据发送首先根据缓冲区数据长度计算校验字节,连同站号、参数特征码和数据等整合成帧,送入MODEM进行调制后发送。
    系统标准的数据帧格式如图6所示,单一数据发送采用格式1,每次发送1个参数数据,通过数据特征区别;全量发送采用格式2。为了提高通信的可靠性,采用CRC-16信道编码方式。


    显示模块和按键配合,用于测站终端的参数设置,如测站编号、采样时间间隔、发送时间间隔等;同时可用于测站的检测维护。

4 结束语
   
基于AT89S52单片机实现的低功耗水情遥测终端硬件设计简单灵活,软件架构合理,功能与性能满足水情测报的技术要求,可实时采集雨量、水位、闸位等多种水文数据和气象参数,并进行固态存储,同时具有水位防浪和报平安功能。系统通过采用低功耗的外围器件和休眠、外部中断唤醒的工作方式降低耗电量,实现低功耗。设计的RS-232通信接口,可连接多种通信模块,提高了RTU的通用性。
    该遥测终端可广泛应用于水文水利、城市防洪、给排水、环境与气象监测等方面,实际应用中该RTU在值守状态下的整机电流<60μA,已存参数可掉电保持50年以上。由于系统功能相对完善,性能可靠,投入使用以来工作正常,取得了良好的效果。此外,针对不同项目需求和应用环境不同,需结合实际对系统进行进一步的完善和改进,如优化防雷击、软硬件抗干扰保护设计,增加各种新型的数字和模拟接口以扩展测报参数范围,加强信道侦听以提高数据传输质量等。

进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 光控音效发生器电路

  • 非常简单的150W功放电路图

  • 一个简单的警笛电路图

  • 一个简单的立体声平衡指示器电路

  • 分享一个电网倾角计电路

  • 使用NE555和磁簧开关的橱柜照明电路

    相关电子头条文章