ST7536的电力载波网络的路由算法研究
ST7536的内部功能结构如图1所示。
ST7536符合DH028/29ENEL、欧洲CENELECEN50065-1标准以及美国的FCC规定。一个由ST7536作电力载波通信芯片的系统是由微处理器、接口电路和ST7536本身组成的系统,系统结构如图2所示。
(凹丫丫范文网fanwen.oyaya.net收集整理)
2 路由算法的实现
路由器是网络层的互联部件,可提供比网桥更丰富、灵活的网络互联功能,是目前使用最多的网络互联部件之一。路由算法是用软件方法实现路由的功能。
路由算法的工作原理及操作过程主要包括下面几点。
①接收数据包,并将数据包进行分解。当路由器接收到数据包之后,要先验证其合法性,然后把报头、报文和校验字节分离开来。最后再根据报头的不同,选择进行什么操作。
②对IP数据包进行处理。当接收到有效的报文时,路由器必须决定该数据是本地提交还是向前转发。当IP广播或多播时,也可能是一种混合的情况。对这些情况的判断,主要根据下面三个规则进行处理:
*当IP数据包中有一个源路由选项时,它将被转发而不进行本地提交;
*当IP目的地址或其非转发多播地址中的某一个地址与数由器的某个端口地址相符时,将进行地提交;
*当IP目的地址是一个广播地址,或者是个既要转发又要本地提交的多播地址时,将同时进行两个操作。
③转发寻址。当路由器决定要转发一个IP数据包时,先要确定下一个路由器的地址。如果数据包中包括路由器选项而且验证其合法时,则下一个路由器地址可取自自身列表中的一项,而源地址应该是写成广播源的地址。
④转发验证。在转发之前,路由器应该对数据包进行一些校验工作,而只有验证无误的时候才能进行转发,否则将数据包抛弃而重新提示数据包的广播源重发。这里的校验分两个部分:一个是IP的验证,看是否接收到的数据包目标IP符合要求;二是具体数据的验证,看校验得到的数据是否有误(笔者使用的是CRC校验方式)。
⑤同步字节的设置。这一项在通常的路由算法中并不存在,但是在笔者使用的ST7536芯片通信中需要强调使用。因为该芯片是以同步传输方式工作的,为了保证其通讯数据的正确传输,要首先在报文前面加1~2字节的同步字节位。
由于电力载波网络的采集器与集中器之间的距离在实际应用中远远超过最大通信距离,所以必须使用路由算法来弥补这个缺点。
由于载波网络的硬件十分固定,而且相对来说传输的数据也比较少,所以我们使用路由算法中的中继器方式和静态路由表算法。
图3为电力载波网络通信原理。图中的采集器1、2可以直接和集中器进行通信,而采集器3、4、5由由于通信距离过远不能直接和集中器进行通信,因而要利用采集器1、2作为中继器间接与采集器进行通信。采集器1、2中安放的静态路由表中分别为采集器3和采集器4、5的地址。
在载波网络当中,传输数据包的格式按照现场总线的规定方式:
图4给出采集器的1的中继器算法流程。
图4
其中需要注意的是,无论是采集器还是集中器,如果校验位与校验结果不一致的话,要提示发送包的单元重新发送数据包,直至二者结果一致为止。这一点在流程图中没有被强调。
结语
与扩频载波产品(如SSC P300等)相比,尽管ST7536的通信速率与通信距离受到一定的限制;
《ST7536的电力载波网络的路由算法研究(第2页)》