专利名称:航空电子设备网络中的自由运转节点的时间同步方法
技术领域:
本文所述的技术涉及如使ARINC 664 Part 7所述的航空电子设备全双エ交换以太网之类的双冗余网络中的自由运转节点之间进行时间同步的方法。
背景技术:
在ARINC 664 Part 7的网络中,每个端系统(ES)或终端节点承担能够保持由共享主处理器的多个应用所写入和读取的消息的一个或多个通道上的开放通信端ロ的网络接ロ控制器(NIC)的角色。在ARINC 664 Part 7的航空电子设备网络中,节点能够工作在标准完整性模式中,其中未检出差错的概率大约小于每飞行小时10_6。要求节点中的附加功能性以支持高完整性模式,其中未检出差错的概率必须不大于每飞行小时10_9。应用可运行于高完整性模式,其中重要的是确保通过网络传输的安全关键数据的高度完整性。这种完整性校验包括验证比特完整性(例如使用循环冗余校验和)、验证源完整性(即,确保数据来自正确的源)、验证时间次序(即,检查发送和接收消息的顺序)以及验证数据的使用期(age)(即,将消息提交给传送节点的时间与从接收节点检索该消息的时间之间的时间差)。为了验证有序性和使用期,数据在由源应用所发布时以及在由目标应用所检索时均必须參考或使用各节点的相应本地时间參考来准确地加时间戳。因此,重要的是令每个ES的所有本地时间參数在所指定的最小容差之内并且以防止时间倒退的方式来相互跟踪。通过网络进行通信的安全关键应用可使用应用特定协议在应用中来执行其自己的顺序和时间完整性监测及验证。例如,由GE和Rockwell Collins联合开发的Boeing787公用数据网络使用独立管理功能来提供时间參考以及包含単独节点时间參考之间关系的偏移表的集中监测和分布。在这种架构中,各节点必须计算偏移信息,并且对ASIC处理元件进行编程,ASIC处理元件对每个所接收消息施加时间戳并且验证顺序和时间完整性。这种方式要求各节点中的相当大的处理以及消耗大量网络资源来提供每ー个节点与支持管理功能的节点之间的附加的低等待时间通信通路。
发明内容
在ー个方面,一种使网络上的接收节点的本地时间參考(LNT)同步到网络上的发送节点的全局网络时间參考(GNT)的估计的方法包括从每个发送节点传送冗余精确时间协议同步消息,以便建立接收节点的GNT和LNT时间日期。接收节点选择两个冗余PTP消息之ー来设置与对应于每个所选PTP消息的LNT相关的时间数据。接收节点捕获每个所选PTP消息的发送节点和接收节点的GNT和LNT值,并且基于与每个发送节点对应的时间数据来确定比率和偏移量。接收节点使用预定标准来比较所确定比率和偏移量对,基于该比较来选择发送节点之一,并且将LNT同步到所选发送节点的GNT。
附图包括
图I是配置成按照本发明的一个实施例进行操作的航空电子设备通信网络的拓扑的示意表示。图2是通过图I的网络所传送的通信消息的示意表示。图3是通过图I的网络传送的图2的通信消息的多个片段的示意表示。图4是示出按照本发明的一个实施例、同步图I的网络的端系统的全局网络时钟的本地估计的方法的流程图。图5是示出实现图4所示方法的每个主端系统的时间跟踪的方法的流程图。
图6是示出一种将本地时间參考调整某个比率和偏移量以使它同步到全局网络时间參考的方法的示图。图7是示出按照本发明的一个实施例、对在端系统处接收的消息进行分类(sorting)的方法的流程图。
具体实施例方式为便于说明,以下描述中提出了大量具体细节,以便透彻地理解本文所述的技木。然而,本领域的技术人员将会清楚地知道,即使没有这些具体细节也可实施示范实施例。在其它情况下,结构和装置以简图形式示出,以便于示范实施例的描述。下面參照附图来描述示范实施例。这些附图示出实现本文所述的模块、方法和计算机程序产品的具体实施例的某些细节。但是,附图不应当被理解为施加附图中可存在的任何限制。方法和计算机程序产品可在任何机器可读介质上提供以用于实现其操作。实施例可使用现有计算机处理器、或者通过为这个或另ー个目的所结合的专用计算机处理器、或者通过硬连线系统来实现。如上所述,本文所述的实施例包括计算机程序产品,其中包括用于携带或其上存储了机器可执行指令或数据结构的机器可读介质。这类机器可读介质能够是能够由通用或专用计算机或者具有处理器的其它机器来访问的任何可用介质。作为举例,这类机器可读介质能够包括RAM、ROM、EPR0M、EEPR0M、CD-ROM或其它光盘存储装置、磁盘存储装置或者其它磁存储装置、或者能够用于携帯或存储采取机器可执行指令或数据结构形式的预期程序代码并且能够由通用或专用计算机或者具有处理器的其它机器来访问的其它任何介质。当信息通过网络或另ー种通信连接(硬连线、无线或者硬连线或无线的组合)传递或提供给机器时,机器将连接适当地看作是机器可读介质。因此,任何这种连接都适当地称作机器可读介质。以上所述的组合也包含在机器可读介质的范围之内。机器可执行指令例如包括使通用计算机、专用计算机或者专用处理机来执行某个功能或某组功能的指令和数据。将在方法步骤的一般上下文中描述实施例,方法步骤在一个实施例中可通过程序产品来实现,程序产品包括例如采取由组网环境中的机器所执行的程序模块形式的机器可执行指令、如程序代码。一般来说,程序模块包括具有执行特定任务或者实现特定抽象数据类型的技术效果的例程、程序、对象、部件、数据结构等。机器可执行指令、关联数据结构和程序模块表示用于运行本文所公开方法的步骤的程序代码的示例。这类可执行指令或关联数据结构的特定序列表示用于实现在这类步骤中所述的功能的相应动作的示例。实施例可在使用连到具有处理器的一个或多个远程计算机的逻辑连接的组网环境中实施。逻辑连接可包括在此作为举例而不是限制来提供的局域网(LAN)和广域网(WAN)。这类组网环境是办公范围或企业范围的计算机网络、内联网和因特网中常见的,并且可使用大量不同的通信协议。本领域的技术人员将会理解,这类网络计算环境通常将包含许多类型的计算机系统配置,其中包括个人计算机、手持装置、多处理器系统、基于微处理器或者可编程消费电子产品、网络PC、小型计算机、大型计算机等等。实施例还可在分布式计算环境中实施,在这些环境中,任务由通过通信网络链接(通过硬连线链路、无线链路或者通过硬连线或无线链路的组合)的本地和远程处理装置来执行。在分布式计算环境中,程序模块可位于本地和远程存储器存储装置中。一种用于实现示范实施例的整体或部分的示范系统可包括采取计算机形式的通用计算装置,其中包括处理单元、系统存储器以及将包括系统存储器在内的各种系统部件耦合到处理单元的系统总线。系统存储器可包括只读存储器(ROM)和随机存取存储器 (RAM)。计算机还可包括用于对磁硬盘进行读取和写入的磁硬盘驱动器、对可移动磁盘进行读取或写入的磁盘驱动器以及用于对可移动光盘、如CD ROM或其它光介质进行读取或写入的光盘驱动器。驱动器及其关联的机器可读介质提供对机器可读指令、数据结构、程序模块和用于计算机的其它数据的非易失性存储。实施例中公开的方法的技术效果包括确认飞机上的航空电子设备网络中接收的数据的完整性。为了验证有序性和使用期,数据在由发送方所发布时以及在目标接收器处接收时必须使用其相应本地时间參考来准确地加时间戳。本发明的当前实施例涉及使航空电子设备网络上的終端节点处的时间同步到网络上的至少ー个终端节点所保持的全局网络时间。同步过程涉及通过网络从保持全局网络时间的节点向終端节点发送消息,并且提取与消息关联的定时信息,以便同步待同步节点的每个的全局网络时间的本地估计。现在參照图1,通信网络10能够具有多个终端节点70、76、80、84、90和94。这些多个终端节点70、76、80、84、90和94又能够称作端系统(ES)。每个端系统70、76、80、84、90和94能够是主端系统70、76、80和84或者是从端系统90和94。通信网络I 0还包括用于通过网络10来传递数据的交换机30、32、34、40、42和44。在这种配置中,每个ES 70、76、80、84、90和94连接到网络中的第一和第二通道(通道A和B)之一,其中各交换机在通道之一上转发媒体接入控制(MAC)帧。换言之,存在通道A交换机30、32和34以及通道B 交换机 40,42 和 44。交换机 30、32、34、40、42 和 44 以及 ES70、76、80、84、90 和 94 系统经由网络连接20彼此互连。网络连接20包括通道A交换机与端系统70、76、80、84、90和94的每个之间的连到ES的通道A连接50、通道B交换机与ES 70、76、80、84、90和94的每个之间的到ES的通道B连接56、交换机52之间的通道A连接以及交换机58之间的通道B连接。交换机30、32、34、40、42和44表示用于在通信网络10上传递业务、消息或数据的任何已知硬件和软件,包括但不限于路由器和集线器。交換机30、32、34、40、42和44还能够包括电子控制器以及包含按照诸如ARINC 664 Part 7 (AFDX网络)之类的已知通信协议并且在包括高完整性和标准完整性模式的各种完整性模式下路由通信消息所需的应用软件和数据的电子存储器(未示出)。ES 70、76、80、84、90和94各能够包括电子控制器、包含应用软件和数据的电子存储器以及各种节点功能所需的本地參考(LR)时钟(全部表示为Host),其中各种节点功能至少包括在通信网络上接收和传送消息,以及使用诸如按照本文的实施例的时间完整性校验和消息分类之类的方法来检验所接收消息的完整性,以及按照本文所述的实施例来同步本地时钟。当执行时间完整性校验时,包括主端系统70、76、80和84以及从端系统90和94的各节点70、76、80、84、90和94能够基于其本地參考(LR)-本文中称作本地网络时间(LNT)-来生成全局网络时间(GNT)的估计。主端系统70、76、80和84(又指定为M1、M2、M3和M4)还能够传送包含用于将接收节点70、76、80、84、90和94同步到全局网络时间(GNT)的时间戳信息的时钟同步消息或精确时间协议(PTP)消息。当主端系统70、76、80和84能够在通信网络10上传送用于同步任一个节点70、76、80、84、90和94的PTP消息时,主端系统70、76、80和84还能够基于从其它主端系统70、76、80和84所接收的PTP消息来同步其自己的时钟。作为另ー个特征,多个主端系统70、76、80和84能够使其相对于主端系统70、76、 80和84中的另ー个被设置优先级。优先级能够用于确定为了时间同步将要使用哪些主节点以及按照哪ー种顺序。例如,主端系统70、76、80和84能够具有归于它的优先级系统,使得来自Ml 70的PTP消息的时间信息能够具有比M2 76更高的优先级,M2 76又能够具有比M3 80更高的优先级,M3 80还能够具有比M4 84更高的优先级。作为ー个备选,优先级能够使得Ml 70具有比M2 76, M3 80和M4 84更高的优先级,并且M2 76, M3 80和M4 84全部具有相等的优先等级。具有最高优先级的主节点、如Ml 70能够称作总主控。在ー些情况下,与从端系统90和94中的LR时钟或振荡器相比,指定为主端系统70、76、80和84的节点可具有更大的精度、更大的准确度、更大的切換率、降低的随时间漂移或者更高的Q因子的LR时钟或振荡器。类似地,与其它主端系统70、76、80和84或者从端系统90和94中的LR时钟或振荡器相比,总主控节点可具有更大的精度、更大的准确度、更大的切換率、降低的随时间漂移或者更高的Q因子的LR时钟或振荡器。PTP消息能够是单向的,因为与主端系统70、76、80和84不同,从端系统90和94没有在通信网络10上发送用于时间同步目的的PTP消息。从端系统90和94只能接收PTP消息以用于基于所接收PTP消息及其自己的本地參考(LR)来同步其自己的LNT。同步精度取决于每个主端系统70、76、80和84与所有接收端系统70、76、80、84、90和94之间的最小PTP消息等待时间(Dmin)的准确估计。也就是说,每个接收端系统配置有从其中接收PTP消息的每个主端系统的Dmin的唯一值。例如,航空电子设备网络拓扑根据设计是固定的,使得当网络退出服务时,Dmin值的准确估计能够在实验室环境中得到。确认来自每个主端系统70、76、80和84的PTP消息的Dmin值的ー种方式能够是通过一次仅允许ー个主端系统70、76、80和84发送PTP消息而在网络上没有其它业务,并且测量各端系统70、76、80、84、90和94处的等待时间。网络连接20能够包括连接通信网络10上的节点70、76、80、84、90和94的任何已知方法,例如有线和无线方法。网络能够具有各种网络连接类型的混合。例如,关键节点可经由更可靠的有线连接或者有线和无线两种连接来连接,而不太关键的节点可以仅通过无线连接来连接。现在參照图2和图3,图I所示的网络能够传送通信消息100,其中包含包装在消息完整性包装器(MIW) 102A和102B中的应用消息有效载荷110。应用消息有效载荷110是从ー个节点70、76、80、84、90和94发送给另ー个节点70、76、80、84、90和94的实质性信息。例如,消息有效载荷能够包括从飞机主控制器发送给飞机的外围控制器的指令。MIW 102A能够包含时间同步数据,例如源时间戳(STS)和同步质量指示符(SQI)。MIff 102B能够包含对于包括MIW 102A和应用消息有效载荷110的域所计算的循环冗余校验(CRC)。为了安全起见,能够使用只是发射器以及配置成接收应用有效载荷消息110的接收器已知的种子值来初始化MIW 102B的CRC的计算。通信分组还能够包括用户数据报协议(UDP)标头104和因特网协议(IP)标头106。UDP标头104能够包括与源套接字、目标套接字、消息分组长度和校验和有关的信息,以便检测传输期间的消息的破坏。IP标头106能够包括与标头长度、服务类型、数据报长度、源IP地址和目标地址相关的信息以及其它元素。当通信消息100的长度太大而无法作为单个分组来发送时,通信消息100能够分段为多个媒体接入控制(MAC)片段120,其中存在第一片段121A、第二片段121B以及包括最后ー个片段121C在内的任何数量的附加片段。每个片段包括应用消息有效载荷片段140、142和144、序列号(SN)脚注150、152和154、帧校验序列(FCS)脚注160、162 和164、IP标头130、132和134以及媒体接入控制器(MAC)标头122、124和I 26。应用消息有效载荷片段140、142和144能够在接收节点重构,以便形成应用消息有效载荷110。SN脚注150、152和154以及FCS脚注160、162和164用于重构应用消息有效载荷110。IP标头130、132和134分别包括每个片段121AU21B和121C的校验和数据和片段信息以及其它元素。MAC标头122、124和126包括源和目标地址以及其它元素。当分段消息120的第一片段121A从发送节点传送给接收节点吋,MAC分段通信消息120中的MIW 102A和102B仍然能够包括具有由发送节点所提供的时间戳的STS信息。接收节点能够从第一片段121A中提取STS,并且能够在接收到最后一个片段121C时记录LNT。參照图4来描述将端系统70、76、80、84、90和94其中之一时间同步到主端系统70,76,80和84的方法170。在端系统70、76、80、84、90和94在每个通道174和180上从多个主端系统70、76、80和84的每个来接收两个冗余精确时间协议(PTP)消息172和178。换言之,主端系统70、76、80和84的每个在通道A 174上传送PTP消息172以及在通道B180上传送PTP消息178,这些消息将由将要对其执行时间同步的端系统70、76、80、84、90和94来接收。由接收节点(ES)在通道A上所接收的PTP消息是分别与主端系统Ml 70、M276、M3 80和M4 84对应的PTPa1、PTPa2、PTPa3和PTPa4。类似地,由接收节点(ES)在通道B上所接收的PTP消息是分别与主端系统Ml 70, M2 76, M3 80和M4 84对应的PTPb1、PTPb2、PTPb3 和 PTPb4。重复接收每个通道上来自每个发送节点或主端系统的PTP消息。因此,PTP消息作为具有时间周期的时间系列由发送节点传送并且由接收节点接收。例如,ー个PTP消息可每IOOms对于每个通道从每个主端系统来接收,其中所接收PTP消息的时间系列具有IOOms的时间周期。时间周期优选地是在25ms与250ms之间,更优选地是在50ms与150ms之间,以及最优选地为100ms。如果时间周期过长,则时间同步方法170花费较长时间,而如果时间周期过短,则对于时间同步可能花费过多的通信网络10的带宽和端系统70、76、84、90和94的处理资源。在任何给定时间周期从接收的PTP消息PTPa1、PTPa2、PTPa3、PTPa4、PTPb1、PTPb2、PTPb3、和PTPb4中,选择与每个主端系统对应的ー个PTP消息,并且与所选PTP消息相关的定时信息在190传递到时间跟踪过程200。換言之,在任何给定时间周期,仅选择PTPa1和PTP'之一、PTPa2和PTPb2之一、PTPa3和PTPb3之ー以及PTPa4和PTPb4之一,并且将相关定时信息传递给下ー级190。在任何给定时间周期和任何给定主端系统70、76、80和84的所选PTP消息中,GNT从消息中被提取并且指定为Tl,在ES的基于LR的LNT的时间戳被指定为T2。将在任何给定时间周期与每个主端系统对应的Tl、T2和LR传递给时间跟踪过程200。每个接收端系统70、76、80、84、90和94具有时间跟踪过程200的多个实例。每个接收端系统70、76、80、84、90和94对于每个主端系统70、76、80和84具有时间跟踪过程200的ー个实例。与每个主端系统70、76、80和84关联的时间跟踪过程200接收对于若干时间周期的数据的时序系列。在接收到对于若干时间周期的所需数量的数据点时,时间跟踪过程200提供对其应用时间跟踪过程200的主端系统的比率(R)和偏移量。当时间跟踪过程200满 足主端系统的所配置时间跟踪标准吋,对那个主端系统所生成的比率、偏移量和sync经由接ロ 210提供给“消除错误跟踪”过程212。消除错误跟踪过程212的主要目的是将其GNT估计超出来自多个其它主端(master)的预先配置范围的主端的跟踪过程200取消资格。要知道,通过网络的配置或者通过多个主端系统的同时故障,没有主端处于其它主端的预先配置范围之内是完全可能的。在这种情况下,无法取得网络时间完整性。为了取得网络时间完整性,必须存在其GNT估计处于预先配置范围之内的多个主端系统。消除错误跟踪过程212接收来自每个主端系统的比率、偏移量和sync标志,来自Ml 70 的指定为 Ratio I、Offset I 和 Sync 1,来自 M2 76 指定为 Ratio 2、Offset 2 和Sync 2,来自M3 80的指定为Ratio3、0ffset 3和Sync 3,以及来自M4 84的指定为Ratio4、Offset 4 和 Sync 4。sync标志指示跟踪过程200已经满足所配置跟踪标准。如果至少ー个sync标志为真(true),则消除错误跟踪过程212能够使用sync标志来将对应sync标志为假的任何比率和偏移量取消资格。如果没有sync标志为真,如端系统的初始化时的情况那样,则MIW102中的SQI值将用于指示MIW 102A中的STS值是不可靠的。当210中没有sync标志为真吋,时间跟踪尚未建立,但是必须在216传递比率和偏移量中的至少ー个,以便调整用于计算时间同步过程224中的LNT的速率(rate)和偏移量。这甚至在没有sync标志为真时也要求调整LNT。否则,sync标志可能从不变为真,并且LNT的调整会被无限地阻塞,因为GNT的LNT跟踪从未被建立。在声明将LNT同步到GNT之前,最佳比率和偏移量的选择能够基于没有涉及sync标志的状态的标准,例如使用与所有主端的时间偏移量中值对应的比率和偏移量。当多个时间跟踪过程200指示它们同步到其相应主端系统时,即,当多个sync标志在210中为真时,消除错误跟踪过程212仍然能够消除与其它比率和偏移量不一致的任何比率和偏移量。例如,如果发现比率之一与所有比率的平均数相差某个预定量,则能够消除比率以及与那个比率对应的偏移量。类似地,如果发现偏移量之一与所有偏移量的平均数相差某个预定量,则能够消除那个偏移量以及与那个偏移量对应的比率。作为ー个备选示例,如果发现比率之一大于预定量或者小于另ー个预定量,则能够消除那个比率以及对应偏移量。类似地,如果发现偏移量之一大于预定量或者小于另ー个预定量,则能够消除那个偏移量以及对应比率。在接ロ 210中呈现的比率和偏移量的值与sync标志为真不一致的情况下,由消除错误跟踪过程212进行的附加校验能够用于确认sync标志的完整性。由消除错误跟踪过程212对sync标志的这个一致性校验用于防止因时间跟踪过程200中的故障而引起的关于由LNT时间跟踪过程200已经取得了同步的错误声明。主端系统70、76、80和84的每个的时间跟踪过程200可能没有同时向消除错误跟踪过程212提供比率和偏移量。因此,消除错误跟踪过程212必须具有与在基于平均比率和偏移量或者基干与预定容许极限的比较来消除比率和偏移量的任ー个之前预计来自所有主端系统70、76、80、84的比率和偏移量的部分或完全接收有关的策略。消除错误跟踪 过程212提供用于选择最佳主端过程214的备选速率和偏移量调整的时间对齐集合。当多个sync标志为真时,将由消除错误跟踪过程212认为是有效的比率和偏移量提供给选择最佳主端过程。从过程212这样传递给过程214的这些比率和偏移量表示有资格同步到GNT的时间跟踪过程200。选择最佳主端过程214能够选择与其sync标志均为真并且其速率和偏移量处于与sync标志为真一致的范围之内的那些主端的预先配置决策树对应的比率和偏移量。例如,选择最佳主端过程214能够使用基于优先级的选择方法。使用这种方式,选择最佳主端过程214考虑主端系统70、76、80和84的每个的优先级,并且选择与最高优先级主端系统70、76、80和84对应的比率和偏移量,并且传递那个比率和偏移量216用于时间同步224。例如,如果在错误跟踪过程212中没有消除比率和偏移量任ー个,并且如果Ml70相对于其它主端系统76、80和84具有最高优先级,则与Ml 70对应的比率和偏移量由选择最佳主端过程214来选取,并且经由接ロ 216传递以用于时间同步224。另ー方面,如果M170具有最高优先级,并且M3 80相对于其它主端系统76和84具有第二最高优先级,但是在消除错误跟踪过程212中消除了与Ml 70对应的比率和偏移量,则传递216与M3 80对应的比率和偏移量,以便同步LNT 224。作为ー个备选方式,选择最佳主端过程214可使用与优先级不相关的选择过程。例如,过程214可选择有资格由过程212来同步的时间跟踪过程200的输出的速率和偏移量的中值。作为另ー个备选,选择最佳主端过程214可从与自选择最佳主端过程214的最后迭代以来其PTP消息最近被接收的那些主端关联的跟踪过程200来选择速率和偏移量。作为又ー个备选方式,选择最佳主端过程214可使用它从过程212接收的速率和偏移量集合的计算,例如基于它从过程212接收的以往值的全体的加权平均或预测。一旦比率和偏移量在216由选择最佳主端过程214来输出,则所选比率和偏移量216用于同步LNT 224。例如,能够通过以本地參考(LR)时钟所确定的速率来连续累加在216所输出的比率,来确定LNT前进的速率。这样,在ー个PTP循环中前进的时间是每个PTP循环的本地參考周期(LRP)的数量乘以在216的比率并且与在216的偏移量相カロ。为了跟踪GNT,在LR时钟的每ー个周期将比率加入LNT。另ー方面,在216所输出的偏移量仅与这个累加器相加一次,以便将LNT与GNT瞬时对齐。图4中为了标记的简洁性,这个计算示为LNT = LNT+LRP*Ratio+0ffset*0US,其中当已更新偏移量变为可用时,对于仅ー个LR时钟循环OUS = 1,否则OUS = O。然后,方法170提供同步到GNT的LNT。作为ー个附加特征,当运行时间同步方法170吋,同步质量水平可设置成指示那个ES的时间同步的精度。因此,时间同步水平对于每个ES可存在。这个同步水平能够包含在高完整性消息的MIW 102A中,并且可用于验证送往ES的入局消息,以便确定接收节点的LNT是否已经同步并且因此能够是置信的。參照图5更详细地描述方法170的使用从主端系统所接收的PTP消息来跟踪GNT的时间跟踪过程200的每个。如图5所示,在230初始化与时间跟踪过程200关联的变量R、Ro、S、S _、q、Dmin> Dmax> C、Syn> Sync、S和TO。R是相对于由与主端关联的过程200的实例所跟踪的那个主端的本地时钟速率前进的比率的估计。Ro是R的初始值。5是使R递增或递减以调整速率的分数。q是期间在R被改变之前必须检测R的増加或減少的连续PTP周期的数量。Dmin是与接收端系统处的过程200的实例关联的主端的所估计或所测量的最小PTP消息技术传输等待时间。实际PTP消息传输延迟必定始終大于或等于Dmin。Dmax是过程200 在声明它不再同步到它正跟踪的主端系统之前将容许的LNT与GNT之间的绝对最大计算偏移量。注意,偏移量的计算将包括其中包含超过Dmin的任何PTP消息传输等待时间的误差。因此,其值必须选择成使得PTP消息的最大可接受传输等待时间没有促使同步丢失。例如,Dmax可选择为不长于Dmin加PTP消息之间的周期。S _是使过程200保持同步所允许的比率R与其初始值R0的最大偏差。S计数过程200确定LNT与GNT之间的偏移量是在Dmax之内的连续次数。C是S必须处于Dmax之内以使过程200成为同步并且将其syn标志设置为真的次数。由过程200输出的sync标志在完成处理循环时设置成syn。TO是在完成处理循环时由过程200输出的偏移量,并且表示估计,通过该估计,由224用于计算LNT所使用的偏移量修改成以减小LNT与GNT之间的差。在232接收当前时间周期的主端系统70、76、80和84的Tl和T2值。Tl是由主端系统70、76、80和84放入PTP消息中的GNT的值。T2是当PTP消息从主ES 70,76,80和84到达时所取样的在ES 70、76、80、84、90和94的LNT的值,它提供PTP消息的到达的时间戳。在224,能够通过对累加器一次性调整在前ー个PTP循环期间所选的偏移量TO的值之后以本地參考(LR)时钟所确定的时钟频率累加所选比率R,来确定LNT。在234确定来自关联主端系统的最近的PTP消息的时间偏移量的估计Tp。Tp计算为Tp = Tl+Dmin-T2。随后,在252确定Tp的绝对值是否在对于PTP消息所允许的最大延迟之内(I Tp I <Dmax)。同时,在252确定R与其初始值Ro偏移的绝对值是否大于S _。如果Tp的绝对值大于Dmax或者如果R-Ro的绝对值大于5 _,则Syn在254设置为假。如果Tp在236确定为小于0并且在238确定为对于超过q个样本保持小于零,则在246将R减小S。但是,如果Tp在238确定为小于0,但在238自R的上一次变化以来未有q个时间样本是这样,则方法200返回到232。另ー方面,如果在236 Td大于0,则TO在242设置成Tp,与在224的LNT的正前进对应。如果Tp在240对于q个样本大于0,则在248增加R。然后在258,在接ロ 210上输出R、TO和Sync = Syn的所得值。能够看到,过程200的步骤的顺序能够改变,而没有损害过程200的发明要素。另夕卜,可向过程200添加中间步骤,而没有损害过程200的发明要素。过程200使用被发送时由主端放入PTP消息中的GNT的值连同先前确定的Dmin的值。跟踪算法依靠将网络配置成使得存在关于在LNT与GNT之间的绝对差超过Dmax之前没有以接近Dmin的等待时间来接收PTP消息的可忽略概率。当过程200生成对于C所定义的所配置毗连时间间隔处于S _和Dmax所定义的所配置极限之内的速率和偏移量吋,它指示它同步到GNT。过程200指示它使用其sync标志输出来同步。过程200的关键特征在于,它在被同步的同时没有在接ロ 210公告负时间偏移量。过程200基于对于若干时间周期来自PTP消息的定时信息的时间系列来提供每个主端系统70、76、80、84的R的值和偏移量T0。当发现在ES的LR的时钟频率与GNT的频率不同吋,R的值用于修改LNT的前进速率。換言之,R提供对GNT与LR的时钟速率之间的关系的校正。另ー方面,偏移量提供瞬时调整,以便使LNT匹配GNT。值R、Ro、5、6 max、q、Dmin、Dmax、C、Syn、S和TO的初始化可试探地或者通过算法来确定。例如,R = Ro的值能够初始化为I,使得标称地假定LNT的频率以及由此本地节点ES的LR与主端系统所提供的GNT的频率匹配。如果ES的LR的频率大于来自主端系统的GNT的频率,则方法200提供小于I的R的值,使得从ES的LNT的时间前进速率能够与来自主端系统的GNT的频率匹配。值q能够初始化为3,并且能够基于过程200的执行随时间而修改。一般来说,如果q的值设置成过高,则将需要更多时间周期来同步本地ES的LNT,由此花费较长时间来执行同歩。但是,如果q的值设置成过低,则过程200可能不提供能够可靠地取得时间同步的R的值。在ー个方面,q的需求值可对于不同的通信网络10以及通信网络10上的ES的数量和类型而改变。6的值可初始化为对于大约数秒或数分钟的短时间间隔的时钟漂移的倍数。例如,6可初始化为时钟漂移的10%。作为另ー个备选,S可初始化为时钟漂移的倍数,其中该倍数取决于ES是否正在启动并且要求初始化同步或者ES是否已经同步。继续这个示例,如果ES处于启动模式并且要求初始同步,则6可设置在短期漂移的100%,而如果ES将被重新同步,则6可设置在漂移的10%。6 _的值取决于网络中对于网络的服务寿命的LR时钟速率的最大容许偏差。例如,6 _的值考虑温度和使用期对用作LNT的參考的晶体时钟振荡器的频率的影响。时钟漂移是为用于生成在每个节点处的LR的振荡器所提供的规范。规范可由振荡器的制造商来提供。通常,将漂移规范作为时钟频率的倍数来报告。例如,振荡器可具有25ppm的漂移规范。在这种情况下,如果时钟频率为IOOMHz,则时钟的漂移能够是+/-2. 5kHz。在一些情况下,漂移规范可具有与其关联的时间衰減。例如,振荡器可具有25ppm+/-10ppm/年的漂移规范。在这种情况下,方法200中使用的S max以及6可随通信网络10的使用期而改变。技术最小等待时间Dmin表示对于消息从方法200中所考虑的主端系统发送给ES是可能的最小时间。这个Dmin可以是主端系统与ES之间的距离以及消息的传输中涉及的每个交換机的交换时间的函数。用于在未拥塞交換机中转发帧的技术最小等待时间通常小于100 ii S。链路传输时间将随网络连接20的传输速率而改变。例如,占用64字节MAC帧的PTP分组将在IOMbps连接上以67. 2 ii S、在IOOMbps连接上以6. 72 y s或者在IGbps连接上以672 ns来传送。为了正确使用时间完整性校验,每个节点的本地网络时间參考(LNT)的未补偿漂移必须小于任何节点对之间的最小技术等待时间(Dmin)。因此,时间同步方法170能够周期地重复进行,以便确保在通信网络10进行操作的同时,并且特别是当正在实现时间完整、性校验时,任何两个节点之间的漂移没有超过Dmin。Dmin可以低至100 y S,并且因此在这种情况下,两个节点之间的时间跟踪偏离应当最多为50y S,以便不会遭遇时间完整性校验失败。对于非PTP host应用70、76、80、84、90和94之间的数据传输,Dmin可以在100 y s与IOOms之间。LNT分辨率必须小于节点之间的帧传输时间。例如,当使用IGbps网络连接20吋,需求的分辨率能够低至672ns。必须对于飞机能够加电的最大时间量来使节点同歩。这通常不超过10天,但是可能多达30天。因此,节点时间同步方法170必须使用小于672ns的网络时间戳分辨率,其中IOOns是优选的。另外,当跟踪方法200如通过方法200在接ロ 210上将其Sync输出设置为真所指示来同步时,其速率和偏移量只能单调地增加LNT。这是因为,如果在方法200的236 Tp
<0并且Syn为真,则TO = 0,因为它从234中设置的值保持未修改。因此,如果Tp < 0并且Syn = True,则能够仅进行速率调整。另ー方面,如果Syn = true并且TP彡0,则在242,TO = Tp。如果没有同步,即,即如果Sync = False,则方法200能够仅进行负时间调整。如果所有跟踪过程200声明Sync = false,则这个指示将传播到MIW 102A中的标志位LNT没有同步到GNT,并且MIW 102A中的时间值是不可靠的。因此,每当减小LNT时,时间同步方法170没有同步。另外,节点必须能够对于飞机能够加电的最大时间量保持同步,以便防止LNT回复到零。这通常不超过10天,但是可能多达30天。因此,当分辨率为IOOns吋,时间同步方法170必须对使用最小时间戳大小或48位的这种延长的时间周期来适应网络10的同步。參照图6 更详细地描述方法170的LNT 224的计算。LNT是由本地參考晶体振荡器(LRCO) 220来计时的累加器寄存器222的输出。寄存器302包含来自接ロ 216的比率的最近的更新。LRCO 220输出频率fc并且周期Tc =1/fc的时钟。在正常操作期间,偏移量更新选通脉冲(Offset Update Strobe)不是活动的,并且乘法器322的输出为零。在各时钟周期Tc开始吋,累加器寄存器222取样并且输出LNT与比率寄存器302的输出之和,如加法器312和314所确定的。302中的比率表示在每个周期Tc期间前进的时间单位间隔的数量。例如,如果选择I 00纳秒的单位时间间隔,并且如果fc = I兆赫兹,则10的比率值将表示10乘以100纳秒的前进,或者等效地为每ー个周期Tc的I微秒。备选地,如果选择I微秒的单位时间间隔,并且如果fc = I兆赫兹,则I的比率值将表示一微秒的前进。应当理解,比率寄存器和累加器寄存器222的输出具有充分数量的位来表示单位时间间隔的整数和分数。例如,如果累加器寄存器222为64位宽,则其48个最高有效位能够用于以微秒来表示LNT的值,而两个寄存器222和302的16个最低有效位能够表示一微秒的分数,并且由此提供基于R以每个fc的循环的一微秒的分数来调整速率的手段。继续看图6,通过在偏移量更新变为活动之后的一个时钟循环期间将偏移量加入累加器的输出,使LNT前进在接ロ 216上呈现的这个偏移量。此后,使累加器仅前进加法寄存器302中包含的比率值,直到下ー个更新在接ロ 216上变为可用。这是因为具有与门电路320的寄存器316和318生成偏移量更新选通脉冲(OUS),其控制乘法器322来确保偏移量对于大于fc的一个循环没有加入累加器的内容。当PTP消息到达时,快照选通脉冲使寄存器308对LNT的值进行取样。求和器310计算T2的值,如过程200的234中所示。要理解,对图6存在能够使LNT能使用接ロ 216上提供的速率和偏移量来跟踪GNT的许多备选实施例。例如,图6所示的功能可通过硬件或软件或者它们两者的任何组合来实现。现參照图7,公开ー种基于通信消息100的源时间戳(STS)和通信消息100的最終片段的目标时间戳(DTS)来对通信消息270进行分类的方法。在272,在端系统接收通信消息。在274,在接收到消息100的最后ー个MAC片段121C吋,DTS设置成使用在端系统处的LR所生成的LNT,并且从消息100的第一片段121A中提取STS。然后在276确定DTS减STS是否大于零(DTS-STS > 0)。如果DTS-STS > 0不为真,则在278,该消息被接受,但以消息的未知Age来指示,其中Age等于DTS减STS (DTS-STS)。如果在276确定DTS-STS大于零,则在280确定是否对于接收节点已经设置了时间同歩。換言之,确定是否对于接收节点执行了方法时间同步200,使得接收节点的LNT与主端系统70、76、80和84的GNT同步。如果在280发现时间同步尚未设置,则在278,该方法接受未知使用期内的消息。但是,如果在280发现已经设置了时间同步,则在282确定DTS减STS是否大于技术最小等待时间Dmin。如果在282,DTS减STS不大于Dmin,则在278再次预期具有未知使用期的消息。但 是,如果发现DTS减STS大于Dmin,则在284确定DTS减STS是否大于Age Max (DTS-STS >Age Max)。如果是的话,则在288丢弃该消息,以及如果不是的话,则在286以已知使用期来接受消息。Age Max是用于丢弃太旧的并且因此可能是无效或者可能不再相关的消息的对于姆种类型的消息的卩隹ー的用户指定的预定阈值。AgeMax可在Ims与10秒之间。本书面描述使用示例来公开包括最佳模式的本发明,并且还使本领域的技术人员能够进行和使用本发明。本发明的专利范围由权利要求书来限定,并且可包括本领域的技术人员想到的其它示例。如果这类其它示例具有与权利要求书的文字语言完全相同的结构元件,或者如果它们包括具有与权利要求书的文字语言的非实质差异的等效结构元件,则它们意在落入权利要求书的范围之内。标号说明10通信网络20 网络连接30 通道A交换机32 通道A交换机34 通道A交换机40 通道B交换机42 通道B交换机44 通道B交换机50 连到ES的通道A连接52 交换机之间的通道A连接56 连到ES的通道A连接58 交换机之间的通道A连接70 主端系统76 王纟而系统80 主端系统84 主端系统
90 从立而系统94 从立而系统100通信消息102A消息完整性包装器102B消息完整性包装器104用户数据报协议(UDP)标头106 因特网协议(IP)标头110应用消息有效载荷 120 多个MAC片段121A第一 MAC 片段121B第二 MAC 片段121C最后ー个MAC片段122第一 MAC 标头124第二 MAC 标头126最后一个MAC标头130第一 IP 标头132第二 IP 标头134最后一个IP标头140第一有效载荷片段142第二有效载荷片段144最后ー个有效载荷片段150第一序列号152第二序列号154最后ー个序列号160第一帧校验序列162第二帧校验序列164最后ー个巾贞校验序列170时间同步方法172在通道A上接收的PTP消息178在通道B上接收的PTP消息174通道 A180通道 B190从所选PTP消息中提取的时间数据200时间跟踪方法210来自每个主ES的比率和偏移量212消除错误跟踪214选择最佳主端216所选比率和偏移量220LR晶体振荡器
222累加器寄存器224LNT 同步230初始化变量232接收 Tl 和 T2234确定时间偏移量236Tp < 0
238自R改变以来Tp < 0有q次?240自R改变以来Tp > 0有q次?242TO = Tp244S > C 246R = R-S248R = R+S250S = S+l ;T0 = Tp252I R-Ro I > し或者 Tp > Dmax 254Syn = 0 ;S = 0 ;T0 = Tp256Syn = True258确定 Ratio、Offset 和 Sync270对通信消息进行分类的方法272在ES接收消息274从消息中提取STS,并且在最后ー个消息片段到达时设置DTS = LNT276DTS-STS > 0 278以Age = 0或未知来接受消息280设置时间同歩?282DTS-STS > Dmin 284DTS-STS > Age Max 286以已知Age来接收消息288丢弃消息。
权利要求
1.ー种使网络(10)上的接收节点(70、76、80、84、90和94)的全局网络时间的本地估计同步到所述网络上的至少第一和第二发送节点(70、76、80和84)其中之一的全局网络时间參考(GNT)的方法(170),包括下列步骤 从每个第一和第二发送节点(70、76、80和84)向所述接收节点(70、76、80、84、90和.94)在第一通道(174)上传送第一精确时间协议同步消息(PTP消息),以及在第二通道(180)上传送第二精确时间协议同步消息(PTP消息),每个PTP消息具有与相应发送节点(70、76、80和84)所设置的GNT相关的时间数据; 选择来自每个发送节点(70、76、80和84)的所述第一和第二 PTP消息其中之一,并且由与每个所选PTP消息对应的接收节点来设置与本地网络时间(LNT)相关的时间数据; 对每个所选PTP消息(190)提取所述发送节点(70、76、80和84)以及所述接收节点(70、76、80、84、90和94)的包括GNT和LNT值的时间数据; 确定基于所述时间数据并且与所述第一和第二发送节点(70、76、80和84)的每个对应的比率(R)和偏移量(TO); 将所确定比率和偏移量与预定标准进行比较; 基于所述比较来选择所述第一和第二发送节点(70、76、80和84)其中之一;以及 将所述LNT同步至所选发送节点(70、76、80和84)的GNT。
2.如权利要求I所述的方法,其中,所述传送、选择和提取步骤对于时间片段的时间系列重复进行。
3.如权利要求2所述的方法,其中,所述时间片段是在125毫秒与500毫秒之间。
4.如权利要求I或2所述的方法,其中,预定标准包括所述发送节点(70、76、80和84)的比率的预定值、所述发送节点(70、76、80和84)的偏移量的预定值以及与所述发送节点(70、76、80和84)关联的优先级其中之一。
5.如权利要求I或2所述的方法,其中,确定与所述第一和第二发送节点(70、76、80和.84)的每个对应的比率(R)和偏移量(TO)包括下列步骤 A.初始化时间偏移量(TO)的比率(R和Ro)、换算调整因子(S)、比率偏差极限(Smax)以及样本阈值(q),最小技术PTP消息传输等待时间(Dmin)、最大可准许PTP消息延迟(Dmax)、TO处于所配置同步范围内的次数的计数(S)、同步阈值(C)和同步标志(Syn和Sync) (230); B.接收与当前时间周期对应的GNT值(Tl),并且接收与当前时间周期对应的LNT值(T2)(232); C.通过从Tl和Dmin之和中减去T2来确定当前时间偏移的值(Tp),(Tp=Tl+Dmin-T2) (234);确定以下其中之一,即当前比率(R)与初始比率(Ro)之间的差的绝对值是否大于比率的最大容许偏差(I R-Ro I > SniJ以及Tp的绝对值是否大于Dmax,而如果不是的话,则进入步骤E (252); D.将TO设置成Tp的计算值(TO= Tp), Syn = False,以及S = O,并且然后进入步骤H (254); E.确定S是否大于C(S > C) (244),以及如果S大于C,则进入步骤G ; F.使S递增,以及将偏移量TO设置成等于偏移量Tp(250),并且进入步骤H ; G.设置Syn = true (256);H.确定Tp是否小于O,以及如果Tp不小于O(236),则进入步骤K ; I.确定Tp自上一次调整R以来是否有q个时间周期为负(238),而如果不是的话,则进入步骤M ; J.设置R = R-S (246),然后进入步骤N ; K.设置 TO = Tp (242); L.确定Tp自上一次调整R以来是否有q个时间周期为正(240),而如果不是的话,则 进入步骤N ; M.设置 R = R+ 8 (248); N.设置输出速率=R,偏移量=T0,以及Sync = Syn (258),并且然后返回到步骤B。
6.如权利要求5所述的方法,其中,将所述LNT同步到所选比率和偏移量的GNT还包括在LR时钟的每ー个周期将与LR时钟相乘的所选比率加入LNT,并且在所选偏移量变为可用之后将所选偏移量加入 LNT (LNT = LNT+Ratio*LRP+0ffset*0US) (224)。
7.一种分类由接收节点(70、76、80、84、90和94)通过网络(10)从发送方所接收的消息的方法,包括下列步骤 在所述接收节点(70、76、80、84、90和94)接收消息,并且从所述消息中提取发送方时间戳(STS) (274); 在所述消息完全到达时基于全局网络时间的本地估计(LNT)来设置目标时间戳(DTS)(274); 确定所述DTS与所述STS之间的差; 确定所述LNT是否同步到全局网络时间(GNT) (280); 如果满足以下任意其中之一,即所述差大于零(276)、所述LNT没有同步(280),以及所述差小于技术等待时间(Dmin) (282),则将所述消息分类为以未知使用期来接受(278); 如果所述差小于预定最大容许使用期(Age Max) (284),则将所述消息分类为以已知使用期来接受(286);而否则 丢弃所述消息(288)。
8.如权利要求7所述的方法,其中,所述Dmin是在100微秒与10毫秒之间。
9.如权利要求7所述的方法,其中,所述AgeMax是在I微秒与10秒之间。
全文摘要
本发明涉及航空电子设备网络中的自由运转节点的时间同步方法。提供一种使网络(10)上的接收节点(70、76、80、84、90和94)的全局网络时间的本地估计(LNT)同步到全局网络时间参考(GNT)的方法。自由运转节点(70、76、80、84、90和94)接收精确时间协议同步消息,并且基于从所述消息中提取的时间数据来确定比率(R)和偏移量(TO)。
文档编号H04L7/00GK102647270SQ20121004325
公开日2012年8月22日 申请日期2012年2月15日 优先权日2011年2月15日
发明者H·莫林, J·范多尔普, P·波布雷克 申请人:通用电气公司