APP下载

基于RS485总线远程多点环境信息监测系统设计

2017-12-20周正贵

长春师范大学学报 2017年12期
关键词:总线滤波单片机

周正贵

(安徽商贸职业技术学院电子信息工程系,安徽芜湖 241002)

基于RS485总线远程多点环境信息监测系统设计

周正贵

(安徽商贸职业技术学院电子信息工程系,安徽芜湖 241002)

本文应用RS485通信协议设计一种远程多点环境信息监测系统,系统分为数据采集层、RS485总线通信协议、上位机。采用STC89C52单片机作为处理器,设计了单片机与传感器、通信模块硬件电路,并设计一种RS485多点数据传输通信协议。在实际应用中,传感器数据传输至RS485总线,最终数据传输到上位机服务器,管理者可实时远程查询服务器数据,实现智慧管理,该系统具有一定的应用价值。

传感器;RS485;监测;单片机

实时获取矿井、工业生产、车间管理等场景环境数据,有助于及时发布预警信息,避免意外事故的发生。例如,瓦斯爆炸事件频频发生,给国家和家庭带来了巨大损失,在有些特殊工作区域内氧气稀少,有毒害气体弥漫,给作业人员带来严重的安全隐患。如何利用信息技术实时监测环境信息并及时通知作业人员,是亟需解决的问题。目前,市场上环境信息监测设备较多,但有的设备功能较单一、未能网络化。本文设计了基于RS485总线的多点环境信息监测系统,可监测多个地方的可燃气体、温湿度等环境参数,远程终端设备可实时访问数据。

RS485通信结构是一种半双工网络,在同一时刻RS485只能发送或者接收数据,其数据的发送和接收是通过/RE和DE引脚控制,通信距离最长可达1219 m,最大传输速率为10Mbps,采用主从机通信模式,即总线可接多个终端节点。可使用MAX485芯片进行电平转换,实现单片机与PC机之间的通信,使用MAX232把单片机的TTL电平转换成RS232电平。

1 系统总体设计方案

系统总体设计框图如图1所示。系统采用MQ系列传感器采集瓦斯浓度,根据瓦斯浓度值的不同,系统会输出不同的电压值,并使用TLC549把电压值转换成数字量输出给单片机;应用pH值传感器、温湿度传感器等采集环境信息。系统数据传输使用RS485进行通信,每个从机采集点将采集到的环境信息发送至上位处理中心,并存储信息到对应数据库字段内,上位机远程移动手机可链接数据库实时查询环境信息参数。

2 系统硬件电路设计

2.1 传感数据采集电路设计

传感数据采集电路设计如图2所示。处理器选用STC89C52系列8位单片机,温度实时监测采用一线制DS18B20传感器、MQ瓦斯浓度传感器数据转换芯片选用8位TLC549A/D转换器。

图1 系统总体设计框图

图2 传感数据采集电路设计

2.2 RS485电路设计

单片机与RS485芯片接口电路设计如图3所示。RS485既可作为发送器使用,也可作为接收器使用,取决于单片机的P27端口。当P27端口为高电平时,DE有效,即作为发送器使用;当P27为低电平时,/RE有效,即作为接收器使用;RS485芯片的RO、DI引脚分别连接单片机RXD、TXD端口。

3 系统软件设计

3.1 RS485通信协议设计

当两个以上RS485通信节点收发信息时,会产生数据紊乱,则数据会失真。为了使通信稳定、数据收发正确,本文设计了一种RS485通信协议。

协议原理分析。通信节点发送数据以帧为单位传输,包含帧开始位、数据位、校验位、验收滤波等。(1)帧开始位,即起始位,在数据开头定义一字节用于区分数据类别,根据帧的类别来判断节点是否需要接收该帧的数据;(2)数据位,开始设计一个字节,用于告知接收节点需要接收多少位数据,帧的数据最多8个字节,可根据实际进行修改;(3)校验位,采用和校验,校验的计算规则是数据的所有最低一位和最高一位的累加求和,校验用来检测接收到的数据是否和发送的数据一样,接收节点会把接收到数据根据校验计算规则进行计算,并和接收到的校验值对比判断,相同则将接收到的数据保存到二级缓冲区,否则舍弃。(4)验收滤波,采用一个二维数据ID,每一行的第一个元素用来控制是否启用对应的的滤波ID,第二个元素便是滤波ID。如果没有启用任何一行的ID,则该节点可以接收任意帧,如果启用一行以上的滤波ID,则只接收启用ID的帧消息,其它丢弃。

3.1.1 多节点通信原理分析

在该通信系统,某一个节点发送一帧数据,其他节点都会接收到相同数据。当节点接收到约定的开始字节数据后,将开始接收处理,否则会把接收到的数据舍弃,接着接收ID,根据滤波规则进行判断,判断通过后则接收数据,数据接收最后一个步骤为校验,将判断发送前和接收到的校验是否一样,若相同则把接收到的数据保存到二级缓冲并把标志位转变为接收完成标志。

3.1.2 数据收发串口数据设置

数据发送时通过串口发送,且接收也是通过串口接收。串口配置为9600的波特率,9位数据位,无校验位,接收中断。RS485的数据接收都是在中断处理,而主函数则一直判断标志位是否接收完成,接收完成则进行相应的处理。在串口配置时,配置为9位数据位,其有效的数据是8位,发送时第9位会一直为1,接收的时候会判断第9位是否为1,如果不是则表示这一个字节为无效数据,会把接收到的数据全部丢弃。

3.2 系统软件设计流程

3.2.1 从机软件设计流程

从机的软件设计流程如图4所示。从机节点上电并初始化RS485,从机根据硬件地址的电平计算出ID,根据此ID配置滤波ID,0~3号机的滤波ID分别是0xt1、0xt2、0xt3、0xt4,然后从机按一定频率采集传感器数据。当从机接收到主机发送过的数据为0x01、0x01时,从机会把采集到的传感器数据发送给主机,发送帧的ID会根据从机的序号而不同,0~3号从发送的帧的ID分别是0xa0、0xa1、0xa2、0xa3,主机发送的帧ID会等于该从机的滤波ID。

图4 从机软件设计流程图

图5 主机软件设计流程图

3.2.2 主机软件设计流程

主机软件设计流程如图5所示。主机节点上电并初始化RS485,配置滤波ID为0xa0、0xa1、0xa2、0xa3,根据从机发送的帧ID,主机会收到从机发送的帧消息,但其他的从机不会接收此帧,然后把解析后的数据发送到PC机数据库。

主机要向从机发送帧消息时,帧的ID会根据要发送给哪台从机而确定,比如要向1号从机发送帧消息时,ID为0xt2,则只有1号从机能接收到此帧消息,其他从机接收不到。主机按一定频率循环发送0x01、0x01,请求从机发送对应传感器值给主机,0xt1、0xt2、0xt3、0xt4依次循环。当主机接收到从机发送帧消息时,会和滤波ID相对比,等于第几个便是第几号从机,0~3号从机发送的帧ID分别是0xa0、0xa1、0xa2、0xa3,主机的配置滤波ID为0xa0、0xa1、0xa2、0xa3。此算法能够准确获取从机发送的数据,进而保存至数据库。

4 结语

本文应用RS485通信技术采集多点环境信息,所设计的协议具有简单、传输数据可靠性高、稳定性强等优点。基于RS485总线远程多点环境信息监测系统可以广泛应用在矿井、工业车间等应用场景中,具有一定的实际应用价值。

[1]韩耀振.基于CAN_485总线的可燃气体报警系统设计[J].单片机与嵌入式系统应用,2008(1):62-65.

[2]赵意鹏,赵河明,张毅,等.基于MODBUS和RS_485布网方式的气体监测系统设计[J].计算机测量与控制,2015(9):2986-2987.

[3]王树梅.基于现场总线的温室多点监测系统的设计[J].数字技术与应用,2016(10):151-152.

[4]张新良.基于RS485总线网络的温室无线监控系统设计[J].测控技术,2017(1):88-91.

[5]徐浒.流量计RS485接口通讯程序的设计与实现[J].信息通信,2017(3):68-70.

[6]熊文.一种RS485串口通信电路的高可靠性设计[J].自动化与仪器仪表,2017(3):43-45.

DesignofRemoteMultipointEnvironmentInformationMonitoringSystemBasedonRS485Trunk

ZHOU Zheng-gui

(Department of Electronic Information Engineering,Anhui Business College of Vocational Technology,Wuhu Anhui 241002,China)

By using RS485 communication protocol, a remote multipoint environment information monitoring system was designed which consisted of data acquisition layer, RS485 trunk communication protocol and upper computer.The processor adopted STC89C52 singlechip microcomputer, the hardware circuit of the single chip microcomputer and the sensor and the communication module were designed, as well as a RS485 multipoint data transmission communication protocol was designed. In the practical application, the sensor data was transmitted to the RS485 trunk and finally to the upper computer. The administrator can have a remote query of the server data in real time, achieving intelligent management. Thus, the system has a certain application value.

sensor; RS485; monitor; singlechip microcomputer

TN99

A

2095-7602(2017)12-0043-04

2017-05-15

安徽省教育厅自然科学研究重点项目“基于物联网技术的智慧农业系统研究”(KJ2016A254);安徽省教育厅质量工程项目“物联网应用技术专业综合改革试点”(2015zy118);安徽商贸职业技术学院自然科学研究项目“基于RFID技术的食品追溯系统研究”(2014KYZ04)。

周正贵(1984- ),男,讲师,硕士,从事物联网应用技术、电子信息技术研究。

猜你喜欢

总线滤波单片机
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的便捷式LCF测量仪
基于PCI Express总线的xHC与FPGA的直接通信
机载飞控1553B总线转以太网总线设计
基于自适应Kalman滤波的改进PSO算法
RTS平滑滤波在事后姿态确定中的应用
CAN总线并发通信时下位机应用软件设计
基于线性正则变换的 LMS 自适应滤波
Microchip推出两个全新PIC单片机系列