首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于STM32的海洋浮标无线通信网络设计(2)

基于STM32的海洋浮标无线通信网络设计(2)

2.2 网络自我修复
星型网络对中心节点的依赖性很强,一旦中心节点发生故障,网络便会瘫痪。针对这一情况,本论文提出了网络中心节点转移的概念。考虑到各节点都有检测网络状态的能力(传输层完成此功能),同时,任何一个性能良好的节点都有能力至少完成一次网络扫描并告知其他节点备用中心节点的地址,所以可以很容易地实现中心节点的转移。
中心节点故障[5]包括卫星通信故障和无线模块故障两种。
设中心节点地址为X,当卫星通信发生故障时,中心节点首先在网络中查找无故障的目标节点(W=0),然后将目标节点地址设置为X-1、将自身地址设置为目标节点的原始地址,同时向目标节点发送中心节点授权(R=1,数据域为0x5555),最后,目标节点将自身地址设为X,成为新的中心节点。
当无线模块发生故障时,所有外围节点都不会检测到任何无线信号,此时,外围节点与备用中心节点地址进行对比,匹配的外围节点成为中心节点,发起数据通信,查找无故障的节点并将该节点指定为新的备用中心节点,同时告知其他外围节点。
3 节点硬件设计
节点需具有以下功能:卫星通信、无线通信、水下数据接收、数据存储,同时尽量降低节点的功耗及成本。综合考虑,选用处理能力适中的STM32作为CPU;选用9XTend作为无线收发模块,该模块在使用偶极天线时通信距离可达22km,在使用高增益天线时最远可达64km;选用9601SBD(9601 Short Burst Data Transceiver)铱星收发模块通过铱星卫星与陆地基站进行通信。由于STM32只有两个USART资源,而铱星收发需要实时检测信号质量并尽量保证在较小的延迟下将数据发往陆地基站,所以9601SBD占用一个USART,无线通信及水下数据接收共享一个USART。图3所示为节点硬件框图。

4 软件设计
系统软件应完成水下数据接收、铱星模块控制、无线网络通信与维护、数据存储等功能。开机后,各节点读取系统配置对本节点初始化,包括SPI接口初始化、定时器初始化、水下数据接收初始化、9XTend初始化。此外中心节点需要初始化9601SBD控制模块,而外围节点则将9601SBD控制模块置于休眠状态,以降低功耗。之后系统进入工作状态。图4所示为不同节点工作状态下的程序流程图。
继承事业,薪火相传
返回列表