基于CAN总线的低成本智能电表集中器设计方案
摘要: 本文介绍了智能电表集中器的原理,分析了相关的硬件电路,设计了具体的软件的控制流程。该集中器具有独立存储空间、实时性强、稳定性高等优点,在具体的应用中取得较好的效果。
本文介绍了智能电表集中器的原理,分析了相关的硬件电路,设计了具体的软件的控制流程。该集中器具有独立存储空间、实时性强、稳定性高等优点,在具体的应用中取得较好的效果。
0 引言
目前,我国城市居民用户的电表、水表、天然气表很多是人工抄表,由抄表工作人员每月逐个查抄各种仪表,也有很多地区已经通过抄表改造工程实现了集中抄表。
通过集中抄表系统节约了大量的人力、物力,而且采抄数据的周期缩短,准确度提高。随着中国城市化的发展,这种改造工程正在全面展开。由于目前已经使用的远程抄表还面临一些挑战:比如初期成本较高,同时总线上传输的数据是终端用户所消费的水、电、气等重要数据,对总线的抗干扰性要求非常高,要具有抵抗容性、感性的偶合干扰的能力,为节约成本,要采用远程供电的方式给从设备提供电源,以尽可能减少元器件的使用。
为了解决以上问题,本文设计了一种基于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接口设计。
图1智能电表抄表系统结构框图
2.1 CAN总线接口电路设计
因为系统对信号传输过程中的稳定性和抗干扰能力要求很高,所以CAN接口采用高标准接口电路。电路图如图2所示。
图2 CAN接口硬件电路图
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角外接上拉电阻,提高芯片输入信号的噪声容限增强抗干扰能力。
图3Flash接口硬件电路图
3 集中器软件设计
集中器系统采用数序程序设计,按功能模块设计程序,由主程序调用各个功能模块程序实现各个相应功能,各个功能模块通过调用底层函数完成相应的操作。具体流程见图4,启动后,开始初始化系统。系统进入等待命令模式,如果有上位机操作命令或有定时中断发生则进入对时程序,对时如果超出一定时间还未成功则向上位机报警。
对时成功后,集中器继续等待上位机的读数命令或等待中断读数命令。当收到读数的命令后,定时读数使集中器按设置的时间,自动读取表头采集来的数据;读数使集中器读取当前表头的数据。
图4系统软件流程图
集中器通过CAN总线可以挂载最多100个表头,集中器发出CAN总线设备的ID。每个分系统表接收到对应的ID号后,根据系统发出的读表头命令来反馈数据。如果CAN通讯有故障,CAN控制器通讯将报故障。如系统回路正常,集中器的发送命令数据包。每帧CAN数据包含8字节,因为每次读数的数据流量不是很大,所以每次通讯只需要使用一帧CAN数据即可,表头ID使用帧ID来识别,每个表头对应独立的帧ID。
集中器发送CAN数据命令包到CAN总线,表头根据各自的ID选择接收读表命令后发送应答数据到CAN总线上。
集中器将接收到的应答数据提取出电表读数存储在flash中。CAN数据收发工作流程如图5所示。
图5 数据收发流程图
4 结束语
智能电表集中器是远程抄表管理系统的重要组成部分,集中器工作的稳定性直接影响到了整个系统的效率。
本文给出了一种基于CAN集中器的详细设计,分析了主要外围接口电路,根据CAN总线的数据帧格式对收发数据流程进行了介绍。本设计作为智能电表抄表系统的一部分,目前成功应用于某些远程抄表系统中,由于成本适中、性能稳定,取得了较好的经济效益,具有很好的推广前景,同时经过简单的修改就可以开发出其他的远程抄表系统,如燃气远程抄表系统等。
暂无评论