基于RS485总线的远程抄表系统采集终端的设计与实现

接口/总线/驱动

1106人已加入

描述

  1引言

  远程抄表系统不仅能够节约人力资源,更重要的是可提高抄表的准确性,减少因估计或誊写而造成的帐单出错,所以这种技术越来越受到用户欢迎。远程抄表系统一般包括3个部分:上位机、集中器和采集终端。其中采集终端是介于集中器和电能表之间的中间设备,主要具有电量数据采集、处理、存储及转发等功能;根据电能表的不同,电量采集终端以智能通信方式(规约)或脉冲采集方式采集数据,并以一定的算法或程式将采集数据加以周期性和选择性的存储,同时将实时或历史电量数据以集中器要求的格式和内容传递给集中器。

  由于基于RS485总线的远程抄表系统不仅成本比较低,而且具有数据传输稳定、可靠性高、传送距离较远、速度快、抗干扰能力强等优点,所以本文介绍一种基于RS485总线的远程抄表系统采集终端的设计,这种采集终端不仅能够采集脉冲式电能表的电量数据,而且能够采集带RS485接口的电能表的电量数据。

  2采集终端的硬件设计与实现

  2.1采集终端的总体设计

  采集终端的硬件结构如图1所示。

  74HC165

  图1采集终端的硬件结构框图

  采集终端的微处理器采用菲利浦的一款基于ARM7内核的控制器LPC2131,他有8kB的片内静态RAM和32kB的片内FLASH程序存储器,有2个32位的定时器,2个16C550工业标准UART和2个高速I2C总线,此外,他还在片内集成了看门狗和实时时钟。

  此采集终端用两个UART扩展了2个RS485接口,其中RS485接口1和集中器进行通信,RS485接口2和带RS485接口的电能表进行通信。

  存储器采用串行E2PROMAT24C256,串行E2PROM具有体积小、功耗低、硬件接口简单等特点,他可以直接挂接在LPC2131的I2C总线上。

  本采集终端通过SPI接口来扩展I/O,其中扩展16路I/O输入用于16路脉冲输入,另外扩展16路I/O输出用于数码显示电路。

  采集终端的地址用8个地址开关来进行设置,另外用一个模式选择开关来选择采集终端是工作在脉冲式电能表模式还是工作在RS485电能表模式。

  2.2脉冲采集电路的设计与实现

  本采集终端的脉冲采集电路用SPI接口扩展I/O输入来实现。其硬件电路图如图2所示。

 74HC165

  图2脉冲采集电路

  SPI接口通过两片74HC165来进行I/O扩展。74HC165是一种8位并入串出的移位寄存器,其中CLK和CLKIN为其时钟输入端;QH和QH为一对逻辑电平相反的串行数据输出端;SER为级联输入端;SH/LD为预置控制端,他为低电平时,并行数据端的数据置入74HC165的内部寄存器,为高电平时,则进行串行移位操作。两片74HC165之间通过级联方式进行连接,他们的CLK和SPI接口的SCK相连,由于此SPI接口还要通过两片74HC595来扩展数码显示电路,为了使SPI时序能够同时满足这两种芯片的时序要求,所以SPI的SCK直接和74HC595的SCK相连,而通过反相器和74HC165的CLK相连,通过一条I/O线nCS来对数据输入和移位操作进行控制。当nCS输出低电平时,则16路脉冲量进入74HC165的内部寄存器,而当nCS输出高电平时,则16路脉冲数据通过串行输入端MISO输入。在脉冲输入时为了消除抖动,特意在输入时加上电容和施密特触发器进行消抖处理。

  2.3RS485接口的设计与实现

  RS485是一种串行总线接口标准,他以差分平衡方式传输信号,具有很强的抗共模干扰能力,其最大传输距离可达4000英尺(约1219m),并且允许在一对双绞线上一个发送器驱动多个负载设备。

  RS485有全双工和半双工两种连接方式。其中采用全双工连接方式时,与RS422一样只能实现点对多的通信,即只能有一个主设备,其余为从设备;另外,由于每一个传输方向都有自己的传输通路,不需要对传输方向进行控制。采用半双工连接方式时,可以实现真正的多点双向通信,但由于发送和接收共享一个信号通道,在某一个时刻只允许接收或发送数据,因此需要对传输方向进行控制。

  RS485接口1采用全双工连接方式进行通信,这种通信方式操作简单,不需要对传输方向进行控制。RS485芯片采用MAX1482,他是低功耗的RS485和RS422通信收发器。他的特征是进行了转换速率限制,可以减少电磁干扰(EMI)和降低通信电缆阻抗不匹配引起的反射,数据传输速率可以达到250kb/s;具有1/8单位负载的输入负载阻抗,可以最多带256个节点。

  RS485接口2采用具有抗雷击能力的RS485芯片SN75LBC184,其硬件电路如图3所示。为了保护RS485接口,采用光偶进行隔离保护,考虑到RS485的波特率可能会比较高,所以采用高速光偶6N137进行隔离保护。此接口采用半双工方式进行连接,用一根I/O线R/DC对传输方向进行控制,当他输出高电平时,发送使能有效,数据可以通过TxD线发送出去;当他输出低电平时,接收使能有效,可以通过RxD线接收数据。为了提高RS485通信的可靠性和抗干扰能力,特别加了R1和R3和两个偏置电阻和匹配电阻R2。

  74HC165

  图3RS485接口2硬件电路图

  3采集终端的各软件模块的设计

  采集终端的软件模块可以分为3个部分:与集中器通信任务模块、定时抄表和存储模块以及脉冲采集和错误显示模块。

  与集中器通信任务模块采集终端与集中器通信主要是进行抄收电表数据、校时、设置电表地址以及查询采集终端状态等操作。他们之间采用主从式通信方式,集中器为主叫方,采集终端为被叫方;只有当集中器向采集终端发送指令后,采集终端才能进行相应的回应。其中RS485通信采用数据帧方式传输,其通信协议由笔者自己设定,每个数据帧包括以下几个部分:前导符、地址域、命令码、数据长度、数据域、校验码和结束符等。其中前导符用来唤醒对方,校验采用模256校验和,即各字节二进制的算术和,不计超过256的溢出值。其总体通信流程如图4所示。当采集终端收到的数据帧校验错误或者收到错误数据时,则发送异常应答帧,若收到正确数据帧,则发送正确应答帧。

  74HC165

  图4与集中器通信任务流程图

  定时抄表和存储模块采集终端每隔一定的时间要抄收电能表的电量数据,并把这些电量数据存储在E2PROM中。若是采集终端工作在脉冲式电能表工作模式,则不需要对电量数据进行抄收而直接把自己采集的16个电能表的脉冲数据存储在E2PROM中。若是工作在RS485电能表模式,则需要对各个电表进行抄表操作。采集终端和带RS485接口的电能表用的通信规约是DL/T645-1997———多功能电表通信规约。其抄收一个电表的流程如图5所示,当一个电表连续5次抄不到电量数据,则认为这个电表可能有问题,则在数码显示电路上显示其错误代码和电表编号。

  脉冲采集和错误显示模块当脉冲数据经SPI接口读入后,经过软件去抖处理,即连续几次读SPI接口,若几次都读到高电平则认为是正确脉冲,则相应的电表脉冲数据加1,否则视为干扰脉冲。错误显示就是当产生E2PROM读写错误或者电表故障等错误时,则在数码管上显示其错误代码。

  74HC165

  图5抄表流程图

  4结语

  本文介绍一种基于RS485总线的采集终端的设计,这种采集终端不仅能够集抄脉冲式电表,也能够集抄带RS485接口的电能表;采用SPI接口来扩展I/O资源,来实现对输入脉冲的采集和数码显示电路;采取各种软硬件措施来提高RS485通信的可靠性,使系统能够稳定可靠地通信。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分