浅析监视系统中网关仪表通信设计应用
摘 要 设计采用STC12C5A60S2系列单片机进行数据处理和传输,显示部分使用LCD1602液晶显示器,对采集点的编号进行实时显示,RS485串口通信中,主机可以对从机进行监控和控制,制定合理的通信协议,使硬件电路系统和软件电路协同作用,实现数据的实时读取、存储显示和上传。该监视系统具有实用性好、应用领域广泛等特点。
关键词 监视系统;网关仪表;串口通信
1 网关仪表硬件设计
本次设计主要是针对温湿度监视系统中的网关仪表设计,网关仪表是整个监视系统的枢纽,最重要的是要保证数据通信有条不紊地进行,所以除了要设计完整的硬件电路外,还需要制定合理的通信协议和完善的通信软件。
1.1 硬件电路原理框图设计
网关仪表部分根据其功能,大致可分为六个模块:核心单片机、按键模块、显示模块、RS485通信模块、RS232通信模块和程序下载模块。
RS485通信模块:所有现场仪表都连接在485总线上,此模块主要负责网关仪表与现场仪表之间的通信。RS232通信模块:负责网关仪表与管理软件之间的通信,将温湿度信息上传管理软件。显示模块:负责显示现场仪表采集的温湿度信息。
1.2 单片机及外围电路设计
在网关仪表设计中,选用与传统8051单片机兼容的STC12c5a60s2单片机,该单片机是STC生产的单时钟周期/机器周期单片机,是高速/低功耗/超强干扰的新一代8051单片机,指令代码完全兼容传统8051,但是速度快8-12倍,内部集成MAX810专用复位电路,2路PWM,8路高速十位A/D转换,有两个串口,可以实现实时的接收和发送数据,让数据传输更高效。
(1)核心单片機
此次设计选用的单片机为stc12c5a60s2。该单片机是增强型8051 CPU。该单片机中包含中央处理器(CPU),程序存储器(Flash),数据存储器(SRAM),定时器/计数器,UART串口,串口2,I/O接口,高速A/D转换,SPI接口,PCA,看门狗及片内R/C振荡器和外部晶体震荡电路等模块。
(2)显示模块设计
此次网关仪表设计中加入了显示功能,目的在于可以让人不用去查看监测点直接从网关仪表中查看各点温湿度,方便了用户的使用,实现了真正意义的智能仪表设计。
显示电路可以选择数码管显示,也可以选择液晶显示器,此次设计选用液晶显示器,液晶显示器是一种功耗比较低或微功耗、体积比较小、显示的内容比较丰富而且比较薄且轻巧的显示器,经常在袖珍式仪表和功耗较低的系统中应用。
1.3 RS485通信模块设计
此次设计选用了max485接口芯片,它是用于RS485通信的低功耗收发器件,采用的是单一的电源+5V工作,额定工作电流为300μA,采用的是半双工的通讯方式,它的功能是将TTL的电平转换为RS-485的电平,MAX485芯片的结构和引脚都比较简单,内部含有一个驱动器和一个接收器[1]。
2 网关仪表软件设计
本章介绍的是网关仪表软件部分的设计,硬件电路需要在软件程序的驱动下才能正常工作,所以软件设计也是整个网关仪表设计的核心所在。
2.1 网关仪表与现场仪表通信设计
在信息交换的领域里,一对一的数据的通信的方式已经远远不能够满足人们日常通信的需求,多机的通信方式已经成为通信控制领域的主要通信的形式。单片机的多机通信就是指由至少两个单片机或者两个以上的单片机组成的网络结构,这样就能通过串行通信方式共同完成对某一个过程的最终的控制,单片机多机通信的种类也比较多。主从通信协议设计。就整个网关仪表而言,它既要控制自身的外围,又要向从机发出控制命令,完成一系列的操作。而这些操作当中网关仪表与现场仪表之间通信是至关重要的,制定合理的通信协议也是必不可少的。每一个用到通信或者数据交换的系统设计,通信协议的设计都是软件设计的前提和关键,它是智能仪表不可缺少的一部分。
2.2 网关仪表与管理软件通信设计
单片机、计算机及别的设备之间进行的信息交换被称之为数据通信,数据通信的方法一般分为并行数据通信与串行数据通信这两种,可根据传输距离来选择该用哪种方式。若是计算机与外围设备之间的数据交换,距离小于30m时,可以采用并行数据通信;而距离大于30m时,则应采用串行数据通信。如果是单片机或PC与测量仪器之间的数据通信,距离小于15m时,可以采用并行数据通信;而距离大于15m时,则应采用串行数据通信。
2.3 调试过程
(1)硬件调试。硬件系统调试过程:各个元器件都焊接完成后,将硬件电路与原理图对比,看硬件电路是否焊接正确,包括是否少了电容电阻,线路连接是否正确,对比没有发现错误后,不要急着通电,先用万用表或目测来检查该电路有没有短路或断路的地方,用万用表检测单片机各个引脚的焊接点,是否有短路,虚焊等问题出现,确认没有问题的时候,给板子供电,供电之后用万用表检测各点之间的电压,保证整个电路板供电正常。
硬件调试部分是保证整个系统能正常工作的基础,前期的焊接工作做好后,调试的过程就相对比较简单。
(2)软件调试。程序调试是用手工或编译程序的方法检查程序,它就是一个发现程序错误的过程,是为了证明程序编写的正确性,调试是一个推理程序的过程,根据测试的时候所发现的一些错误,然后进一步查找,找出发生错误的原因和具体的位置,从而进行修改,程序编写的所有过程都要进行调试。在程序烧入单片机之前,我们自己都要清楚程序正确情况下的运行结果,以便于与错误程序作对比,从而找到错误所在。
参考文献
[1] 吴显伟.嵌入式协议栈结构优化的研究与实现[D].哈尔滨:哈尔滨理工大学,2009.
作者简介
尚奋前(1986-),男,甘肃庆阳人,助理工程师。工作单位:甘肃省新闻出版广电局玛曲广播转播台。