1 系统组成结构与工作原理
系统由1个集控单元和若干个现场单元组成,连接到低压电力线上,构成主从通信系统,如图1所示。集控单元由AT89C52单片机、ST7538电力线接口、面板式微型打印机和LED显示、时钟、声光驱动等电路构成;现场单元由AT89C52单片机、ST7538电力线接口、传感器信号接口和键盘、E2PROM、声光驱动等电路构成。
系统工作时由集控单元依次向各现场单元发送含地址信息的询问码。现场单元收到后,如果和本机地址相符,将上次查询后到此次查询间的报警状态数据发回集控单元处理;如果不是询问本机,且又无警情发生,则不响应。现场单元在非查询期间有警情发生,会立即发送报警数据,集控单元接收处理后,继续原先的轮询过程。集控单元发送询问后在规定时间内收不到应答,也会认为该现场单元受到破坏失效,也产生报警。集控单元报警时,会发出声光信号、显示警点号码,并且通过打印机记录当前时间和警点信息,时间由PCF8563芯片提供。每个现场单元可监测8路传感器开关量信号,并且有密码设置和解锁功能,由E2PROM芯片24C02存储密码,业主在场时通过键盘输入密码可取消报警功能,从而避免产生虚警。集控单元一般安装在保安值班室,现场单元隐蔽安装于各用户室内。
2 硬件设计
ST7538是采用FSK调制技术的高集成度电力载波芯片,内部集成了发送和接收数据的所有功能,包括功率放大、电压/电流自动控制,大大简化了应用电路,只要通过耦合变压器等少量外围器件即可连接到电力网中。ST7538还提供了UART/SPI串行接口、看门狗、时钟输出、复位、5 V/3.3 V电源输出等,可以方便地与单片机相连接。本设计中集控单元和现场单元的ST7538与单片机和电力线接口电路如图2所示。
ST7538和单片机采用SPI接口,故UART/SPI脚接地。数据收发控制使用的是 P2 口线,当 RxTx=0、REG/DATA=0时,载波芯片处于发送模式,TxD输入向电力线发送的数据;当RxTx=1、REG/DATA=O时,进入接收数据模式,RxD输出从电力线上接收到的数据;REG/DATA=1时读写控制寄存器,设置芯片功能参数。CLR/T输出数据收发的同步时钟信号,与单片机的外部中断INTO相连,单片机以中断的方式完成对ST7538的读写,每一次中断接收或发送数据1位。P2.5输入载波侦听信号,ST7538检测到工作频率的载波时,CD/PD=0;无载波时CD/PD=1。P2.6输出ST7538喂狗信号。
电力线接口电路的功能是将调制解调芯片与电力线相耦合。它的性能决定了通信效果的好坏,是实现载波通信的关键,主要包括发送滤波电路、接收滤波电路和耦合保护电路。发送滤波电路将ATOPl、ATOP2输出的载波信号进行滤波,滤除掺杂在信号中的谐波噪声和伪信号,从而将处理后的信号以较高的效率和一定的功率耦合到电力线上,由C1、L1和C4、C5、R3、L3构成一个四阶带通滤波器,所用的信道频率为132.5 kHz;接收滤波电路用以滤除指定频率以外的无用信号和噪声,将有用的载波信号输入给ST7538,采用并联谐振电路,由R2、L2、C3、C2构成二阶无源带通滤波器,中心频率为132.5 kHz,由R2、L2、C3的值决定;耦合保护电路用来隔离交流220 V强电信号,其中D1、D2、D3用于防止电力线上的浪涌或冲击等高能量信号对后级电路的损坏。ST7538的Vsense、CL脚用于引入对输出电压、电流进行自动增益控制的反馈信号。
集控单元显示部分使用6个LED数码管分别显示当前时间(时、分)和警点编号(1~99),采用动态扫描方式,P0口输出显示数据,P1.0~P1.5作数码管位选。时钟芯片PCF8563和单片机通过I2C总线连接,用P1.6和P1.7作SCL和SDA。由于数据量不大,单片机和微型打印机采用串口通信,P3.O、P3.1经MAX232电平转换连接到TPμP—AF24L打印机的接口上。声光驱动信号由P3.4、P3.5通过光电隔离后输出。P2.7和P3.6、P3.7接按键,分别作报警确认和时钟调校功能。接口电路如图3所示。
现场单元键盘接口采用专用键盘管理芯片74C922,其编码(BCD)输出可直接与单片机P0.O~3相连,内部振荡器完成4×4矩形键盘扫描,有按键时,DA变高,通过非门接到AT89C52的INTl口,并且设INTl为边沿触发方式。当DA变高时,经过非门变为低电平跳变产生INTl外部中断,通知AT89C52读取键值,判断键值从而完成相应的散转程序功能。PO.4~7接4个LED,分别用于运行状态、功能和按键输入等方面的指示;8路传感器信号经光电隔离输入P1口,声光驱动信号由P3.4、P3.5经光电隔离后输出,WC24C02的SCL、SDA和单片机P3.6、P3.7连接作I2C总线,P2.7用于按键“BEEP”提示音驱动。接口电路如图4所示。
3 软件设计
集控单元和现场单元各自运行程序,软件设计均采用模块化形式,整个程序包括初始化、主从通信、数据收发中断处理、按键处理、I/O口扫描、LED数码管显示、微型打印机驱动、I2C总线读写驱动等程序模块。设计内容较多,相关程序可见参考文献。下面主要介绍主从通信程序设计。
在以往电力线Modem的应用中,由于受到器件半双工通信的限制,主从通信只能采用“轮询应答”方式,即主节点依次向各从节点发送查询命令帧,目标节点接收到后发送应答帧,主节点必须接收到该应答,才可向下一个节点发送查询。如果从节点数较多,而且通信速率比较低,则耗时较长,影响实时性。ST7538在此方面有了很大改进,除了通信速率高(可达4800 baud)外,还增加了载波侦听功能,可以减少冲突,提高信道的利用率。因此利用此功能对“轮询应答”加以改进,办法是所有节点向电力线上发送数据前,先执行载波侦听算法:检测CD/PD状态,若CD/PD=O,则先不立即发送数据,而是延迟随机时间t(<10 ms),再检测CD/PD状态,若仍为低电平,此时才启动发送;若CD/PD=1,则连续监测CD/PD状态,直到转化为低电平后,才进入延时阶段;若同时有多个节点企图发送信息,延时最短的节点可以最先发送信息,其他延时稍长的节点在延时结束后,便会发现CD/PD已经转化为高电平,信道已被占用,只好等待下一次发送机会。通过加入载波侦听算法,即使现场单元在非查询期间有警情发生,仍可有机会获取信道,优先向集控单元发送告警数据,从而提高系统的突发响应能力。主从通信程序流程如图5所示。
载波侦听功能通过寄存器12、13位设置。由于电力线上存在各种噪声,当ST7538检测到工作频率的噪声时,会误以为是载波,使CD/PD=0。考虑这个原因, 采用同步字符(0101……序列)侦测方式;同时,对数据传输加以通信协议,以保证通信的可靠性。做法是规定数据帧格式为:同步字、起始字、源地址、目的地址、控制字、数据、校验码、结束字,其中控制字包含数据帧长度和传送正确/错误信息。
结 语
ST7538是一款集成度高、功能强大的电力线Modem芯片,其中的载波侦听功能,为电力线载波通信技术应用在实时性要求较高的安防领域提供了有效的解决方案。本文介绍的防盗报警系统,以低压电力线作为传输介质,可以实现民用住宅和办公楼层的多警点实时集中监控。在实际运行中,集控单元和现场单元的有效通信距离达到400 m,数据传输稳定可靠,反应迅速。