文献标识码: A
DOI:10.16157/j.issn.0258-7998.2017.01.019
中文引用格式: 闫攀,张奇荣,权海洋. 时间同步技术与调度机制的研究[J].电子技术应用,2017,43(1):72-76.
英文引用格式: Yan Pan,Zhang Qirong,Quan Haiyang. Research on time synchronization technology and scheduling mechanism[J].Application of Electronic Technique,2017,43(1):72-76.
0 引言
随着航天器技术的不断发展,对综合航电技术提出了新的需求,主要表现在对系统可扩展可重构性要求支持能力更高;长距离传输下,数据的实时性和同步性要求更高,要求网络具备更高的数据传输速率;对重量功耗等提出更高的约束;同时要求高可靠、易测试、低费效比、快速研制等要求,传统网络难以满足这种新的应用需求[1]。
时间触发以太网(Time Trigger Ethernet,TTE)是国际上最新的一项基于以太网的新型总线技术,具有高带宽、高实时性、高可靠性和高兼容性的特点。该网络兼容了时间触发协议和以太网技术的优势,能够在同一个网络平台上传输以太网数据流、AFDX数据流和时间触发数据流,TTE使用时间触发技术极大减少网络的延迟(12.5 μs/交换机)和抖动(1 000 Mbps下小于1 μs),支持10 M/100 M/1 000 Mbps数据传输率,支持三冗余架构,具备更高的安全性和全面的容错机制。该网络的核心优势在于可以使综合电子系统更好地支持重新配置、预测性维护、增量升级和认证,使单机单位和总体单位能够开发真正模块化的、可扩展的和优化的集成架构,同时降低系统复杂性和产品全生命周期成本。通过将关键性和非关键性流量在同一条网络上传输,有效减小网络的重量。在网络规模变化的情况下,系统仍可正常进行数据传输。网络中的所有组件都执行系统设计要求的公共操作,包括系统时间同步、系统容错、成员检测、故障隔离等,单个组件的故障不会影响整个网络的服务及数据传输[2]。国外这方面目前已有成熟应用,而国内这项技术目前处于起步阶段,通过两年多的研讨,目前已经是非常热门的研究话题。
综上,TTE网络技术的研究对综合航电系统的新要求具有重要的研究意义,TTE网络技术的核心是同步和调度,同步提供全局的分布式网络时钟同步办法,调度提供数据交换的合理规划。同步和调度技术是TTE网络技术研究的基础,也是未来工程化的必经之路。
1 时间同步技术概述
TTE时钟同步协议遵循SAE的AS6802[3-4],该协议是在IEEE1588协议的基础上改进得出的,是一种占用资源少、易实现、同步精度高的分布式容错时钟同步技术。TTE的时钟同步采用完全分布式的算法同步,最终同步的时间是集合因子,故障容忍允许个别节点时钟故障。TTE网络需要周期性地再同步以抵消节点晶振漂移带来的影响。网络节点按其功能可分3类:同步主(SM)、压缩主(CM)和同步客户端(SC)。其同步过程如图1所示。
第一步,同步主发送协议控制帧(PCF)ID 1-3给压缩主。由于路径不同,各PCF帧的到达时间不同,压缩主 “固化功能”恢复这些帧的发送顺序,之后根据“压缩功能”计算所有同步主的时间均值作为系统时间,并与该时间同步,之后将时钟信息写入协议控制帧ID4。
第二步压缩主根据新生成的系统时间发送ID4给其它各节点,各节点接收ID4,并将自己的时间与系统时间进行同步。
TTE网络的同步以PCF帧交换为基础。 PCF帧是一个标准的最小长度46 B的以太网帧,如表1所示,其网络类型域0x891d,内含重要的延时信息,用于TTE网络的同步。
2 时间同步原理
TTE的运行由周期性的集群周期组成,每一个集群周期被划分成从0开始标记的若干个集成周期。每一个集成周期进行一次时钟再同步。时钟再同步如图2所示。
本文结合典型的多跳拓扑结构图进行TTE网络时钟同步过程分析,如图3所示。
再同步启动时,SM101/5/6向CM203发送PCF帧,CM203对PCF帧进行固化处理排序后,压缩计算新的系统同步时钟,同时将本地时钟与新时钟保持同步,之后转发新的PCF用于网络时钟同步,其他节点使用该PCF用于本地同步。
2.1 固化功能
固化功能的主要作用就是将压缩主接收到的失序的PCF帧进行顺序恢复。如图4所示。
由于各同步主到压缩主的距离不同而引起PCF帧到达压缩主的时序发生变化。固化功能通过将每个到达的PCF帧延迟一个固化延时时间见式(1),从而保证接收到的PCF帧的相对顺序和帧发送时一致。
2.2 压缩功能
压缩功能对采集接收到的PCF帧并进行压缩计算,得到最佳系统时间,用于系统时间同步。压缩功能共分3阶段:采集阶段、计算阶段和延时阶段,压缩主压缩功能示意图如图5所示。
采集阶段中OW为采集窗口,为了能容忍两个错误需要3个OW,CO为计算阶段,DP计算出的系统最佳时间。通过对预计压缩完成时间和实际压缩完成时间做差,得出时钟偏差-5,在延时30后将SW203的本地时钟值从150修正到145,完成本地同步,同时间隔50后将新的PCF帧发送,用于其他器件的同步。
2.3 网络同步
图6中的粗黑色短竖线表示各个器件的预固化时间,通过与实际固化时间做差得出各器件的时钟修正值。间隔一段延时后对本地逻辑时钟进行修正,之后节点逻辑时间保持一致,网络同步。
在图6中系统所有的网络节点对自身时钟修改完成以后整个网络时钟保持同步见式(3),为了便于显示,在时标280时刻对所有的逻辑时间的变化进行比较。在此忽略时钟精度对系统同步的影响。
3 时间同步的影响因素
TTE网络是根据全局时钟基进行流量的调度传输工作,在此期间,由于各网络设备内部晶振的个性差异和环境影响(如温度和湿度),导致网络中各设备的逻辑时钟值出现或快或慢的漂移变化。长期积累,在接收帧不能及时出现在接收窗口(精度间隙),致使网络同步丢失的现象,进而导致关键信息帧被丢掉。如图7所示。
图中展示晶振漂移对3个系统时钟带来的不同影响。“π”是容错允许下,系统的最快和最慢时钟之差,较小π意味着较小的超时设定,同时表明系统更加高效。系统精度、再同步间隔和晶振偏移率之间的关系如图8所示。
图8中,精度间隙(π)≥2×再同步间隙×晶振漂移率。假定晶振漂移率为500 ppm,再同步时间为5 ms,则精度间隙最小需要5 μs。
对于TTE网络,影响同步设计的因素主要有3个:(1)晶振性能,偏移率越大,再同步时间变小,系统效率变低。(2)再同步间隙越大,对晶振的要求越高,晶振成本增加,应用成本增加;(3)再同步使用的方法,分布式时钟同步方法能够提供高效可靠的同步,同时具有强大的容错能力。除此以外,添加适当的延时补偿对物理层和线路延迟进行补偿,可以保证同步时钟精度更高。
4 调度机制概述
TTE网络调度采用时分复用技术,通过时间规划保证关键流量和非关键流量在同一条物理链路上进行传输,彼此之间互不冲突,目前最成熟的调度工具是TTE-Plan软件,内嵌SRI(斯坦福国际研究所)开发的SMT形式化求解器,但随着TT流量数量的增加,求得可行的调度方案的复杂度急剧增大。TTE网络中每一个同步节点只能在规定的时间序列中规定的时刻进行数据收发操作,通信必须在各自的时间槽内完成,保证彼此之间的数据流不产生冲突。如图9所示。
周期性的节点时间槽构成了一个TDMA周期,所有的TDMA周期都具有相同的时间长度。在TDMA周期中,节点每一次发送数据的长度和内容可能不同。多个TDMA周期构成集群(cluster)周期,即总线运行周期。重复的集群周期构成整个传输时间轴。ET(事件触发)流量RC和BE可在TT的间隙内发送。
5 调度机制原理
TTE网络调度是一种多孔调度方法,将属于不同流量的TT消息分散于时间轴,之间的孔隙用于容纳既有的事件触发流量。TTE调度是在TT流量中预留一定比例的分数带宽,生成首尾紧密排列的TT消息调度方案(先验调度),然后该方案被平均分配到整个带宽下(后验调度),在TT消息之间的孔隙是可供RC流量和BE流量传输的时间片(调度解释),如图10。以表2内容为例说明TTE调度表的生成方式。
5.1 TTE网络调度表
TT调度表包含由n个基本周期(BC:Basic Cycle)组成的一个矩阵周期(MC:Matrix Cycle)。BC是所有TT流量周期的最大公约数,n是所有TT流量的最小公倍数/最大公约数。TT段中,时间资源被分为时间槽(time solt),一般为定长,不同长度的帧可以占用多个时间区间。
图10展示由4个BC周期构成单个MC的TT流量发送调度表,对应的TT流量如表2所示。阴影部分表示有TT帧发送。
5.2 网络调度表生成方法
周期调度表的生成有两种方式:(1)静态生成方式,需要提前规划,系统上电之前就要配置好,适用于系统中需要上电就执行的通信任务。(2)动态生成方式,可以在系统运行过程中根据需要握手协商后生成的调度表,适用于动态开启和结束的TT流量任务,是静态生成方式的补充。
无论哪种生成方式,其调度表生成原则相同:一是左端紧缩原则,即任务分配调度时优先考虑最左侧的时间段,为后来的任务添加留下尽可能多的余量,方便后续任务的添加。二是均匀间隔原则,即对于周期相同的任务在排列时,周期为2m×BC的任务优先选择行标为2m-1-1的纵向间隔均匀排列。根据该原则表2中的任务最终呈现如图10所示。
5.3 TTE网络调度表分类
TTE网络中共有4类调度表交换机相连端口发送表、终端发送表、终端接收表和单任务发送表,如表3所示,所有单任务发送表共同组成了终端发送表。
5.4 周期调度表的生成流程
结合调度表的生成方法,本文给出一种尝试、修改、迭代生成方式的静态周期调度表生成流程,如图11所示。
任务的加载顺序不同,其生成的调度表也不相同,通过将系统中所有发送表的公共空闲区间进行统计比较,选出公共空闲区间最大的调度表做为最优调度表。
6 调度机制影响因素和未来的发展趋势
本文提出的方案与任务数量是紧密相关的,随着TT流量数的增加,使用该流程求得的调度方案复杂度将指数增加,这对处理器来说是非常有挑战性的,未来可以加入先验性的手段,提前预测调度的可行性,对不可能的任务排列,直接放弃以减小调度方案的执行,进而达到优化方案的目的。
此外在调度过程中也要避免由于晶振漂移导致的接收帧的边沿叠加现象,对于这种现象可以通过在源头加入一定的时间冗余进行避免或者接收时加入一定的时间容量,容量范围内的帧都可以接收,进而避免这种帧边沿的重叠现象。
7 总结
本文通过对TTE网络关键同步和调度算法等难点进行研究,通过实例对同步算法进行分析,并指出时钟同步的影响因素,便于后续网络系统的设计分析。同时对调度原理、调度表的生成原则和方式进行分析,提出一种尝试、修改、迭代生成方式的静态周期调度表生成流程,并指出这种方案未来可以优化的方向,为后续任务调度的工程化提供一种有效的工程解决方案。
参考文献
[1] 曾贵明,刘文文.新一代飞行器综合航电系统架构[J].航天微电子,2016(1):27-30.
[2] Deterministic ethernet networks for advanced integrated architectures[EB/OL].www.tttech.com.
[3] SAE Technical Standard. SAE AS6802[S].SAE International.2011-11.
[4] TTTech.TTEthernet Specification-0.9.1-22968[S].TTTech Computertechnik AG.20-Nov-2008.
作者信息:
闫 攀,张奇荣,权海洋
(北京微电子技术研究所,北京100076)