基于单MCU的智能电能表软件法制计量设计

2018-12-10 12:12张秋雁张俊玮丛中笑宋锡强谢永明汪萍萍
计算技术与自动化 2018年3期

张秋雁 张俊玮 丛中笑 宋锡强 谢永明 汪萍萍

摘 要:面向电能表国际建议IR46标准提出的法制计量与非法制计量软件分离的要求,研究基于单MCU策略的智能电能表软件法制计量设计,将法制计量以及计量必须的组件设计为最小"系统"的基表,内部采用积木式、模块化结构,法制计量基表部分不能改变和升级,其它应用功能模块独立设计并可任意配置和在线升级;通过采用操作系统控制MPU进行分层分块隔离和保护,通信协议基于DLMS/COSEM高级计量架构,兼具开放性、互操作性,设计统一的带保护的外置通信模块接口,自适应各种通信模块。

关键词:IR46;单MCU;法制计量;积木式;在线升级

中图分类号:S611 文献标识码:A

Abstract: For the international recommendations IR46 standard of the energy meter proposed legal measurement and non-legal measurement software separation requirements,researched software legal design of the energy meter based on single MCU strategy,the legal measurement system and its necessary components designed as the smallest "system" of the base meter,designed by using modular structure inside the meter,in order to each component was independent of each other ,legal measurement part can not change and upgrade.Other application function modules were designed independently,could be arbitrarily configured and online upgrade.Used operating system to control MPU for layered block isolation and protection,communication protocol based on DLMS/COSEM advanced metering architecture,which is open and interoperable,designed a unified external communication module interface whit protection function,adapt to a variety of communication modules.

Key words: IR46;single MCU;legal Measurement;building block system;online upgrade

為了适应智能电网和新能源的发展,智能电能表除了具备传统基本电能计量功能以外,用户端控制、双向数据通信、分布式能源接入及防窃电等智能化功能越来越丰富,智能电能表将代表着未来节能型智能电网用户智能化终端的发展方向[1-2]。但从本质和核心功能上讲,电能表最根本的功能是法定计量,旨在保证计量的合法性[3-4],现有的电能表将电能计量和其它智能化功能一体化设计,导致其它功能部分软硬件的设计更改容易影响到计量性能;其它功能的损坏或失效也容易影响到计量部分损坏或失效,导致大量由于其它功能的故障引起计量故障。所以有必要将计量部分独立出来,最大限度的保证不受其它功能因素的影响,以保证电能表计量的可靠性和稳定性。

本文面向电能表国际建议IR46标准中提出的计量性能保护要求,研究基于单MCU及操作系统的电能表软件法制计量与非法制计量分离设计,研究非法制软件在线升级设计,研究其系统设计、软件设计架构及关键功能设计方案,核心旨在提高法制计量的独立性和可靠性[5-6]。

1 IR46标准关于电能表软件法制计量

性能保护要求

电能表国际建议IR46是国际法制计量组织(OIML)下属TC12组织起草的一个技术文件,为新设计生产的电能表的型式批准提出建议,是国际法制计量的重要组成部分。TC12组织了对电能表国际建议IR46的修改,相关的修订工作已于2012年年底完成。IR46标准对电能计量提出了更高的统一的要求,尤其增加了软件计量性能保护要求,其核心思想在于法制计量部分要被保护及非法制部分软件可在线升级,法制计量功能与非法制计量部分要分离,非法制部分的功能、接口等改变不能影响法制计量部分;非法制部分功能可在线升级,但升级不能影响法制计量部分,若升级不成功,可恢复升级前程序[7-8]。我国也正在将IR46标准转化到我国的国标和企业标准中[9]。

目前关于IR46表的法制计量与非法制计量分离设计,主要有两种策略,一种是采用"双芯"策略,将用于实现法制计量功能的MCU与实现应用功能的MCU进行物理隔离,进而使法制计量功能与其它功能彻底分离,但该策略会导致电能表结构体积变大及成本的提高。

本文采用单MCU策略,通过操作系统控制MPU进行分层分块隔离和保护,在电表内部实现法制计量程序与应用程序的物理隔离,实现法制计量基表软件和功能性软件分离,功能性软件可升级,应用程序采用积木式、模块化构造可增加、删减、任意配置[10]。同时智能表协议和架构采用DLMS/COSEM高级计量架构,使得不同通信方式在智能表内部实现有机的统一[11],解决不同厂家、不同设备的兼容,具有开放性、互换性和互操作性。

2 基于单MCU的电能表法制计量系统

架构设计

2.1 系统架构设计

系统架构设计如图1所示,黑框线内为可保证计量的基表最小系统,即法制计量与相关组件,其它功能为可按需求进行选配的应用组件。法制计量部分由外壳、 电源、计量、显示、红外通信、485通信和按键部分等构成,法制计量部分出厂后不能改变和升级,其内部互相独立、模块化设计,设计隔离的无源电脉冲、多功能输出口、供电的拉合闸模块,RS485隔离且单独采用隔离电源供电,RS485的损坏不影响法制计量、拉合闸通信等正常工作;通信模块部分不需要打开表盖就可以方便的在线更换各种通信模块,如:各种载波、微功率无线等,设计统一的通信模块接口,基表可自适应各种通信模块,通信模块外露电气接口具有短路和过载保护功能,通信模块接口损坏不影响法制计量性能。

2.2 电源及通信关键模块设计

(1)隔离开关电源设计

①宽输入电压范围,满足在AC100V ~AC275V范围内,表计内各功能单元正常运行;

②高输出功率,电源峰值输出功率达到10W以上,不同类型通信模块功率差异较大,以及不同品牌通信模块峰值功率不同,充分兼容可能出现的各种通信模块。

③多路输出,各路电源之间隔离设计;多路输出满足不同功能模块的供电,同时电源之间满足相关的隔离等级要求。

④提高整表的电源转换效率,节约电能在整表消耗较大的功率时,使用开关电源设计以提高整机的电源转换效率。

⑤充分的保护设计,电源具有预防输入过电压,输出过电压、过功率保护等功能。

电源的设计框图如图2所示。

(2)通信模块接口兼容性设计

通信模块接口考虑模块可更换,接口外露,所以该接口含保护设计。接口电源方面,采用带过流保护功能的低压差的LDO或者DC/DC电路的方式实现,在出现过载、短路等异常情况下不影响整机的正常运行,并保证电源输出纹波满足不大于输出电压(12V±1V)的0.1%要求。

对于弱电信号设计电平范围3V~5V,兼容各种通信模块的工作电平;对于输入信号,模块接口采用开漏输出方式,采用外接上拉电阻方式进行电平匹配;对于输出信号,采用三极管开漏方式驱动输出。信号线路中均串联低阻值电阻,防止信号线路中可能出现的过电流,信号的开路驱动输出如图3、图4所示,输出信号端采用虚线框内三极管集电极开漏方式,接收端需要进行电阻上拉方式接入。

(3)拉合闸设计

对于内置的负荷开关的驱动,驱动电源在设计时与其它电路合理规避,取电位置与基表供电电源分开,驱动信号采用光耦隔离,防止负荷开关在进行分、合闸操作时驱动线圈对电源造成冲击,影响其他电路的稳定性。

3 基于操作系统的软件分离方案设计

3.1 软件架构设计

总体模型是基于CMSIS架构模型,CMSIS是ARM公司和众多芯片厂商共同制定的Cortex软件架构模型,该模型具有极高的兼容性、互操作性、互换性、可裁剪性和可扩展性,软件层次化、各层接口标准化设计。基于该模型设计独立于基表的最小系统软件,设计统一的功能性应用任务模块接口。软件具体架构设计如图5所示,主要包含以下两个部分。

(1)FreeRTOS操作系统

采用成熟的开源嵌入式实时操作系统FreeRTOS操作系统作为表计软件平台的核心,控制MPU进行分层分块隔离和保护,控制驱动的稳定运行,调度各应用任务模块的协调工作,同时当功能程序任务崩溃时,可以在不重启计量,最大可能的排除故障和重启功能程序任务,保证计量的连续性。采用实时操作系统后,可提高通信实时性,提高通信采集成功率,并且为新通信技术提供了实时性的软件平台。

(2)系统平台和中间层、对象数据接口层、应用层

广义上中间层、对象数据接口层、应用层属于应用层。系统平台除了系统调用接口以外均运行在特权模式,应用层必须通过系统调用接口才能调用系统服务,保证了系统的安全性。

系统平台中的CMSIS库由ARM公司开发,芯片内核采用统一的库,与具体芯片厂商无关,为RTOS和表计驱动程序提供统一接口;FreeRTOS是第三方開发的开源嵌入式操作系统,与采用什么芯片、开发什么产品无关[12]。为表计应用提供统一接口。

HAL硬件抽象层为具体芯片公司芯片进行开发,例如ST公司的STM32L系列MCU,为表计驱动程序提供统一接口;驱动程序是需要自行开发的,与表计应用息息相关。主要包括:IIC驱动、SPI驱动、UART驱动、定时器驱动、GPIO驱动、AD驱动等。

软件应用层将软件分为三个区:计量基表软件(法制计量)、功能软件、功能软件备份。法制计量软件包括系统平台和对象数据接口层、中间层和法制计量必备应用任务模块,主要为电量计量、电源模块、液晶显示模块、数据管理模块;功能应用模块包括冻结、事件、负荷记录、时钟、需量、费率、通信等模块,功能软件备份是与功能软件相同的地址空间,将升级程序写入功能软件备份区,校验完成后将功能软件接口指向备份区,重启升级后的功能程序任务。系统采用嵌入式软件强制要求的硬件内存保护技术,对法制计量系统平台软件进行保护,使功能软件的BUG导致的功能程序混乱从硬件上保证不影响基表系统平台。通信协议采用高级计量架构DLMS/COSEM标准协议,使得不同通信方式在智能表内部实现了有机的统一,从PRIME载波更换到G3载波,从载波更换到无线,只需更改相关底层协议层,从COSEM应用层到用户的应用层是相同的,不需要更改,是下一代高级计量电能表通信应用的必然发展趋势。

3.2 MPU计量性能保护设计

由RTOS管理MPU来区分出特权模式和用户模式分别能访问的资源,具体MPU关键计量保护设计见图6所示。所有跟硬件相关、驱动程序相关以及RTOS自身程序均在特权模式下工作,用户模式无法访问特权模式的数据,也无法运行特权模式的程序,即使用户程序跑飞混乱,也无法干扰系统平台;将应用层的各个应用任务模块独立开来,系统平台和基表应用模块保护起来,并配置成不可升级,其它功能应用部分配置可升级。

3.3 软件在线升级设计

根据IR46标准要求,非法制计量功能可升级,且不影响法制计量功能,若升级失败,程序可恢复先前版本。主要有2种方案设计实现可升级功能,一种使用片上和片外Flash;一种不使用片外Flash,将片上Flash划分为2个区。

(1)基于片上和片外FLASH空间存储的升级设计

片上和片外FLASH代码空间存储划分如图7所示。MCU片上FLASH划分为引导代码、法制相关代码、非法制代码三个区。采用片外串口FLASH作为程序接收和备份的中转区。升级程序本身作为法制相关代码。

在线升级处理步骤如下:

步骤1:升级程序接收远程发送的非法制代码数据帧,将收到的代码存放在片外FLASH新版本区,校验程序完整性通过后,置程序升级标志,进入下一步。

步骤2:系统复位,进入引导代码,判断到程序升级标志时,备份当前非法制代码到片外FLASH区。

步骤3:新程序导入到非法制代码片内FLASH区,记录程序升级记录。

步骤4:系统复位,允许新程序运行。

(2)基于片上FLASH的空间存储在线升级设计

不使用片外FLASH,将片上FLASH划分为2个区。MCU片上FLASH划分为平等关系的区1和区2,引导代码和法制相关代码在2个区均有驻留。在线升级处理步骤如下(假设当前在区1运行程序):

步骤1:升级程序接收远程发送的非法制代码数据帧,将收到的代码存放在非法制代码;

步骤2:系统复位,进入引导代码,校验新程序完整性通过后,记录程序升级记录后,直接运行区2新程序。

相比较方案1存在一定的缺陷,备份当前代码和导入新代码中途出现中断时数据完整性难保证;备份当前代码和导入新代码时间长,而且电能表一直在引导程序中,有校长时间不能运行法制程序,导致程序升级期间电量可能少计。方案2由于采用了两个片上FLASH区,不存在备份和导入新代码的问题,升级程序下载后不需要导代码,新程序复位后立即运行,不存在程序升级期间电量少计的问题,建议选择方案2。

4 结论

针对电能表国际建议IR46标准提出的软件法制计量与非法制计量分离的要求,研究了基于单MCU和软件操作系统结合的新型智能电能表设计方案,该方案调度智能电能表各应用任务模块的协调工作,可最大程度节省产品硬件成本,提高通信的实时性。具体研究了法制计量与非法制计量分离的设计架构及计量性能保护设计、非法制在线升级设计方法,保障软件法制计量与其它功能的隔离,其它功能在线升级不影响法制计量。同时法制计量与非法制应用功能,基于积木式、模块化设计理念,在电表内部实现各组件的独立设计,通信模块接口兼容性设计,实现应用功能的高可配置性,降低产品的复杂性、提高产品可靠性。

参考文献

[1] 刘锦华.智能电能表及其应用研究[J].山西科技,2014,29(3):85—86.

[2] 郭兴昕,贾军,郭晓艳,等.智能电能表发展历程及应用前景[J].江苏电机工程,2012,31(1):82—84.

[3] 冮若嘉,何健宁,赵婉旭,等.电能表的发展和应用[J].科技創新导报,2017,(14):99—100.

[4] 韩霄汉,胡小寒,姚力,等.竞争性电力市场背景下电能计量发展趋势的思考[J].浙江电力,2017,36(3):30—33.

[5] 汪东红,朱中文,周韶园,等.电能表常数的定量化试验方法研究[J].计量技术,2010(4):34—37.

[6] 吴瀛,吕家圣,陈禾,等.OIML IR46电能表型式评价中软件型评的要求和方法[J].2013(12):33—36.

[7] 崔伟群.欧盟关于计量器具软件测评的现状与发展[J],中国计量,2012,(8):19—22.

[8] 吴瀛,吕家圣,陈禾,等.OMIL IR46电能表型式评价中软件型评的要求与方法[J],计量技术,2013,(12):33—36.

[9] 刘明杰,周林,苗长胜,等.新一代智能电能表的发展探讨[J],电测与仪表,2017,54(18):94—99.

[10] 童时中.模块化是复杂产品系统发展的"必由之路"[J],中国标准导报,2015(11):18—23.

[11] 彭健.DLMS/COSEM标准协议在三相智能电表中实现的方法[J],科技与企业,2013,(9):110—111.

[12] 张龙彪,张果,王剑平,等.嵌入式操作系统FreeRTOS的原理与移植实现[J],信息技术,2012(11):31—34.