基于CAN/RS485双层网络的远程抄表系统设计
扫描二维码
随时随地手机看文章
目前我国普遍采用户用计量仪表即水表、电表、燃气表、热表(四表)安装在用户室内, 抄表人员走家串户,手工抄表采集数据,然后结算的计量收费方式。为了有效解决入户抄表收费存在的诸多弊端, 我国从90年代初开始研制全电子式电能表,并且取得了一定的成果。目前已研制出多种远程抄表系统,常用的有用基于电力线载波的抄表系统,基于RS-485总线的抄表系统等。
基于电力线载波的抄表系统,减少了系统由于布线带来的成本,但是由于信号和强电在同一根线上传输,传输过程中不可避免地存在强电场的干扰,信号的可靠性受到影响,而且随着传输距离的增大,信号的衰减较快,影响了抄表数据的可靠性;基于RS-485的抄表系统是较为理想的一种远程抄表系统,它采用的是主从式的通信方式,任何时候只允许一个节点向网络发送数据,所以RS-485多采用主从结构的命令型通信方式来防止数据通讯故障,数据通信时必须由主节点接收到管理主机的命令,然后由主节点向各个从节点传达命令,从节点的数据依次送至主节点,最后再由主节点将各从节点的数据发送至管理主机。从数据通信过程可以看出,如果主节点出现故障,则整个系统会陷入瘫痪状态。另外,随着居民区的用户的不断扩大,要求抄表系统现场数据通信距离也随之增加,由于采用485总线在9600bps下能达到的最远传输距离小于1200米,因而需要增加一个或多个中继以实现数据的较远发送和接收。因为485为半双工通信,中继器在工作中必须判断网络数据流向,所以中继器的结构复杂,导致增加了系统成本,降低了系统的可靠性。
CAN(Controller Area Network)是控制器局域网的简称它是德国Bosch公司在1986年开发的一种串行数据通信总线。CAN网络上的节点不分主从,任一节点均可在任意时刻主动地向网络上其他节点发送信息,通信方式灵活,利用这一特点可方便地构成多机备份系统,CAN采用非破坏性总线仲裁技术,当多个节点同时向总线发送信息时,优先级较低的节点会主动地退出,而最高优先级的节点可不受影响地继续传输数据,从而节省了总线冲突的仲裁时间。
针对它们各自的特点,我们采用符合国际标准ISO 11898的CAN总线技术和目前仪表和自动化装置常用的RS-485总线构成双层网络结构,这种网络结构有效地解决了系统的建设成本高、数据管理困难、可靠性不高以及可扩展性能差等问题。
2.系统的总体设计框架
本系统采用双层网络的构架,见图1。
500)this.style.width=500;" border="0" />
目前我国四表普遍安装在户内,工作环境不算恶劣,所以本系统低层网络采用 RS-485总线。它具有结构简单、成本低廉、对布线要求不高的特点;而且RS-485总线在9600bps下最远传输距离可以达到1200米,完全能够完成一栋楼家用控制器与集中控制器远程通讯的距离需求;再加上它们之间的通讯数据量小,数据结构简单,所以RS-485总线能够可靠地完成低层数据采集的需要。高层网络采用兼容性能好、可靠性能高、数据传输速度快、传输距离远(在5000bps时传输距离10km)的CAN总线。CAN总线采用短帧结构,传输时间短,受干扰概率低;有CRC校验和出错标定能力;而且具有故障节点自动脱离CAN总线等功能,特别适合所处环境恶劣,数据交换较频繁的集中控制器与管理中心计算机之间的通信。
系统由家用控制器、集中控制器、管理中心主机组成二级分布式监控式系统。家用控制器以单片机为核心,能接收耗能表(四表)送出的脉冲信号,并且进行计数、数据处理、保存数据、发送用户信息和显示用户状态信息等功能,为了提高可靠性,配有独立的备用电源供电。集中控制器可对一定数量的家用控制器进行集中管理,将各家用控制器采集到的数据传送至管理中心,同时为了保证用户信息的安全,将采集到的数据进行备份处理,同样它也有备用电源可在停电时继续给控制器供电。一般情况下,一栋楼配置一个集中控制器。小区管理中心主机通过运行远程抄表管理软件来处理下位机传送来的数据信息,例如进行统计、交费管理、报表、网络事故报警等操作。为了降低系统的设计成本,RS-485与CAN皆采用价格低廉的双绞线连接。
3. CAN总线的通信协议
3.1 CAN总线上的电平
CAN总线具有两种逻辑状态:隐性或显性。在隐性状态下VCANL和VCANH被固定于平均电压电平,Vdiff近似为零。显性状态以大于最小阈值的差分电压来表示。
显位(0):VCANH 3.5V,VCANL 1.5V
隐位(1):VCANH 2.5V,VCANL 2.5V
3.2 总线仲裁
仲裁期间,每个进行发送的节点都将其发送的位电平与监控总线电平进行比较,任何发送一个隐性位而监视到一个显性位电平的节点立即变成接收器,而不破坏总线上的任何信息,等到总线空闲时,再重新发送报文。报文标识符的二进制数值越低,其优先级越高。
3.3 CAN总线的报文格式
CAN技术规范定义了CAN报文格式。CAN定义了四种不同的帧,数据帧、远程帧、出错帧、超载帧。
数据帧的组成格式见图2。
500)this.style.width=500;" border="0" />
帧起始:1个显位,标志帧的开始。
仲裁场:由标志符和远程发送请求位(RTR)组成。
控制场:数据长度码和两个保留位。
数据场:包括0 ~8个字节,每个字节8位。
CRC:CRC序列与CRC界定符。
应答场(ACK):应答间隙与应答界定符。
远程帧的组成格式和数据帧类似包括帧起始、仲裁场、控制场、CRC和应答场,与数据帧相反,远程帧的RTR位是隐位,远程帧不存在数据场。
出错帧由两个不同的场组成,第一个场由来自各站的错误标志叠加得到,第二个场是出错界定符。
超载帧包括两个位场,超载标志和超载界定符。
帧间空间包括间歇场和总线空闲场。
4. 集中抄表器的硬件设计
4.1集中抄表器的硬件设计
由于底层采用的是RS-485,而网络上层采用的是CAN总线协议,这就要求集中抄表器不但具有数据采集、数据备份,而且应该具有协议转换的网桥功能。CAN与RS-485总线转换网桥的设计原理图见图3。
500)this.style.width=500;" border="0" />
网桥的微控制器采用TI的MSP430F449,它负责整个网桥的监控任务。CAN控制器接口电路由CAN通信控制器SJA1000和CAN总线收发器82C250组成,为了提高系统的可靠性和抗干扰能力,可以在SJA1000和82C250之间增加光耦合电路。RS-485总线端所使用的是内部具有光耦合的差动收发器MAX1480。网桥中设计的LED,可用于网桥上的上电指示,总线收发状态及故障情况指示,网桥的看门狗采用了一片X25045。X25045除了具有看门狗和上电复位功能外,内部还集成了512个字节的串行EEPROM,用于保存网桥参数配置等信息。网桥的配置可通过CAN总线或RS-485总线实现,通过网桥的适当配置可以很方便的实现报文的过滤。
4.2集中抄表器的软件设计
网桥总线数据的接受均采用中断的方式,在主监控中实现数据的发送,内存采用FIFO机制管理。
由于RS-485总线与CAN总线是两种不同的总线形式。相互进行数据通讯时,需要进行协议转换。CAN总线标准具有物理层和数据链路层协议,以帧为单位进行数据通信,而且每帧均携带相应的ID标志符,而RS-485本质上是一个物理标准,以字节为单位进行数据通信,不带有任何其它附属信息,其格式完全由用户自己定义。所以在考虑设计RS-485帧格式时,应该参考CAN总线的帧格式。具体设计RS-485帧格式时可以参考以下格式:
500)this.style.width=500;" border="0" />
第一个字段为地址字段,占用一个字节,作为RS-485子网的多机通信地址用。在RS-485网络中,只能采用一主多从的方式进行通信,网络中必须有一个主控节点,在此网桥为主控节点,通过查询点名的方式进行通信。第二到第四字段与CAN报文中的同名字段定义相同,实际上这三个字段是一个完整的CAN报文。网桥在进行转发时只需要将这三个字段构成的CAN报文发送即可,使网桥中的协议转换更为容易实现。最后的校验字段可用于网桥接受报文时的校验,以保证数据的可靠。软件设计流程见图4。
500)this.style.width=500;" border="0" />
主监控程序根据接受缓冲区中是否有报文,决定数据是否发送以及发送给谁。如果接
受CAN子网数据缓冲区中有报文则向RS-485子网转发,如果接受RS-485子网数据缓冲区有数据则向CAN子网转发。由于CAN报文和自定义的RS-485报文的帧格式长度不同,在转发报文时,要进行帧格式的转换。在转发报文后,要对相应的FIFO缓冲区进行参数调整。另外在主监控程序中,如上位机对网桥有状态请求或网桥本身有故障,网桥可以向上位机返回本机状态。该功能便于系统的故障定位,管理中心计算机通过运行远程抄表管理软件可以提前发现系统故障,增强了系统的可维护性。
5.结束语
由CAN总线和RS-485总线组成的双层网络结构,有效地实现了户用计量仪表和远程管理计算机的有效数据通讯。它们无论在硬件连线,还是软件编程都具有很好的兼容性。在实验室条件下,通过系统运行检验表明,系统运行平稳,可靠性较高,实现了高效率的远程数据采集和集中管理。