基于PLC技术的远程电表软硬件设计
图3 电量采集模块
ADE7756与MCF5271主控板的接口部分包括用于通信的SPI接口和ADE7756的反馈信号。如图4所示,图中使用两片7404芯片对输入输出信号进行电压转换。7404芯片内部含有6路缓冲器,本设计中使用了每片芯片中的4路缓冲器,7404芯片为漏极开路输出,所以从主控芯片方输入的5V/3.3V信号经过7404后都可以转换为5V信号。向主控芯片方输出的信号可以转换为3.3V信号。
图4 ADE7756与MCU的接口部分
3、实时时钟模块
图5为实时时钟模块,PCFB_563通过纽扣电池供电,MCF5271主控板通过I2C接口与PCF8563进行通信,SCL为主控芯片发送的时钟信号,SDA为数据双向数据通信引脚。主控芯片可以设置PCF8563当前时间和读取PCF8563当前时间。
图5 实时时钟模块
基于PLC技术的远程电表的软件可以划分为两个部分:主控芯片方程序以及与后端软件的接口,两者相互独立。主控芯片方软件主要完成以下功能:
(1)定时电量采集:与ADE7756通信,通过SPI接口读取电量数据;
(2)电量数据存储:读取实时时钟获得当前时间,判断当前时段,将读取到的电量数据按照时段进行相应存储;
(3)数据通信和加密解密:接收和解析后端软件发送的命令数据包、构造和发送应答数据包;并完成命令数据的解密和应答数据的加密;
(4)命令响应:对后端软件发送的命令做出响应;
(5)掉电处理:检测到电压过低和掉电情况后及时进行重要数据存储。
后端软件接口主要包含通信协议的设计,如果将接口设计的比较合理,则对于后端软件的开发人员来说相当方便。
根据以上功能分析,软件共划分为5个模块:电量采集和存储模块、数据加密解密模块、嵌入式以太网模块、掉电处理模块和命令响应模块。
电量采集和存储模块完成定时电量采集和电量数据存储功能;
数据加密解密模块用来对后端软件的命令解密和本地应答数据的加密;
嵌入式以太网模块完成数据通信功能,该模块包含与PLC 调制解调器的通信的底层驱动程序,同时包含网络协议,负责网络数据的解包打包功能;
掉电处理模块完成检测到电力线电压低于阈值时对重要数据的存储;
命令响应模块对后端软件的命令进行响应。
评论