基于TTCAN多级网络时钟同步与加载方案研究
曹云飞 王宁 夏天乾
【摘? 要】针对TTP分布式实时控制系统在节点较多且存在部分节点功能简单时,大量使用TTP节点将使系统成本急剧上升的问题,论文基于TMS320F28335设计了一种多主节点余度、高可靠、高同步精度的时间触发TTCAN总线,并将其作为TTP总线网络的补充子网,实现全网络时钟同步与时间触发,满足高可靠、高确定性大型分布式实时控制系统的控制、同步、加载与成本要求,具有重要的工程应用价值。
【Abstract】In view of the problem of TTP distributed real-time control system when there are many nodes and some nodes have simple functions, using a large number of TTP nodes will cause the system cost to rise sharply, based on TMS320F28335, this paper designs a time-triggered TTCAN bus with multi-master nodes redundancy, high reliability and high synchronization precision, and uses it as a supplementary subnet of TTP bus network to realize clock synchronization and time triggering, to meet the requirements of control, synchronization, loading and cost of large-scale distributed real-time control system with high reliability and high certainty. It has important engineering application value.
【关键词】TTCAN总线;TTP总线;分布式控制;分布式加载
【Keywords】TTCAN bus; TTP bus; distributed control; distributed loading
【中图分类号】TP273? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?【文献标志码】A? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?【文章编号】1673-1069(2021)02-0145-03
1 引言
TTP作为一种性能优异的时间触发总线,在高性能控制领域得到认可,但其高昂的成本也限制了其在一些成本敏感的领域的推广。CAN总线作为分布式成熟的解决方案,在汽车电子领域得到广泛的应用,然而传统的CAN总线基于事件触发,信息传输时间和优先级倒置的不确定性是其固有的缺点[1]。为了满足对实时性和通信能力不断增长的要求,有必要提高CAN总线的实时性。本文基于TMS320F28335处理器,将传统CAN和时间触发机制结合设计了一种多主节点TTCAN实现方案,并将其作为TTP网络的补充,能够保证全网络的时钟同步与加载,综合考虑了节点硬件成本与高确定性通信技术指标的平衡,有着重要的工程应用价值。
2 總线方案设计
2.1 总线拓扑结构
在高可靠、高确定分布式控制系统上,大多以TTP网络为主干网络。然而当前工控机并没有成熟TTP板卡用于接入TTP网络,且TTP节点成本昂贵,若在功能简单的节点上广泛使用TTP模块,将使得系统成本急剧上升。因此本文设计了如图1所示的TTCAN三级网络架构,对TTP网络进行补充,实现性能与成本的平衡。在如图1所示的三级网络结构中,第一级为监视工控上位机的UDP网络转TTP网络,使用节点UDP2TTP节点桥接,实现监视上位机和TTP网络的数据交互;第二级网络为TTP网络,由多个TTP节点构成,其中TTP2TTCAN_1和TTP2TTCAN_2节点实现了TTP网络向TTCAN网络的转换;第三级网络由多个TTCAN节点构成。
2.2 TTCAN总线同步方案设计
TTCAN总线的时钟同步可分为通过参考帧触发中断同步和通过参考帧携带时钟信息进行同步。在硬件资源紧张的嵌入式实时控制设备上,除了实现TTCAN机制外,还需要进行其他复杂的计算,此时需要综合考虑硬件资源的分配。本文基于美国德州仪器(TI)的TMS320F28335微处理器硬件平台实现TTCAN协议,考虑TMS320F28335平台兼具其他高实时任务的处理,因此本文TTCAN同步采用参考帧触发中断同步的方案。
时间触发总线一般用于高安全性、高确定性的应用场景[2],然而TTCAN总线却存在一个不足:TTCAN网络完全依赖参考帧同步,在主节点故障时,整个网络将瘫痪。为保证TTCAN的可靠性,本文提出了一种多主节点方案,在图1总线网络拓扑图中,二、三级网络使用两个TTP转TTCAN网关节点TTP2TTCAN_1和TTP2TTCAN_2进行桥接,这两个节点兼具TTCAN主节点的功能,其中一个作为主节点,另外一个作为备份主节点。主、备份主节点总线消息如图2所示,正常工作时,主节点发送参考帧,其他节点根据参考帧进行同步。在主节点异常时,备份节点将代替主节点发送参考帧,进行TTCAN网络同步。
本文采用了备份主节点连续五次未收到参考帧,则认为主节点故障的策略,此时备份主节点将在参考帧时间槽替代主节点发送参考帧,而其他时间槽发送消息不变。该策略将存在两种情况:①主节点真实故障,无法发送同步帧,此时备份节点将替代主节点进行参考帧发送;②备份主节点故障,无法接受主节点的参考帧信息,由于备份主节点故障,此时也将无法发送参考帧,不对原来的网络构成影响。因此,本文设计的TTCAN方案不仅保证了TTCAN网络的同步精度,同时由于双备份的设计,也保证了二级TTP网络到三级TTCAN网络间数据的稳定传输,极大地提高了系统的鲁棒性。
2.3 软件升级与维护
对于时间触发分布式控制系统,一旦系统部署完毕,将必然面临软件升级问题。软件的升级可能是单节点软件升级,也可能是整个系统级别的软件升级。此时将面临如何合理利用带宽的问题。此时,若采用总线触发模式进行点对点的加载,将必然造成总线带宽的浪费。如对某一个节点进行程序加载时,只能在其分配的时间槽与加载上位机进行数据交互,这将导致加载速度的低下。本文采取充分利用总线物理层的方式,合理利用TTP网络RS485物理层,在进入加载模式时将TTP切换为RS485模式进行加载。对于TTCAN网络,其物理层为CAN网络,在加载模式时直接切换为CAN模式。这样既可保证在不变更硬件和时序规划的前提下实现总线加载,同时保证总线加载的性能。
3 TTCAN性能验证
本文设计的TTCAN主节点时序规划矩阵如表1所示,表1中共计9个时间槽,每个时间槽有相应的消息ID。除参考帧外,每个时间槽的宽度为200us,其中slot2、slot4、slot6为主节点发送时间槽,其他时间槽为主节点接收,备份或从节点发送时间槽。如slot1在主节点时序规划矩阵中为接收,在备份主节点时序规划矩阵中为发送,表示主节点在slot1时间槽接收备份主节点的数据。
对本文设计的TTCAN总线进行时序逻辑测量,其时序逻辑如图3所示。在图3中,我们可以看到一段长度较短的参考帧RefMsg消息区,其携带一个字节长度的数据,表示当前参考帧处于表1中的第几列。其他节点收到参考帧后触发中断,将自身时序调整到时序规划矩阵中相同的位置完成节拍同步。图3中还存在大量宽度均匀的交互消息,测量结果显示这些消息的起始时间相差200us,与TTCAN总线设计的slot宽度一致。因此本文设计的TTCAN能够实现时间触发,具有较高的触发精度。
本文对TTCAN的总线进行负载率测试,其测量结果如图4所示。图4的左侧为总线上实际发送的数据,对于每一个宽度为200us的时间槽,总线上发送的数据长度均为8个字节,为CAN协议的最长报文。而在图4右侧,总线的最大负载率为58.40%,最小为58.39%,平均为58.39%,该负载率稳定且在合理的范围内。因此TTCAN能够合理地规划总线,均衡负载避免总线冲突,具有非常高的确定性。
对于本文设计的多余度TTCAN主备节点的方案,设计如下验证实验:①传统的单主节点的方案,将主节点断电模拟主节点故障,此时由于所有的从节点必须接收到参考帧后才会发送自身的消息,这导致整个网络瘫痪无数据交互;②主备节点方案,在主节点断电模拟主节点故障时,其测量结果如图5所示,总线上将无主节点的消息(消息ID为0x200、0x400和0x600),此时备份节点转换为主节点发送参考帧(消息ID为0)驱动整个网络同步,确保非故障节点的正常消息交互。因此,本文设计的多余度主备节点方案相对但单主节点的方案,可靠性和鲁棒性具有极大的提升。
根据以上实验,可以得出:本文设计的TTCAN能够按照既定的时序进行调度,实现良好的时间触发通信;能够确定性地均衡总线负载,避免总线竞争;能够解决TTCAN主节點故障时导致整个网络崩溃的缺陷,具备极高的可靠性与鲁棒性,能够满足高质量的确定性通信要求。
4 结语
本文在基于TMS320F28335硬件平台设计与实现了TTCAN总线协议,提出了一种多主备节点的TTCAN网络同步方案。通过总线逻辑信号分析验证,该TTCAN方案能够实现良好的时间触发通信,在合理的总线负载下避免总线竞争,极大地提高了TTCAN网络的鲁棒性,能够满足其作为TTP网络低成本子节点的确定性与通信要求。同时本文对TTP与TTCAN组成的分布式网络进行了软件加载研究,充分利用了两种网络的物理层特性,将时间触发加载转换为事件触发。在无需更改总线时序规划的前提下完全利用总线带宽,极大地提高了总线加载速度。
【参考文献】
【1】鲍官军,计时鸣,张利,等.CAN总线技术、系统实现及发展趋势[J].浙江工业大学学报,2003(01):60-63+68.
【2】关学峰.CAN总线网络的实时性能分析、改进和测试[D].成都:西华大学,2008.