低压电力线载波通信系统设计
由传统的高压电力线通信技术发展而来的低压电力线载波通信(PLC,low-voltage power line carrie-current communication)技术已经越来越受到关注,且被视为解决因特网接入"最后一公里"问题的有效手段。文章通过软硬件结合的方式,自主搭建了一个低压电力线载波通信系统,从而实现了利用低压电力线进行数据传输的目的。
0引言现代社会的发展,人们对生产和生活有了更多、更高的要求,例如要求更节能环保、更舒适便捷,这些要求的实现都需要大量信息的获取、传输和处理,需要把与生产生活相关的大量设备和对象连接起来,构成网络,以实现对它们的监测控制与管理,从而形成物联网、家域网(HAN)等。在这些网络中,需要连接的对象数量众多,位置可能变动,给网络的构成带来一定的困难。由于这些对象的工作大都离不开电力,所以,用低压电力线组成网络进行通信,是一种很需要重新布线,覆盖范围广,维护少,节约资源。为此,本文结合国内外研究动态,对低压电力线载波通信技术进行了研究,并采用相关功能模块,编写了相关控制软件,实现了两点之间通过低压电力线载波通信来进行数据传输,并通过上位机进行监控的目的。
1系统总体结构本设计主要包括载波通信模块、上位机监控界面及转换接口电路等几个部分。其中,转换接口电路主要负责PLC模块的TTL电平接口与上位机的串口之间的接口通信。其系统框图如图1所示。
在数据信号发送端,上位机发出数据信号给COM口,通过接口转换电路把上位机发出的数据信号转换为PLC模块能够接收并处理的TTL电平信号。然后经过PLC模块将信号调制成特殊的电力信号,再通过电力线进行传输。
在数据信号接收端,PLC模块将电力线上的信号耦合下来,并通过滤波、解调转换为原来的TTL电平信号,再经接口转换电路把信号发送到上位机进行显示。
该系统信息是双向传输的,即PLC模块与转换接口电路均可以实现双向通信。
2系统硬件选择与设计2.1低压电力线载波模块本文选用杭州新实科技有限公司的SENS-01嵌入式电力线载波通信模块,该模块可提供半双工通信功能,可以在220 V/110 V、50Hz/60 Hz电力线上实现局域通信;通信速率有600 b/s、1 200 b/s、2 400 b/s、4 800 b/s、9 600 b/s、19 200 b/s等多种速率;每帧长度小于或等于20 B;具有TTL电平接口,可为用户提供透明的数据通道,而且数据传输与用户协议无关。
2.2接口转换电路选择与设计本设计选用的是USB接口作为上位机与PLC模块的通信接口,因为现在的笔记本大多没有RS232接口,而且现在许多工业现场也采用USB接口作为串口通信,十分灵活便捷。因此,本文选用FTDI公司生产的FT232RL芯片作为USB与TTL电平接口的转换芯片,该芯片具有全握手协议及MODEM接口(CTS、RTS、DTR、DCD、RI),并具有硬件及Xon/Xoff流量控制。芯片内置晶振,外围电路简单,驱动能力强。其接口转换电路如图2所示。
3系统软件设计本文采用MSCOMM控件(即Microsoft Communication Control)进行串口编程,该控件是Microsoft公司为简化Windows下串行通信编程而提供的ActiveX控件。它提供了一系列标准通信命令的使用接口,因此,利用它能够建立和串口的连接,并能够通过串口连接到其他通信设备(如调制解调器)发出命令、交换数据以及监控和响应串行连接中发生的事件和错误。使用MSCOMM控件编写串口程序时,不需要花费时间了解复杂的API函数,但它在执行的时候需要调用API函数。
MSCOMM控件串行通信处理方式采用事件驱动方式,许多情况下,在事件发生时需要得到通知,这时,就可以利用MSCOMM控件的OnComm事件捕捉并处理这些通信事件。这种方法的优点是程序响应及时,可靠性高。
3.1系统通信程序设计本系统数据的发送与接收显示都是通过对上位机编写软件来实现的。其流程大致为:关闭串口,对串口的波特率进行选择,然后设置通信参数;打开串口之后,可以选择发送方式为手动或自动(自动发送周期根据模块的处理速度固定为2 s),也可以选择是否为十六进制发送(对应的接收端应选择十六进制显示)。
在监控显示部分,当接收缓冲区有数据时,系统就会触发OnComm事件,对数据进行读取并在编辑框中显示。修改波特率时,一般需要关闭串口然后才能调试。其系统程序流程图如图3所示。
3.2数据发送部分算法由于在数据发送时,模块每次只能接收20 b以内的数据,因此,为了使模块能够发送或接收更多的数据,本文采用指针指向的方法,分段取出所要发送的数据,每段20 b.
数据发送首先要获取编辑框内所要发送