众所周知,可靠的分布式嵌入式系统可以大大受益于时钟同步服务,如简化故障检测和冗余管理等机制,或一般进行同步行动。本章提到的一些协议,如CANELy、TTCAN、TCAN,它们依靠时钟同步服务。因为这个服务带来的优势,所以正如6.1节早已指出的那样:CAN标准(ISO93)中不存在这一条是CAN的局限性。因此,当在一个网络需要或者想要时钟同步时,必须通过一个外部机制来执行。此外,每当高层机制建立在同步时钟假设之上时,非常重要的是保证时钟同步服务足够可靠,这点可以通过足够的容错技术来提供。在本节中,我们简要地讨论文献中提出的实现CAN容错时钟同步的一些解决方案,即参考文献[RODR98、LEE03、RODR06]中所描述的那些内容。容错时钟同步也在参考文献[FUHR00]中解决,但是它是专门针对TTCAN的。
尽管参考文献[RODR98]中提出的解决方案(6.5节)可以应用于任何CAN架构,但是它构成了CANELy架构的一个重要元素。在可靠的分布式系统中,这个解决方案遵循古典方法:节点周期性地执行一致性的协议来决定哪一个是正确的时钟参考,然后它们同步到参考点。这个一致性协议在各轮信息交换中执行。这个解决方案考虑多种故障模式:从处理器崩溃到Byzantine故障,并呈现出作为一种纯粹的软件解决方案的优势。这个解决方案的缺点是它只达到有限的时钟精度(~100μs),且它可能会导致信息的爆发,当执行这种信息调度时,应该仔细考虑。
文献[LEE03]提出的解决方案类似于前一个方案。它也是在软件中实现,但它减少了每一个同步循环中所需的信息数量。作者声称几微秒的精度可以实现。这个解决方案的主要缺点是它的有限故障模型,它不包括不一致的信息传输(6.2节)。(www.daowen.com)
TTCAN状态2的规范[FUHR00]包括一个硬件实施的时钟同步服务,它被合并到TTCAN控制器中。这个服务是基于主从模式的,并使用主复制。取得的精度大约为1bit。不幸的是,TTCAN的时钟同步服务不能被标准的CAN网络所采用。首先,因为它需要一个TTCAN控制器(而不是一个标准CAN控制器);其次,因为它依赖于TTCAN的参考信息,所以它需要通信组织起来像6.7.1节中讨论的系统矩阵。此外,它只考虑有限的故障模型,不包括例如不一致信息传输。
在参考文献[RODR06]中提出的容错时钟同步服务的灵感来自于TTCAN状态2,但是它的主要目的是克服前面提到的解决方案的缺点。它还需要使用专门的硬件元素:所谓的时钟单元,但它可以与任何CAN控制器兼容。时钟单元大大提高了可实现的精度(~4μs),并减少了每轮必要的信息数量。这个解决方案遵循主从计划,似乎是在低成本分布式嵌入式系统时钟同步的首选模式[IEEE1588],为了避免单点故障,它也依赖于主节点复制。此外,该解决方案引入了若干容错机制,在广泛的信道和节点故障上执行所需的时钟精度,包括不一致遗漏和复制。这些机制的正确性已通过模型检查得到正式的验证。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。