基于PLC技术的远程电表软硬件设计
仪器信息网 · 2011-04-05 09:30 · 31866 次点击
1引言
低压电力线是为传输50Hz的工频电能而铺设的,是一种分布非常广泛的线路资源,长久以来,人们一直试图通过它传输数据和语音信号。随着近几年信号调制技术的进步、嵌入式软硬件技术的发展和新型集成电路的不断出现使得电力线通信(PLC)逐步从实验室走向实用,成为具有良好发展前景的通信技术之一。本文给出了基于PLC技术的远程单相复费率电表(简称基于PLC技术的远程电表)的设计与实现。
2硬件总体设计
如图1所示,基于PLC技术的远程电表硬件部分包含MCF5271主控板、电量采集板和PLC调制解调器,三部分电路板相对独立,并没有设计在一块电路板中电量采集板负责采集电量,MCF5271主控板通过SPI、I2C等接口与电量采集板进行数据传输,同时通过符合IEEE802.3规范的MII接口与PLC调制解调器进行以太帧数据传输,PLC调制解调器负责以太帧和电力线通信数据之间的转换。
[attach]46005[/attach]
图1基于PLC技术的远程电表模块图3MCF5271主控板设计
MCF5271主控板的设计参考了Freescale公司的MCF5271评估开发板的设计原理MCF5271评估开发板使用的ColdFire微处理器为196引脚的BGA封装,焊接比较困难,而且160引脚QFP封装的芯片与之功能相似,同样可以满足本设计需要的功能同时易于焊接,故使用QFP160封装的芯片做主控板。主控板与PLC调制解调器接口的主要部分为MII接口,所以略去了主控板与PLC调制解调器接口的介绍,而代以介绍MCF5271微处理器与INT5500之间的通过MII接口的连接。
1、MCF5271主控板板的存储器扩展
MCF5271具有外部总线接口,数据总线宽度为32位D,寻址范围可以达到32位,与外界存储器相连的地址总线宽度为24位A。MCF5271主控板中扩展了一片1M×16位的Flash存储芯片AM29LV160DB,地址总线为20位,连接MCF5271的地址总线A,数据总线为16位,连接D。两片8M字节的SDRAM芯片HY57V641620HG,每片SDR.AM的地址总线宽度为12位,数据总线宽度为16位,两片芯片使用共同的地址总线A和控制信号,数据总线分别连接MCF5271的D和D。
2、MCF5271与INT5500的连接
INT5500工作在PHY模式下的时候类似于以太网物理层芯片,可以与带有MII接口的MCU相连。图2所示为MCF5271与INT5500连接方式。由于此时INT5500工作在PHY模式下,所以MII接口的信号方向与Host/DTE模式下的方向相反。
[attach]46006[/attach]
图2MCF5271与INT5500连接图MCF5271芯片MII接口的信号线可以分为三组:用作数据管理的信号线EMDIO和EMDC;反映介质状态的信号线ECOL和ECRS;其余为接收/发送信号线。
EMDIO为双向信号,在INT5500和MCF5271之间传输控制信息和状态信息。控制信息由MCF5271发给INT5500,状态信息由INT5500反馈给MCF5271。EMDC为输出信号,作为EMDIO数据传输的参考时钟。
ECOL为输入信号,该信号有效时,表示检测到传输介质上有冲突。ECRS为输入信号,该信号有效时,表示检测到传输介质忙;否则表示传输通道处于空闲状态,可以进行传输。
ERXD用来接收INT5500发送的4位数据;ERXDV用来表示从INT5500接收到的数据是否有效,高电平为有效;ERXCLK为INT5500提供给MCF5271的数据接收时钟信号,其工作频率为数据接收速度的25%;ERXER为输入信号,该信号有效时表示检测到当前在INT5500上传输的帧出错。
ETXD用来向INT5500发送4位数据;ETXEN为输出信号,该信号有效时表示MII总线上有数据,可以启动发送操作。ETXCLK为输出信号,作为数据发送的参考时钟信号。
4电量采集板
电量采集板电路包括电量采集电路、ADE7756与主控芯片的通信接口、实时时钟芯片PCF8563的工作电路与对外通信接口。
1、电量采集电路
图3所示为电量采集电路,其中CT为电流互感器,电量采集芯片为ADE7756。电路中电压和电流输入通道均采用差分信号输入。普通电力线中的电流经过电流互感器CT后接到实际负载上,电流互感器将电流转换成电压信号,再经过R1与C4、R10与C6组成的滤波电路滤波后进入ADE7756的差分信号输入引脚V1P和V1N。电力线的220V电压信号经过R7、R6和R8分压及R8与C8组成的滤波电路滤波后转换为250mV的电压信号,作为AED7756的V2P的输入。
[attach]46007[/attach]
图3电量采集模块2、ADE7756与MCF5271主控板的接口模块
ADE7756与MCF5271主控板的接口部分包括用于通信的SPI接口和ADE7756的反馈信号。如图4所示,图中使用两片7404芯片对输入输出信号进行电压转换。7404芯片内部含有6路缓冲器,本设计中使用了每片芯片中的4路缓冲器,7404芯片为漏极开路输出,所以从主控芯片方输入的5V/3.3V信号经过7404后都可以转换为5V信号。向主控芯片方输出的信号可以转换为3.3V信号。
[attach]46008[/attach]
图4ADE7756与MCU的接口部分图中的IN_DIN、IN_SCLK、IN_CS和OUT_DOUT引脚为SPI接口的引脚;IN_RESET为从主控芯片方输入的复位控制信号;OUT_IRQ为ADE7756的中断请求输出信号;OUT_ZX为通道2的电压波形过零输出引脚,用于对电力线进行过零检测;OUT_SAG为电力线电压过低和5V工作电压过低检测输出信号。
3、实时时钟模块
图5为实时时钟模块,PCFB_563通过纽扣电池供电,MCF5271主控板通过I2C接口与PCF8563进行通信,SCL为主控芯片发送的时钟信号,SDA为数据双向数据通信引脚。主控芯片可以设置PCF8563当前时间和读取PCF8563当前时间。
[attach]46009[/attach]
图5实时时钟模块5系统软件设计
基于PLC技术的远程电表的软件可以划分为两个部分:主控芯片方程序以及与后端软件的接口,两者相互独立。主控芯片方软件主要完成以下功能:
(1)定时电量采集:与ADE7756通信,通过SPI接口读取电量数据;
(2)电量数据存储:读取实时时钟获得当前时间,判断当前时段,将读取到的电量数据按照时段进行相应存储;
(3)数据通信和加密解密:接收和解析后端软件发送的命令数据包、构造和发送应答数据包;并完成命令数据的解密和应答数据的加密;
(4)命令响应:对后端软件发送的命令做出响应;
(5)掉电处理:检测到电压过低和掉电情况后及时进行重要数据存储。
后端软件接口主要包含通信协议的设计,如果将接口设计的比较合理,则对于后端软件的开发人员来说相当方便。
根据以上功能分析,软件共划分为5个模块:电量采集和存储模块、数据加密解密模块、嵌入式以太网模块、掉电处理模块和命令响应模块。
电量采集和存储模块完成定时电量采集和电量数据存储功能;
数据加密解密模块用来对后端软件的命令解密和本地应答数据的加密;
嵌入式以太网模块完成数据通信功能,该模块包含与PLC调制解调器的通信的底层驱动程序,同时包含网络协议,负责网络数据的解包打包功能;
掉电处理模块完成检测到电力线电压低于阈值时对重要数据的存储;
命令响应模块对后端软件的命令进行响应。
本文作者创新点:本文设计了基于PLC技术的远程电表方案,并完成了基于PLC技术的远程电表软硬件设计和实现,并编写了远程电表电量读取的PC方模拟程序。