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

DCS控制器中采用ARM处理器的冗余设计(2)

DCS控制器中采用ARM处理器的冗余设计(2)

对于网络上的每1个节点,可能处于下述5种情况之一:
(1)在线联网运行,系统至少有2个节点在运行;(2)在线单机运行,系统只有本地节点在运行;(3)离线单机运行,此节点的网卡存在且正常、但没有上网;(4)离线单机运行,此节点的网卡存在,但出现故障;(5)离线单机运行,此节点不存在网卡。
目前的网络控制器都提供了命令、诊断、配置和状态寄存器,通过读写这些寄存器,便可以区分上述5种情况。当系统运行时,各种因素都可能存在,为了在线反映网络各节点的运行状态,每个节点可以设置一张网络状态表,记录各节点上每块网卡的运行状态。当某节点上1块或2块网卡的状态改变时,其他节点应能在尽可能短的时间内知道。为此,每个节点的2块网卡需要定时广播1个测试包,表明该节点的网卡存在。其他节点收到此包时,修改网络状态表中此节点上相应网卡的状态。然而在运行过程中,如果某节点的1块网卡离线,它将既不能接收、也不能发送。而在此之前,它已在其他节点的网络状态表上登记了,其他节点将认为该网卡存在且正常,显然没有反映网卡运行的真正状态。为了准确反映网卡的状态,每个节点的2块网卡定时广播测试包的同时,将本节点的网络状态表中所有网卡状态计数加1,直到最大值LIMIT。每当收到某节点的测试包时,将该节点相应网卡的状态计数清为0。这样,保证状态数小于最大值LIMIT和定时广播周期就可以在线实时监视网络的运行,准确反映节点所处的状态。在2个网络之间还可以添加具有路由功能的网间传输设备,当2个网络同时出现故障时,网间传输设备也能自动寻找可行路径,组成1个环路,保持系统的正常通信。
对于测试包的广播,只要本节点上的网卡在线运行,即从相应的链路发送,测试包发送完毕之后,根据网络状态表,可以选择一条正常运行的节点数较少的,负荷较轻的链路,用于数据包发送。双网的工作流程见图4。

返回列表