目前,我国城市居民用户的电表、水表、天然气表很多是人工抄表,由抄表工作人员每月逐个查抄各种仪表,也有很多地区已经通过抄表改造工程实现了集中抄表。

 

由于目前已经使用的远程抄表还面临一些挑战:比如初期成本较高,同时总线上传输的数据是终端用户所消费的水、电、气等重要数据,对总线的抗干扰性要求非常高,要具有抵抗容性、感性的偶合干扰的能力,为节约成本,要采用远程供电的方式给从设备提供电源,以尽可能减少元器件的使用。

 

为了解决以上问题,本文设计了一种基于 CAN 总线的远程电表抄表系统集中器。基于 CAN 总线智能电表系统具有造价较低,可靠性高,组网简单,管理方便,操作简捷等优点,并且可以通过扩展和升级硬件,利用有线网络或无线网络通信,把集中器采集到的实时数据发送到售电公司的管理系统中统一管理,通过应用线损分析、远程通断电、防窃电分析等功能达到更高的智能化。

 

1 集中器的功能及原理分析

一般的智能电表系统由四部分组成:表头,集中器,通讯器,上位机系统。具体如图 1 所示,其工作原理是通过一体化载波表或安装在电表表尾的电力计量传感系统模块经 CAN 总线组网,集中器按设定好的时间段接收数据并保存到内部 flash 中,当上位机发来读数据的信号后上位机通过 RS232 或 RS485 读数,读到的数据通过网络传送到用电管理中心。

 

在远程抄表表系统中,集中器是一个重要组成部分。

 

集中器通过 CAN 总线控制并读取表头的数据,数据存储在集中器的 flash 中。集中器执行从上位机发送的控制命令:

 

对时、读 flash、读表数、限电、增加表头地址等。

 

集中器通过 CAN 控制器发送读表命令信号到总线上,每个表头根据读表命令将采集的信号通过 CAN 总线发送到集中器。集中器将采集的信号存储在 flash 芯片中。上位机通过串口发送读数据信号到集中器,集中器就把存储在 flash 中的数据传送给上位机。

 

2 集中器硬件设计

主控芯片采用的是 ST 公司的 STM32 系列的 STM32F103Tx,该系列单片机是 ARM 的 CortexTM-M3 处理器是最新一代的嵌入式 ARM 处理器,它为实现 MCU 的需要提供了低成本的平台、缩减的引脚数目、降低的系统功耗,同时提供卓越的计算性能和先进的中断系统响应。具有运行速度快(系统时钟频率最高可达 72MHz)26 个复用 GPIO;64KB 片上 RAM;2 个 12 位模数转换器,1μs 转换时间(多达 16 个输入通道);3 个 SPI,5 个 USARTs,2 个 IIC 接口;片上 256KBFLASH;2 个看门狗,11 个定时器;芯片具有独立的实时时钟,能够相关资料丰富,提供单片机使用库函数,用 C 语言编程十分方便,易于开发。

 

由于智能电表控制器需要很准确的实时性,以方便售电公司收取用电费用。因为主控芯片自带实时时钟,所以只需要外接独立的 32.768kHz 的晶体。实时时钟既可以通过寄存器设置年月日及具体时间,同时还有闹钟功能,定时中断进行指定操作。

 

智能电表集中器的硬件部分结构如图 1 所示,主要有 ARM,Flash,时钟芯片,接口电路,RS232,RS485,电源等组成。ARM 作为控制芯片,有标准设计;ARM 接口电路比较简单,以下重点讨论 CAN 总线接口和 Flash 接口设计。

 

 

2.1 CAN 总线接口电路设计

因为系统对信号传输过程中的稳定性和抗干扰能力要求很高,所以 CAN 接口采用高标准接口电路。电路图如图 2 所示。

 

 

CAN-bus 接口电路采用+3.3V 供电,选择 CTM8251A 隔离 CAN 收发器。该芯片是 3.3V 工业级的隔离 CAN 收发器。CTD0 信号连接主控芯片的 CAN 控制器的发送脚,CRD0 信号连接 CAN 控制器的接收脚。CTM 隔离 CAN 收发器内有一完整的 CAN-bus 隔离收发器电路,可以将来自 CAN 控制器的逻辑电平转换为 CAN 总线信号,并具有 DC2500V 隔离功能。另外,CTM 收发器可以选择集成 ESD 保护功能的“T”系列,从而省略外扩的 ESD 保护器件。共模扼流圈 T1 起着 EMI 增强的功能,用于提高设备的 EMI 能力;共模扼流圈 T1 的电感参数很重要,选择 CAN-bus 专用器件,比如 EPCOS 的 B82793 扼流圈。

 

2.2 Flash 接口电路设计

集中器需要对与之相连的每个电表表头采集数据,所以数据量较大,从而对存储有着较高的要求,故选用 ST 的 M25P64-VMF6TP。该芯片为 64M 串行接口闪存,增强数据传输时钟速率为 50MHz;读的吞吐量为 50Mbps;接口为简单的 4 线 SPI(串行外围设备接口)接口;深度降功耗模式间断功耗,电流消耗仅为 1uA。

 

M25P64Flash 芯片,通过 SPI 总线与 ARM 相连。SPI 总线系统是一种同步串行外设接口,它可以使 MCU 与各种外围设备以串行方式进行通信以交换信息,一般使用 4 条线:串行时钟线(SCL)、主机输入 / 从机输出数据线 MISO(SDO)、主机输出 / 从机输入数据线 MOSI(SDI)和低电平有效的从机选择线 CS。SPI 以主从方式工作,通常有一个主设备和一个或多个从设备。

 

图 3 为 ARM 与 Flash 的连接电路图。以下几点说明:(1)SCL 串行时钟信号,由主设备产生;(2)SDO 主设备数据输出,从设备数据输入;(3)SDI 主设备数据输入,从设备数据输出;(4)CS 为片选,从设备使能信号,由主设备控制。(5)对 7、15、16 角外接上拉电阻,提高芯片输入信号的噪声容限增强抗干扰能力。

 

 

3 集中器软件设计

集中器系统采用数序程序设计,按功能模块设计程序,由主程序调用各个功能模块程序实现各个相应功能,各个功能模块通过调用底层函数完成相应的操作。具体流程见图 4,启动后,开始初始化系统。系统进入等待命令模式,如果有上位机操作命令或有定时中断发生则进入对时程序,对时如果超出一定时间还未成功则向上位机报警。

 

对时成功后,集中器继续等待上位机的读数命令或等待中断读数命令。当收到读数的命令后,定时读数使集中器按设置的时间,自动读取表头采集来的数据;读数使集中器读取当前表头的数据。

 

集中器通过 CAN 总线可以挂载最多 100 个表头,集中器发出 CAN 总线设备的 ID。每个分系统表接收到对应的 ID 号后,根据系统发出的读表头命令来反馈数据。如果 CAN 通讯有故障,CAN 控制器通讯将报故障。如系统回路正常,集中器的发送命令数据包。每帧 CAN 数据包含 8 字节,因为每次读数的数据流量不是很大,所以每次通讯只需要使用一帧 CAN 数据即可,表头 ID 使用帧 ID 来识别,每个表头对应独立的帧 ID。

 

集中器发送 CAN 数据命令包到 CAN 总线,表头根据各自的 ID 选择接收读表命令后发送应答数据到 CAN 总线上。

 

4 结束语

本设计作为智能电表抄表系统的一部分,目前成功应用于某些远程抄表系统中,由于成本适中、性能稳定,取得了较好的经济效益,具有很好的推广前景,同时经过简单的修改就可以开发出其他的远程抄表系统,如燃气远程抄表系统等。