1.系统功能设计
1.1总体结构
基于RENESAS半导体的单片机R5F212B8SNFP(以下简称2B8)完成单相远程费控智能电表设计,其功能:648k字节Flash闪速存储器,3k字节内部RAM,45个可编程CMOS I/O口,可选择上拉电阻,2个专用输入口,6个位定时/计数器,5个外部中断,23个内部中断,4个软件中断,7级中断结构,3个全双工串行通信口,16位硬件乘法器,片内高低速振荡器及时钟电路,2种低功耗电工作方式。是一个比较适合于国网智能电表开发的高性价比单片机。
该智能电能表功能设计主要包括9大模块:电压和电流检测,电能计量电路RN8209计量模块;64 K容量的串行存储24LC512存储模块;字符组合显示的HL9576液晶显示模块;内置温度补偿功能串行时钟RX8025T时钟模块;远程控制实现加密解密ESAM模块;红外IR无线通讯和RS485总线通讯电路模块;各种信息输出的输出电路模块;为各工作模块提供工作电源的电源模块;为各模块协调工件的主MCU 2B8控制模块。总体结构如图1所示。
1.2电能计量模块
远程费控智能电表电能计量采用国产RN8209芯片,精度高、可靠性强。RN8209能够测量有功功率、无功功率、有功能量、无功能量,并能提供2路独立的有功功率和有效值、电压电流有效值、线频率、过零中断等,可以实现灵活的防窃电方案。支持全数字的增益、相位和Offset校正。有功、无功电能脉冲分别从PF、QF管脚输出。内部的电源监控电路可以保证上电和断电时芯片的可靠工作。
提供串行SPI与MCU 2B8之间通讯。MCU可通过SPI口实时读取电表运行参数,在发生异常时,进行事件记录,等待远程主站系统的查询。
1.3通讯模块
本设计中主要采用了2种通讯方式来实现通讯功能,分别是:RS-485和红外IR传输。考虑到智能电表会安装在户外,因此需要在RS-485总线接口上加上避雷的保护措施。采用的RS-485接口芯片是ISL3152芯片,通过光耦NEC2501和单片机系统进行隔离,从而防止遭遇雷击时,对整个系统造成破坏。
主MCU通过异步串行通讯接口UART且通过光耦隔离与RS-485接口芯片ISL3152相连,智能电表通过RS485总线与远程主站系统相连,每只智能电表都有一个确定的唯一的12位十进制通讯地址,主站系统采用DL/T645—2007协议下发命令信息,智能电能表接收到与自己地址匹配的信息,便把应答信息及其校验码打包向上传送给远程主站系统,实现数据回抄。
红外通信时如果直接将数据通过红外发射管进行传输时,将会严重受到外界环境的干扰,常见的抗干扰方法是将需要传输的数据调制到30~40 kHz的载波上再进行发送。2B8单片机的定时器管脚可输出低频38 kHz的载波。通过单片机的UART口的TXD脚驱动另一个串联的三极管进行二进制数据信号“0”和“1”的传输,从而达到红外数据发送的功能。在红外接收部分,利用红外一体化接收模块HM238R解调高频红外信号。当HM238R接收到高频红外信号时,接收管输出低电平;当HM238R没有接收到高频信号时,接收管将输出高电平。经接收管红外解调后的数据通过UART口的RXD管脚输入单片机进行相应的处理。
1.4存储模块
智能电表的功能众多,实现复杂,在运行过程中会产生大量的数据,如12月历史电量数据、事件记录数据、冻结量数据等。所选用的存储芯片必须容量够大,可靠性高,保存时间长,功耗低。所以采用美国MICROCHIP公司的24LC512低功耗串行存储器芯片,采用I2C接口与MCU通讯,待机电流和工作电流分别是1μA和1 mA,存储容量达到64 K字节,10万次擦写次数,数据保存时间超过200年。
1.5时钟模块
时钟电路采用EPSON公司的RX8205T芯片完成,它是一种支持I2C总线的低功耗时钟芯片,具有很高的精度,内置温度补偿晶振,可在宽温范围内实现精确计时,和目前在电表领域得到广泛应用的EPSON RX-8025SA引脚兼容,它按照CPU经外部通讯口接收到的校时数据来设置时钟和日历,靠自身的振荡继续走时。通过2线I2C方式与CPU连接,SDA脚和SCL脚分别与2B8的引脚相连,并有2个中断报警引脚可设置为输出秒或分同步脉冲,单片机系统每250 ms通过I2C通讯接口读取当前的时间,计算出该时刻所属的时段,实现多费率电能表的分时段计量电能。该时钟电路带有备用锂电池,正常工作时有主电源Vcc供电;当出现停电时,自动切换锂电池为时钟电路供电,即使停电,时钟走时也准确。
1.6液晶显示
国网智能电表要求电表能够支持液晶LCD显示运行信息。显示模块采用上海复控华龙公司的HL9576 LCD显示驱动芯片,功耗低,同样采用I2C接口,通过SDA脚和SCL脚与2B8的引脚相连,接收2B8下发的显示数据来驱动液晶显示屏显示。通过液晶上的各种显示字符组合来显示电表各种运行信息,从而方便用户使用。
1.7电源模块
由于智能电表要求能够停电唤醒,智能电表的电源供给:一是由火线和零线的主电压提供电源,另一部分是由在主电源无效的情况下提供备用锂电池电源,以满足电表MCU、时钟芯片和液晶显示的需要。
1.8输出模块
与以前使用的电能表不同,智能电表输出的LED指示灯的功能也不相同。拉闸指示灯用来指示用户负载的切断与否,报警指示灯用来指示电表运行中发生的异常,电表运行脉冲指示LED用来指示用户用电,脉冲输出用来校表及计量,脉冲输出的电路和多功能口输出电路由普通I/O加光耦隔离实现。
1.9 ES AM模块
ESAM安全模块的应用是和各种专用或通用智能设备相关的,对于所有需要身份认证、数据加密/解密、安全存储、通讯保密等较高数据安全要求的产品和应用系统,ESAM嵌入式安全控制模块都可以发挥其独到的安全控制作用。
对于单相远程费控智能电表而言,电费的计算在远程售电系统中完成,表内不存储、显示与电费、电价相关的信息。电能表接收远程售电系统下发的拉闸、允许合闸、ESAM数据抄读指令时,需通过严格的密码验证及安全认证。可见,在智能电表中ESAM模块只负责完成安全认证和数据的存储,此模块可在国家电网公司设置完毕后,提供给表厂安装在智能电表中。今后的数据存取以及密钥的安全认证过程都在远程主站系统与智能电表中的ESAM模块之间进行,与表中的微控制器无关,微控制器仍然由表厂负责设计,完成智能电表的功能。这样既实现了系统的安全性由运行管理方控制,又不妨碍表厂继续发展和完善智能电表的功能和性能。是一种较为理想的方案。
2系统工作原理
2B8实时检测系统供电的状态,当上电检测模拟端口检测到外部220 V供电时,系统启动内部主时钟全速运行,通过SPI口与计量RN8209通讯,实时读取电表运行的状态内容,如实时电压、电流值、功率、功率因数等,并判断是否在正常工作范围内,如出现异常,通过I2C与RX8025T通讯,读取此刻时间,然后将这些数据通过I2C通讯存储到24LC512中,以备主站系统查询,同时报警指示灯报警,通过I2C通讯将实时数据传输到HL9576内并显示在LCD液晶屏上。智能电表运行过程中,不断读取RX8025T的时间值,来判断是否可进入下一费率时段运行,进行时段投切。
当智能电表接收到红外或485通讯信道下发格式DL/T645—2007的命令数据,电表通过规约解析,通过I2C通讯读取24LC512中的数据,打包后通过红外或485通讯信道上传。如485通讯信道接收到远程主站系统下发的加密费控命令,2B8会将此数据传送给ESAM模块进行解密分析,成功后返回给2B8,通过命令分析2B8执行相应的费控操作。外部220 V供电消失后,系统电源切换到备用锂电池电源,关闭内部高速时钟,启动低速时钟,关闭外围功能,进入低功耗工作状态。
3结语
这款基于RENESAS半导体的单相远程费控智能电表设计,能根据不同的时段设置,实现电能分时计量,存储大量电表运行数据,便于智能电网的运行分析,采用RS485串行通讯,实现电量自动回抄,实时校时,接收远程主站系统下发的费控命令,经EASM验证实现费控功能。