低压电力线载波通信系统设计

更新时间:2024-04-05 作者:用户投稿原创标记本站原创 点赞:13129 浏览:56425

摘 要:由传统的高压电力线通信技术发展而来的低压电力线载波通信(PLC,low-voltagepowerlinecarrier-currentmunication)技术已经越来越受到关注,且被视为解决因特网接入“最后一公里”问题的有效手段.文章通过软硬件结合的方式,自主搭建了一个低压电力线载波通信系统,从而实现了利用低压电力线进行数据传输的目的.

关 键 词:低压电力线;MSCOMM控件;载波通信;接口转换

中图分类号:TN919文献标识码:A文章编号:2095-1302(2012)12-0056-03

Designoflow-voltagepowerlinecarrier-currentmunicationsystem

ZENGPing,HUANGZi-yu,LIShi-yan,GAOWen-gang,YECheng

(SchoolofElectricInformation,SouthwestPetroleumUniversity,Chengdu610500,China)

Abstract:Thepaperintroducesalow-voltagepowerlinecarrier-currentmunicationsystem,whichwasdevelopedfromtraditionalhigh-pressurepowerlinemunicationtechnologyandwasregardedastheeffectivemeansofsolvetheproblemof"lastmile"inInteraccess.Throughthebinationmethodofhardwareandsoftware,thepowerlinecarriermunicationsystemisdesignedtorealizethepurposeofdatatranissionthroughlow-voltagepowerline.

Keywords:lowvoltagepowerline;MSCOMMcontrol;carriermunication;interfaceconverter

0引言

现代社会的发展,人们对生产和生活有了更多、更高的要求,例如要求更节能环保、更舒适便捷,这些要求的实现都需要大量信息的获取、传输和处理,需要把与生产生活相关的大量设备和对象连接起来,构成网络,以实现对它们的监测控制与管理,从而形成物联网、家域网(HAN)等.在这些网络中,需要连接的对象数量众多,位置可能变动,给网络的构成带来一定的困难.由于这些对象的工作大都离不开电力,所以,用低压电力线组成网络进行通信,是一种很有价值的实现方法.因为利用低压电力线进行数据传输,不需要重新布线,覆盖范围广,维护少,节约资源.为此,本文结合国内外研究动态,对低压电力线载波通信技术进行了研究,并采用相关功能模块,编写了相关控制软件,实现了两点之间通过低压电力线载波通信来进行数据传输,并通过上位机进行监控的目的.

1系统总体结构

本设计主要包括载波通信模块、上位机监控界面及转换接口电路等几个部分.其中,转换接口电路主要负责PLC模块的TTL电平接口与上位机的串口之间的接口通信.其系统框图如图1所示.

图1低压电力线载波通信系统框图

在数据信号发送端,上位机发出数据信号给COM口,通过接口转换电路把上位机发出的数据信号转换为PLC模块能够接收并处理的TTL电平信号.然后经过PLC模块将信号调制成特殊的电力信号,再通过电力线进行传输.

在数据信号接收端,PLC模块将电力线上的信号耦合下来,并通过滤波、解调转换为原来的TTL电平信号,再经接口转换电路把信号发送到上位机进行显示.

该系统信息是双向传输的,即PLC模块与转换接口电路均可以实现双向通信.

2系统硬件选择与设计

2.1低压电力线载波模块

本文选用杭州新实科技有限公司的SENS-01嵌入式电力线载波通信模块,该模块可提供半双工通信功能,可以在220V/110V、50Hz/60Hz电力线上实现局域通信;通信速率有600b/s、1200b/s、2400b/s、4800b/s、9600b/s、19200b/s等多种速率;每帧长度小于或等于20B;具有TTL电平接口,可为用户提供透明的数据通道,而且数据传输与用户协议无关.

2.2接口转换电路选择与设计

本设计选用的是USB接口作为上位机与PLC模块的通信接口,因为现在的笔记本大多没有RS232接口,而且现在许多工业现场也采用USB接口作为串口通信,十分灵活便捷.因此,本文选用FTDI公司生产的FT232RL芯片作为USB与TTL电平接口的转换芯片,该芯片具有全握手协议及MODEM接口(CTS、RTS、DTR、DCD、RI),并具有硬件及Xon/Xoff流量控制.芯片内置晶振,电路简单,驱动能力强.其接口转换电路如图2所示.

3系统软件设计

本文采用MSCOMM控件(即MicrosoftCommunicationControl)进行串口编程,该控件是Microsoft公司为简化Windows下串行通信编程而提供的ActiveX控件[2].它提供了一系列标准通信命令的使用接口,因此,利用它能够建立和串口的连接,并能够通过串口连接到其他通信设备(如调制解调器)发出命令、交换数据以及监控和响应串行连接中发生的事件和错误.使用MSCOMM控件编写串口程序时,不需要花费时间了解复杂的API函数,但它在执行的时候需要调用API函数[3].MSCOMM控件串行通信处理方式采用事件驱动方式,许多情况下,在事件发生时需要得到通知,这时,就可以利用MSCOMM控件的OnComm事件捕捉并处理这些通信事件.这种方法的优点是程序响应及时,可靠性高.

3.1系统通信程序设计

本系统数据的发送与接收显示都是通过对上位机编写软件来实现的.其流程大致为:关闭串口,对串口的波特率进行选择,然后设置通信参数;打开串口之后,可以选择发送方式为手动或自动(自动发送周期根据模块的处理速度固定为2s),也可以选择是否为十六进制发送(对应的接收端应选择十六进制显示).

在监控显示部分,当接收缓冲区有数据时,系统就会触发OnComm事件,对数据进行读取并在编辑框中显示.修改波特率时,一般需要关闭串口然后才能调试.其系统程序流程图如图3所示.


3.2数据发送部分算法

由于在数据发送时,模块每次只能接收20b以内的数据,因此,为了使模块能够发送或接收更多的数据,本文采用指针指向的方法,分段取出所要发送的数据,每段20b.

数据发送首先要获取编辑框内所要发送的数据,然后计算其长度,再判断与20的关系.如果整除得b的话,就直接发送b次,每次分段读取,且必须在两次发送之间添加延时程序,否则,这样处理就没有意义,因为模块的处理速度慢于发送的速度会造成数据丢失.当不能整除且得到的余数为a时,要先发送b次,读取完b×20个字符后,再发送剩余的a个字符.图4所示是其数据发送程序流程图.

3.3通信与监视界面

图5所示是本系统中上位机的通信与监控界面图.从图中可以看出,在通信界面设置好波特率,然后打开串口,在COM6发送窗口输入字符串,然后点击发送(或自动发送),COM5接收显示窗口就会显示COM6所发送的信息.由图5可知,数据信息的传输量已经突破了模块自定义的20B,即能够实现较多信息量的发送与接收.

4结语

电力网络是目前覆盖范围最广的网络,有着巨大的潜在利用价值.在家居自动化、家用电器控制等方面,PLC技术有着得天独厚的优势.本文利用低压电力线载波方式实现了数据在低压电力线上的传输,并能通过上位机实时显示数据.但是,目前PLC技术仍然存在很多不足,在电力线上干扰严重时,通信成功率可能还无法保证,通信速率也比较低,因此还需要更深入的研究.

图3系统程序流程图

数字技术与应用,2012(3):44.

[2]龚建伟,熊光明.VisualC++/TurboC串口通信编程时间[M].北京:电子工业出版社,2007.

[3]李景峰,杨丽娜,潘恒.VisualC++串口通信技术详解[M].北京:机械工业出版社,2010.

[4]屈振华,朱卫华,刘宗瑶,等.基于电力载波通信的新型同步电子钟设计[J].现代电子技术,2012,35(11):175-177.

[5]韦正从,宋树祥,梁承福,等.基于低压电力线载波通信的智能电表终端设计[J].现代电子技术,2012,35(1):117-120.

图4数据发送程序流程图

图5上位机通信与监控界面图