电力线通信有很多的优点:通信距离长,不受地形、地貌的影响,投资小,施工期短,设备简单,实现成本低。电力线网四通八达,遍布城乡,覆盖范围广,可充分利用现有低压电力线基础设施,无需重新架设线路,避免了因布线而对公共设施和建筑物的损坏,节省了人力、物力。本文采用电力载波技术设计了对家电的智能控制系统,使用户可以随时随地通过各种方式登录Internet,方便地对家电进行控制。
1 系统总体设计
系统总体结构框图如图1所示。主控制器采用Atmel公司生产的低电压、高性能CMOS 8位单片机AT89C52。
图1 系统总体结构框图
ST7538是SGSTHOMSON公司在电力载波芯片ST7536、ST7537基础上推出的一款为家庭和工业领域电力线网络通信而设计的半双工、同步/异步FSK调制解调器芯片,适用于电力载波通信网络的应用。ST7538使用单电源运行,集成一个线性驱动器以及一个5 V线性调整器,通过内部的寄存器来进行控制,使用同步串行接口编程;诸如看门狗、时钟输出、输出电流电压控制、起始检测、超时机制功能使用BCDV技术,在同一芯片上使用DMOS及双极性CMOS结构。
ST7538有8种载波频率,在同一时刻只有一种频率可用。通信通道可以是正常模式或多频方式的组合。通过控制寄存器可以选择不同的频率,发送和接收过滤器也随之改变。
ST7538通过串行接口与主控制器交换数据。在使用RxD、TxD、CLR/T交换数据时,数据传输由REG_DATA和RxDx线来管理。有4种工作模式:数据发送、数据接收、读控制寄存器、写控制寄存器,如表1所列。
线路访问有异步和同步两种通信方式,可以通过内部寄存器来选择。当ST7538在数据接收模式时,内部锁相回路恢复参考时钟,并且在CLR/T上升沿时RxD上的数据有效。
当ST7538在数据发送模式时,参考时钟由内部产生,并且TxD上的数据在CLR/T的上升沿被读取。如果RxTx线被设置为1且REG_DATA=0,则ST7538进入闲置状态,并且CLR/T被迫使为低电平。经过一段时间,调制解调器开始在RxD上提供接收到的数据。如果RxTx线被设置为0且REG_DATA=0,则ST7538进入一个闲置状态并且发送电路打开,经过一段时间,解调器开始发送数据到TxD端口。
读写控制寄存器时,操作ST7538控制寄存器总是使用同步方式,且使用和主接口相同的接口线(RxD、TxD 和CLR/T) 以及REG_DATA。当REG_DATA=0并且RxTx=0时,TxD线的数据首先写入控制寄存器的有效位(MSB),在CLR/T的上升沿采样 TxD状态。控制寄存器的内容在寄存器存取结束(REG_DATA下降沿)时更新,如果超过24位传输,则只有后的24 位有效。当REG_DATA=1并且RxTx=1时,控制寄存器的内容传送到RxD口,CLR/T上升沿时稳定,并且首先传输有效位(MSB)。
图2 电力线接口电路
当RxTx=1、REG_DATA=0时,接收电路部分处于工作状态。输入信号从RAI引脚取得,以SGND为参考地,并经过带通前置滤波(±10 kHz),可通过设置控制寄存器23位取消前置滤波器。输入阶段在宽动态范围内,在噪音环境下接收到很弱的信号。所应用的波形幅度由自动增益控制机构(AGC)自动调整,再经过一个窄带带通滤波器,之后信号被一个混频器通过FSK调节器产生的正弦波修整,在送入FSK解调器之前通过中频带低通滤波器进一步改善信号,后FSK解调器将信号传至RX逻辑进行后的数字滤波。当RAI引脚没有检测到标志或空频率时,数字滤波能消除带尖峰的远大于零的噪音信号。在接收模式下,标志和空频率必须拉开至少“波特率 /2”,以便正确解调。当ST7538处在数据接收模式时,发送器电路(包括功率接口)都被关断,这样可以使器件达到很低的电流消耗(典型为5 mA)。
2 服务器的搭建
采用家用电脑,在电脑上安装Microsoft IIS 服务器,并制作成网站形式,用户可以远程访问属于自己的页面。其中,页面上显示出家电当前的状态,并可以通过按钮来发送控制命令,进而控制家电的状态,比如灯的亮和灭。网页采用Visual Studio 2008开发软件,用C#语言编写。上位机软件和下位机主控制器采用串口进行通信,而主节点控制器和从节点控制器通过ST7538在220 V电力线上进行通信。
3 电力线接口电路设计
电力线接口电路的功能是将调制解调芯片与电力线相耦合。它的性能决定了通信效果的好坏,是实现载波通信的关键,主要包括发送滤波电路、接收滤波电路和耦合保护电路。发送滤波电路对ATOP1、ATOP2输出的载波信号进行滤波,滤除掺杂在信号中的谐波噪声和伪信号,从而将处理后的信号以较高的效率和一定的功率耦合到电力线上。在图2中,由C4、L1和C3、C5、R1、L3构成一个四阶带通滤波器,所用的信道频率为132.5 kHz;接收滤波电路用以滤除指定频率以外的无用信号和噪声,将有用的载波信号输入给ST7538,采用并联谐振电路,由R2、L2、C2、C1构成二阶无源带通滤波器,中心频率为132.5 kHz(由L2、C2的值决定);耦合保护电路用来隔离交流220 V强电信号,其中D1、D2、D3用于防止电力线上的浪涌或冲击等高能量信号对后级电路的损坏。ST7538的Vsense、CL脚用于引入对输出电压、电流进行自动增益控制的反馈信号。
从图2中可以看出,ST7538的外围器件相对较少。ST7538是采用FSK调制技术的高集成度电力载波芯片,内部集成了发送和接收数据的所有功能,包括功率放大、电压/电流自动控制,因此大大简化了应用电路。ST7538还提供了看门狗、时钟输出、复位、5 V/3.3 V电源输出等,可以方便地与单片机相连接。
在电力线接口电路中,信号滤波部分是整个模块的关键部分,它包括输入窄带滤波器和输出窄带滤波器两部分。电力线中的信号经变压器耦合传输到变压器左侧,从R1和C5的连接处导入输入滤波电路。经过C2与L2组成的并联电流谐振电路滤波信号传输到ST7538的RAI端口。电容C1用于隔离可能过高的直流电压,起保护作用。图3为输入滤波电路。
如图4所示,输出滤波电路由C1、C2、R、L串联构成。其作用和输入滤波电路是一样的,都是让特定频率的信号通过而阻止其他频率的无用信号。此电路是串联电压谐振电路,当电路中的信号频率正好与其固定谐振频率相等时,在电容与电感中就会发生电压谐振,电容中的电压与电感中的电压正好大小相等,方向相反。此时容抗与感抗相等,电路中的电压与电流的相位相同,电路呈现纯电阻性,这种现象叫串联谐振。
图3 输入滤波电路 图4 输出滤波电路
4 单片机和ST7538接口电路设计
ST7538和单片机的通信采用SPI接口。SPI(Serial Peripheral Interface,串行外设接口)是一种同步串行外设接口,它可以使单片机与各种外围设备以串行方式进行通信以交换信息,如图5所示。
图5 ST7538与单片机的接口电路
ST7538可以使用三线接口(RxD,TxD,RxTx)与单片机进行异步连接,数据交换不需要任何额外的时钟以及附加的协议。在数据接收模式下单片机必须恢复参考时钟,并在发送模式时控制发送1位的时间,当未检测到载波时RxD被强制拉成低电平。
另外,ST7538也可以使用四线接口(RxD,TxD,RxTx,CLR/T)与单片机进行同步连接。ST7538总是通信的主端,并且利用CLR/T提供时钟参考。
ST7538和单片机的接口实际上属于SPI总线系统,可直接与各个厂家生产的多种标准外围器件直接接口。该接口一般使用4条线:串行时钟线(SCK)、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOSI和低电平有效的从机选择线SS。在此电路中,CLR/T相当于SCK,RxD相当于MISO,TxD相当于 MOSI,RxTx相当于SS, UART/SPI脚接地。数据收发控制使用的是 P2口线,当 RxTx="0"、REG/DATA=0时,载波芯片处于数据发送模式,TxD输入向电力线发送的数据;当RxTx=1、REG/DATA=0时,进入数据接收数据模式,RxD输出从电力线上接收到的数据;REG/DATA=1时读写控制寄存器,设置芯片功能参数。CLR/T输出数据收发的同步时钟信号,与单片机的外部中断INT0相连,单片机以中断的方式完成对ST7538的读写。P2.5输入载波侦听信号,ST7538检测到工作频率的载波时,CD_PD=0;无载波时,CD_PD=1。另外,要在1.5 s内清零看门狗计数器,因为ST7538的看门狗时间是1.5 s。
结语
ST7538为家庭和工业环境应用而设计,功能强大,集成度很高,且采取了多种抗干扰技术。虽然它采用FSK调制技术,而没有采用扩频技术,但是正因为如此,它可以在噪声频带很宽的信道环境下实现可靠通信。如果能够很好地利用它的多频段性,可以克服窄带通信的缺点。经过实验证明,系统运行可靠,具有较高的性价比,可以广泛地应用到智能家庭和智能楼宇系统中。