ST7536的电力载波网络的路由算法研究
摘要:法国ST公司的ST7536是一个半双工、同步FSK调制解调器芯片。它专为低压电力线传输而设计,较好地克服了低压电力载线波传输中的技术问题。但是在实际应用中,电力载波网络的通信距离均无大于其芯片的通信距离,所以必须使用相应的算法来补偿,从而更好地应用于实际当中。本文介绍一种简单可行的路由算法。
关键词:ST7536 电力线载波 数据通信 网络 路由算法
引言
随着现代化进程的不断发展,能够大量节约人力物力的自动化系统得到广泛的应用,电力载波技术就是在这一形式下推出的一项技术。电力线载波(PLC)是电力系统特有的、基本的通信方式。电力线载波通信是指利用现有电力线,通过载波方式将模拟或数字信号进行高速传输的技术。由于使用坚固可靠的电力线作为载波信号的传输媒介,因此具有信号传输稳定可靠、路由合理、可同时复用远动信号等特点,是唯一不需要线路投资的有线通信方式。电力线载波通信技术可以进行模拟(语音信号)或数字信息(如家居控制信号)的半双工传输,可广泛应用于家居自动化、小型办公室、家庭办公室通信(如互联网、内部信件、游戏、音频、视频)等领域,具有节省费用、安装方便、应用广泛等特点。
图1
作为通信技术的一个新兴应用领域,电力载波通信技术以其诱人的前景及潜在的巨大市场而为全世界所关注,成为世界各大公司及研究单位争相研究的热点。国外许多著名公司和研究单位,如Intellon、Thomson、Atmel等,都在外此进行研究,并开发出相应的器件和产品;而国内的许多企业也紧随国际步伐,在利用电力线传输信息,特别是在远程抄表及远程控制系统方面已逐步形成应用研究的热点。
1 ST7536简介
ST7536是单芯片Modem,有28个引脚。ST7536芯片的集成度很高,只需要较少的外部元件来完成所有操作:1个晶振,4个电阻和5个电容。表1给出其各主要引脚的功能。
表1 ST7536主要引脚说明
引 脚 | 名 称 | 说 明 |
1 | Rx/Tx | 发送或接收模式选择输入 |
2 | RESET | 逻辑复位和电源关闭模式输入,低有效 |
5 | RxD | 同步接收数据输出 |
6 | CLR/T | 和功能模式相关的发送接收时钟输出 |
7 | RxDEM | 解调后的数据输出 |
12 | TxD | 发送数据输入 |
15 | CHS | 信道选择输入 |
16 | AFCF | 波特率选择输入 |
17 | DVSS | 自动频率控制输出,连接外部补偿电路 |
19 | DEMI | 中间频率滤波器输出 |
20 | AVSS | FSK解调输入 |
24 | RAI | 接收模拟输入 |
25 | RxFO | 接收滤波器输出 |
26 | TXFI | 发送滤波器输入(TEST4为高时被选中) |
27 | ALCI | 自动等级控制输入 |
28 | ATO | 模拟发送输出 |
ST7536属于半双工同步调制解调集成电路,采用低成本的同步FSK调制方式。它有两种工作方式:接收和发送数据。工作方式是由Rx/Tx控制输入端决定的,数据的输入输出与时钟相关联。此时钟信号由ST7536产生。当ST7536工作于发送方式时,发送的数据(TXD)在时钟的正沿被抽样,然后进入FSK调制器。它的工作频率是由时间基准和控制逻辑来设定的。在正常工作状态,信号混合电路决定送至发送滤波器的FSK调制信号。此滤波器是一开关型的电容带通滤波器。
在接收方式时,信号通过接收模块输入端(RAI)进入,被接收信号经过接收带通滤波器滤波。接收滤波器与发送滤波器一样,也是开关电容滤波器,也用自动频率控制电路来将此滤波器设定于正确的工作频率上。经过放大之后,此接收信号频率向下变换并经中频带通滤波器滤波,得到的信号送至FSK解调器。中频滤波器(IFQ)输出和FSK解调器输入(OEMI)间的耦合是由外部的电容来完成的,它滤除了失调电压。时钟恢复电路从FSK解调器的解调输出中接收时钟信号(CLR/T)。同步接收的数据在时钟正沿被传送。
ST7536的内部功能结构如图1所示。
ST7536符合DH028/29ENEL、欧洲CENELECEN50065-1标准以及美国的FCC规定。一个由ST7536作电力载波通信芯片的系统是由微处理器、接口电路和ST7536本身组成的系统,系统结构如图2所示。
javascript:window.open(this.src);" style="cursor:pointer;"/>
2 路由算法的实现
路由器是网络层的互联部件,可提供比网桥更丰富、灵活的网络互联功能,是目前使用最多的网络互联部件之一。路由算法是用软件方法实现路由的功能。
路由算法的工作原理及操作过程主要包括下面几点。
①接收数据包,并将数据包进行分解。当路由器接收到数据包之后,要先验证其合法性,然后把报头、报文和校验字节分离开来。最后再根据报头的不同,选择进行什么操作。
②对IP数据包进行处理。当接收到有效的报文时,路由器必须决定该数据是本地提交还是向前转发。当IP广播或多播时,也可能是一种混合的情况。对这些情况的判断,主要根据下面三个规则进行处理:
*当IP数据包中有一个源路由选项时,它将被转发而不进行本地提交;
*当IP目的地址或其非转发多播地址中的某一个地址与数由器的某个端口地址相符时,将进行地提交;
*当IP目的地址是一个广播地址,或者是个既要转发又要本地提交的多播地址时,将同时进行两个操作。javascript:window.open(this.src);" style="cursor:pointer;"/>
③转发寻址。当路由器决定要转发一个IP数据包时,先要确定下一个路由器的地址。如果数据包中包括路由器选项而且验证其合法时,则下一个路由器地址可取自自身列表中的一项,而源地址应该是写成广播源的地址。
④转发验证。在转发之前,路由器应该对数据包进行一些校验工作,而只有验证无误的时候才能进行转发,否则将数据包抛弃而重新提示数据包的广播源重发。这里的校验分两个部分:一个是IP的验证,看是否接收到的数据包目标IP符合要求;二是具体数据的验证,看校验得到的数据是否有误(笔者使用的是CRC校验方式)。
⑤同步字节的设置。这一项在通常的路由算法中并不存在,但是在笔者使用的ST7536芯片通信中需要强调使用。因为该芯片是以同步传输方式工作的,为了保证其通讯数据的正确传输,要首先在报文前面加1~2字节的同步字节位。
由于电力载波网络的采集器与集中器之间的距离在实际应用中远远超过最大通信距离,所以必须使用路由算法来弥补这个缺点。
由于载波网络的硬件十分固定,而且相对来说传输的数据也比较少,所以我们使用路由算法中的中继器方式和静态路由表算法。
图3为电力载波网络通信原理。图中的采集器1、2可以直接和集中器进行通信,而采集器3、4、5由由于通信距离过远不能直接和集中器进行通信,因而要利用采集器1、2作为中继器间接与采集器进行通信。采集器1、2中安放的静态路由表中分别为采集器3和采集器4、5的地址。
在载波网络当中,传输数据包的格式按照现场总线的规定方式:
图4给出采集器的1的中继器算法流程。
图4