可靠地交换同步讯息的方法和交换单元的制作方法

文档序号:7793434阅读:79来源:国知局
可靠地交换同步讯息的方法和交换单元的制作方法
【专利摘要】本发明涉及在由若干个节点计算机组成的分布式计算机系统中可靠地交换同步讯息的方法。在所述的方法中支援符合IEEE标准1588的透传时钟的管理,并且交换单元由四个分开的FCU组成。
【专利说明】可靠地交换同步讯息的方法和交换单元

【技术领域】
[0001] 本发明涉及在由若干个节点计算机组成的分布式计算机系统中可靠地交换同步 讯息的方法,其中支援符合IEEE标准1588的透传时钟(transparentclock)的管理。
[0002] 本发明也涉及用于执行这样的方法的装置。
[0003] 本发明处于计算机技术的【技术领域】内。本发明描述用于可靠地分布主时钟所产 生的同步讯息的创新方法,所述讯息符合时间触发以太网的SAE标准AS6802及IEEE标准 1588,以致物理全局时基可以基于以太网在实时系统中被建立。

【背景技术】
[0004] 在分布式实时系统中,若干部计算机控制物理处理过程,在这其中当所有计算机 拥有共同的全局时基,会是有利的[8]。这样的全局时基可通过接收定期的同步讯息建立, 讯息由容错的主时钟发送。同步讯息在其数据栏位中包含主时钟的发讯的时刻。在同步 讯息的接收方,一定要精确地确定同步讯息抵达接收方前在通讯系统中延迟了的时间,以 致延迟所致的在接收器的时间误差可以被修正。在时间触发以太网的SAE标准AS6802和 IEEE标准1588中[10],在以太网讯息的数据栏位里提供了用作此目的的栏位(时间间隔 修正栏位(time-intervalcorrectionfield) -TIC栏位),其需被用于透传时钟的兼容的 交换单元修改,以确定讯息在交换单元内的延迟时期的总和。
[0005] 当在修改同步讯息的TIC栏位期间发生错误时,交换单元就因此或会输出错误的 同步讯息。


【发明内容】

[0006] 本发明的目的就是在由若干个节点计算机组成的分布式计算机系统内提供可靠 的同步讯息的交换,其中支援符合IEEE标准1588的透传时钟的管理。
[0007] 这目的由简介所提及的方法达成,这是在于根据本发明,交换单元由四个分开的 故障包容单元(rcu)组成,具体地为输入系统EIN、两个独立的交换系统VER1和VER2以及 输出系统AUS,而其中从发讯的节点计算机抵达EIN的讯息立即以没修改的形式从EIN直 接转发到两个独立的交换系统VER1和VER2,而其中VER1为该讯息的抵达事件提供时间 戳、分析讯息并把所述讯息交换至与讯息的地址栏位关联的输出端口,而其中VER1将讯息 开启并修改讯息中的TIC栏位以在VER1中确定讯息的延迟时期(Verzdgerungsdauer ), 而其中VER1通过重新计算被修改后的讯息的CRC栏位把讯息再封闭,并把封闭的讯息转发 给AUS,而其中VER2为该讯息的抵达事件提供时间戳、分析讯息并把所述讯息交换至与讯 息的地址栏位关联的输出端口,而其中VER2将讯息开启并修改讯息中的TIC栏位以在VER2 中确定讯息的延迟时期,而其中VER2通过重新计算被修改后的讯息的CRC栏位把讯息再封 闭,并把封闭的讯息转发给AUS,而其中AUS检查从VER1传来的讯息的内容是否和从VER2 传来的讯息的内容相配,而其中AUS检查从VER1传来的讯息的接收时刻和从VER2传来的 讯息的接收时刻之间的间隔是否小于先验确定的、以下被称为间隔_1的第一间隔,以及储 存于两个TIC栏位中的延迟值之间的差异的绝对值是否少于先验已知的、以下被称为间隔 _2的第二间隔,而其中,在其中一个这些检查的结果为否的情况下,AUS把通过该被地址指 定的输出端口送出的讯息的发送中断,或把送出的讯息更改,以致每个讯息接收方皆把收 到的讯息识别为错误的。
[0008] 本发明公开了建立以太网同步讯息的交换单元,以使能够认出在交换过程期间发 生的同步讯息错误的方法。这样的可靠交换单元要么输出正确的讯息,否则会不输出任何 讯息,或会输出可被识别为错误的讯息。这样的可靠交换单元被称为是故障沉默的。当使 用两个并行工作的故障沉默的交换单元时,不但可认出错误,还可包容错误。
[0009] 以下将更仔细地解释在本文中所用的术语。以太网讯息包含一标头、一数据栏位 和一冗余的CRC栏位。在一正确的封闭的讯息中,该CRC栏位和讯息的内容相符。当不存 在相符的CRC栏位时,讯息为开启的。因此,当要修改讯息的数据栏位时,必要先开启该讯 息。当开启讯息时,检查封闭的讯息的内容是否和CRC栏位相符。当两者不相符,则丢弃该 讯息。对开启的讯息的数据栏位进行修改之后,必须再把讯息封闭,即是说把讯息再传输前 需要计算新的相符的CRC栏位。当修改开启的讯息时,在修改期间发生的瞬时性故障(例 如因自然宇宙福射产生的单粒子翻转(singleeventupset))可引发讯息中的错误,其在 封闭讯息后仍然存在。
[0010] 在计算机可靠性的领域中,"错误隔离单元" (fault-containmentunit,FOJ)这术 语拥有核心的重要性[8,第136页]。FCU被了解为封装的子系统,其中错误源头引发的直 接效果被局限在这子系统内。
[0011] 在通过交换单元交换数据时,作出存储和转发和直通两种方法之间的区分。在存 储和转发这方法中,整个讯息被存入交换单元,而在直通这方法中,不把整个讯息存入交换 单元中就马上把讯息转发。
[0012] 本发明的核心在于设立用于IEEE1588同步讯息的可靠交换单元,其从以下四个 rcu组成:输入系统EIN、两个独立的交换系统VER1和VER2以及输出系统AUS。
[0013] 抵达EIN的封闭的同步讯息以封闭的、没修改的形式从EIN被转发至VER1和VER2 这两个独立的rcu。VER1这个rcu把讯息开启,把其TIC栏位(该栏位指定讯息的延迟时 期)修改,并把讯息封闭之后把该讯息转发给输出系统AUS。VER2这FCU进行与VER1这 rcu相同的处理步骤。输出系统AUS检查VER1和VER2所得的封闭讯息的内容是否相配,并 把讯息发送给指定的接收方。如果对将送出的讯息的检查认出错误,则把将送出的讯息的 CRC栏位作出修改,以使接收者把讯息辨认为错误的。物理时间是模拟的变数,所以不能假 设VER1和VER2两者所确定的延迟时期会于数字上在位元的层次(Bitebene)上相等。当 数值相差少于先验已知的间隔时,假设延迟时期相配。两个讯息中VER1和VER2所不修改 的栏位必须为位相等的。由于在TIC栏位中可出现的不同的位模式,正确的讯息的CRC栏 位亦可为彼此不同的。所提议的那种交换单元的设立,确保了在交换期间在四个FCU中任 一单元中发生的任何物理的、单独的错误被认出。
[0014] 本发明的显著创新在于⑴在无需对固有的以太网、时间触发以太网[9]或 IEEE1588时钟同步[7]这些标准作出干预下,完美无缝地把可靠的时钟同步整合进标准的 以太网环境中,以及⑵创造了故障沉默的以太网交换器,其即使在发生错误的情况中,也 确保了在安全相关的分布式实时系统中所需的分隔。
[0015] 所有已知的用于可靠的时钟同步的方法皆是基于与以太网标准不兼容的方案。例 如,Hall[5]解决在编织环(braidedring)中时钟同步的问题,编织环是专利的可靠通讯 系统。TTP[2]和FlexRay[4]并不呈示与以太网兼容的用于容错时钟同步的解决方案,而所 述方案并不能被转用于以太网环境中。在Ungermann[6]所提议的时钟同步的方法中,没有 提及错误检测和错误包容的问题。通过比较复制的FCU的计算结果以认出错误的方法二十 多年来已广为人知的(例如参见Gunders〇n[l]),其应被视为现有技术的一部分[8第156 页]。
[0016] 本发明公开一种用于可靠地交换同步讯息的创新的方法和装置,其符合时间触发 以太网的SAE标准AS6802以及用于时钟同步的IEEE标准1588。根据本发明,交换单元由 四个错误隔离单元构成,其中未经复制的FCU只处理由CRC多项式封闭的讯息,其中开启了 的讯息由两个经复制的FCU处理。由于交换单元的这构造,确保了在交换过程中发生的任 何物理的、个别的错误可被认出。通过两个以这方式运作的交换单元的设置,可建成容错的 系统。
[0017] 上述的目的也通过一种装置达成,特别是带有用于执行这样的方法的或用于这样 的方法的交换单元的装置。
[0018] 在该装置的一实施方案中,EIN、VER1、VER2和AUS这四个子系统以不同的晶片提 供。
[0019] 在另一实施方案中,EIN、VER1、VER2和AUS这四个子系统以两个相同的晶片提供, 其中经复制的FCU在硬件层面上同步。
[0020]EIN、VER1、VER2和AUS这四个子系统亦可于专用集成电路(ASIC)中提供,或者 EIN、VER1、VER2和AUS这四个子系统亦可于现场可编程门阵列(FPGA)中提供。
[0021] 以下说明本发明的进一步有利的实施方案,各实施方案额外或替代地提供,或彼 此以任何组合提供:
[0022] -)讯息在EIN这rcu和AUS这rcu中根据直通这方法处理;
[0023] _)VER1和VER2中的处理在时间上有一个或更多个周期的时移;
[0024] _)VER1和VER2中数据的表达方式不同;
[0025] _)在VER1和VER2中,用于讯息的时间控制的传输的配置数据是都是有冗余地被 储存的;
[0026] _)VER1和VER2中储存的数据是以错误识别码保护的;
[0027] _)VER1和VER2中储存的数据是以错误更正码保护的;
[0028] _)通过加密保护的协议载入配置数据;
[0029] _)以同一时钟驱动VER1和VER2中的处理。

【专利附图】

【附图说明】
[0030] 以下以附图作基础,更仔细地解释本发明,在附图中
[0031] 图1示出分布式系统,其带有三个节点计算机以及两个交换单元,而
[0032] 图2示出交换单元的内部结构。
[0033] 以下的具体例子是关于本发明的一个可能的实施方案。

【具体实施方式】
[0034] 图1示出分布式系统,其带有三个节点计算机101、102和103,以及两个交换单元 110和120。交换单元110通过双向通讯通道1、2和3与相应的节点计算机连接,而交换单 元120通过双向通讯通道4、5和6与相应的节点计算机连接。三个节点计算机的其中两个 (例如节点计算机101和102)执行时间主管的功能,并定期发出故障沉默的与以太网兼容 的同步讯息,该同步讯息在其数据栏位除了包含发讯时间外,亦包含根据IEEE1588标准 (透传时钟)和/或时间触发以太网的SAE标准AS6802的TIC栏位,所述TIC栏位指定讯 息在通讯系统中发讯方和接收方之间的延迟。根据本发明,节点计算机通过网络与一数量 的交换单元通讯。
[0035] 图2示出交换单元110的内部结构。在图2中,110(图1)的那三个双向通讯通道 1、2和3各被切开为两个单向通讯通道。因此,通讯通道11构成往交换单元的输入通道1, 而通讯通道12构成从交换单元的输出通道1。相应地,21构成从2的输入通道,而22构成 从通道2的输出通道,而31构成从3的输入通道,而32构成图1的从通道3的输出通道。 在交换弹元110中设有四个FCU。它们为输入系统EIN240、交换系统VER1250和VER2260, 以及输出系统270。输入系统EIN240通过通讯通道245与交换系统VER1250连接并通过 通讯通道246与交换系统VER1260连接。交换系统VER1250通过输出通道257与输出系统 AUS270连接,而交换系统VER2260通过输出通道267与所述输出系统连接。在交换单元 110中可见的内部通讯通道245、246、257和267被配置,以使它们即使在高负载的情况下也 表现确定性(参见[8]第125页)的表现,即是说通过全部三个输入通道11、21和31的讯 息皆同时抵达。
[0036] 通过其中一个输入通道,例如通道11进入的封闭的同步讯息在直通方法中不经 开启就从输入系统EIN240以技术上可能的最快速度通过通道245和246转发至两个独立 的K:U,VER1250和VER2260。250检测讯息到达的时刻,并检查封闭的讯息的内容和其 CRC的相符性。如果内容不相符,则丢弃该讯息。如果内容相符,则开启该讯息,执行所需的 交换,并根据IEEE1588的标准把指定讯息在发讯方和接收方之间的延迟的TIC栏位带至 新的状态。随后,250这通过计算新的CRC把讯息封闭。现已封闭的讯息通过通道257 转发至AUS270这以马上输出往地址指定的接收方。AUS270这检测该讯息从250 这rcu到达的时亥|J。VER2260这rcu与250并行地执行与VER1250这rcu相同的处理步骤。 由于VER1250和VER2260这两个都几乎同时执行相同的处理步骤,两个送出的讯息在 无错误的情况下于先验确定的间隔_1之中抵达AUS270。因此,在直通方法中,当AUS确 定开始接收从VER1250和VER2260送出的讯息的时间的差异的绝对值在间隔_1以内,AUS 270便马上开始把讯息发给指定的接收者。当从VER1250和VER2260的两个讯息的TIC栏 位抵达AUS270时,AUS270便马上检查两个TIC栏位是否相配。当两个TIC栏位中的数 值的差异的绝对值少于间隔_2时,TIC栏位为相配的。以时间表达方式的数字化误差与及 VER1250和VER2260这些FCU中不同的振荡器频率所引致的VER1250和VER2260这些FCU 中不同的处理时期确定间隔_1和间隔_2的长度。当TIC栏位不相配时,即是说发现错误 时,AUS270把进行中的发讯中断,或更改送出的讯息的CRC栏位,以致每个接收方皆能辩 别讯息为错误的。之后,AUS270发出错误信息往监视计算机,该讯息中记录中断的原因。
[0037] 根据rcu的定义,假设四个rcu中任一之中发生的错误不会对其它三个rcu有任 何直接影响。因此,当交换单元110的240、250、260和270这四个F⑶之中的其一在交换 期间发生错误时,通过以下方式认出错误。在240和270这些F⑶中,只处理封闭的讯息。 通过讯息中包含的CRC栏位检查该讯息,以认出封闭的讯息中的错误。当在由VER1250或 VER2260这些处理开启的讯息期间发生错误时,AUS270这因此通过比较从250和 260这两个独立的F⑶抵达的讯息认出该错误。
[0038] 为了防止在错误的情况下讯息在EIN和AUS这些中暂存的时间相差,于是在 EIN和AUS这些rcu中以直通方法处理讯息。因该设计,确保了在这两个rcu中恒定的已知 的延迟时间。
[0039] 为了减低同一个错误源头(例如电力供应的中断或雷击)在250和260这些F⑶ 中导致同样的错误的机会,可把在250和260这些FCU中的讯息处理作数个周期的时移,亦 可在250和260这些F⑶中选择不同的数据表达方式。
[0040] 当要根据时间触发以太网的方法(时间触发以太网的SAE标准AS6802)交换讯息 时,必须把配置数据储存于250和260这些F⑶中。根据本发明,250和260这些F⑶中的 这配置数据是以可识别错误的或可更正错误的方式编码的,以使记忆体错误的后果可被识 别或更正。替代地,可以有冗余的方式储存250和260这些FCU中的配置数据。该配置数 据通过加密保护的传送协议[8,第141页]被载入250和260这些F⑶中。
[0041] 所述的交换同步讯息的方法可被不同地实施。为了优化错误隔离的性质,可在四 个不同的晶片上执行实施例,以使每个FCU在独立晶片中被提供,其带有专用时钟。
[0042] 亦可在两个相同的晶片中提供所述方法,其中两块晶片各包含EIN、VER和AUS这 些F⑶而经复制的F⑶各以同步的方式运作。
[0043] 在进一步的实施变体中,四个FCU全设于单一个专用集成电路或单一块现场可编 程门阵列晶片中。当只使用一块晶片,则可从单一个时钟或若干个时钟得出周期。前述的 间隔(间隔_1和间隔_2)的时长是取决于所选的实施策略的。
[0044] 引用文献:
[0045] [1] US 4, 417, 334Gunderson et al. Data processing system having dual-channel system bus?于1983年11月22日授权。
[0046] [2]US5,694,542Kopetz,H.Time-triggeredcommunicationcontrolunitand communicationmethod?于 1997 年 12 月 2 日授权。
[0047] [3]US7, 839, 868.Kopetz,H.Communicationmethodandsystemforthe transmissionoftime-drivenandevent-drivenEthernetmessages.于 2010 年 11 月 23日授权。
[0048] [4]US 7, 349, 512Rausch et al. Clock synchronization in a distributed system?于2008年3月25日授权。
[0049] [5]US7, 912, 094Hall, et al.Self-checking pair-based master/follower clock synchronization?于2011年3月22日授权。
[0050] [6]US8,089,99lUngermann.Networkandmethodforclocksynchronization ofclustersinatimetriggerednetwork.于 2012 年 1 月 3 日授权。
[0051] [7]Eidson,J.C.Measurement,ControlandCommunicationUsingIEEE 1588,(Springerpublishinghouse2006
[0052] [8]Kopetz,H.Real-Time Systems,Design Principles for Distributed Embedded Applications. Springer publishing house.2011.
[0053] [9]SAE Standard AS6802von TT Ethernet?网址:http://standards, sae. org/ as6802
[0054] [10]IEEE 1588Standard for a Precision Clock Synchronization Protocol for Network Measurement and Control Systems.网址:http://www. ieeel588. com/
【权利要求】
1. 在由若干个节点计算机组成的分布式计算机系统中可靠地交换同步讯息的方法,其 中支援符合IEEE标准1588的透传时钟的管理, 其特征在于 交换单元由四个分开的组成,具体地为输入系统EIN、两个独立的交换系统VER1和 VER2以及输出系统AUS, 而其中从发讯的节点计算机抵达EIN的讯息立即以没修改的形式从EIN直接转发到两 个独立的交换系统VER1和VER2,而其中VER1为该讯息的抵达事件提供时间戳、分析讯息 并把所述讯息交换至与讯息的地址栏位关联的输出端口,而其中VER1将讯息开启并修改 讯息中的TIC栏位以在VER1中确定讯息的延迟时期,而其中VER1通过重新计算被修改后 的讯息的CRC栏位把讯息再封闭,并把封闭的讯息转发给AUS,而其中VER2为该讯息的抵 达事件提供时间戳、分析讯息并把所述讯息交换至与讯息的地址栏位关联的输出端口,而 其中VER2将讯息开启并修改讯息中的TIC栏位以在VER2中确定讯息的延迟时期,而其中 VER2通过重新计算被修改后的讯息的CRC栏位把讯息再封闭,并把封闭的讯息转发给AUS, 而其中AUS检查从VER1传来的讯息的内容是否和从VER2传来的讯息的内容相配,而其中 AUS检查从VER1传来的讯息的接收时刻和从VER2传来的讯息的接收时刻之间的间隔是否 小于先验确定的、以下被称为间隔_1的第一间隔,以及储存于两个TIC栏位中的延迟值之 间的差异的绝对值是否少于先验已知的、以下被称为间隔_2的第二间隔,而其中,在其中 一个这些检查的结果为否的情况下,AUS把通过该被地址指定的输出端口送出的讯息的发 送中断,或把送出的讯息更改,以致每个讯息接收方皆把收到的讯息识别为错误的。
2. 如权利要求1所述的方法,其特征在于讯息在ein这rcu和aus这rcu中根据直通 这方法处理。
3. 如权利要求1所述的方法,其特征在于VER1和VER2中的处理在时间上有一个或更 多个周期的时移。
4. 如权利要求1至3之任一所述的方法,其特征在于VER1和VER2中数据的表达方式 不同。
5. 如权利要求1至4之任一所述的方法,其特征在于在VER1和VER2中,用于讯息的时 间控制的传输的配置数据是都是有冗余地被储存的。
6. 如权利要求1至5之任一所述的方法,其特征在于VER1和VER2中储存的数据是以 错误识别码保护的。
7. 如权利要求1至6之任一所述的方法,其特征在于VER1和VER2中储存的数据是以 错误更正码保护的。
8. 如权利要求5至7之任一所述的方法,其特征在于通过加密保护的协议载入配置数 据。
9. 如权利要求1至8之任一所述的方法,其特征在于以同一时钟驱动VER1和VER2中 的处理。
10. 用于执行如权利要求1至9之任一所述的方法的装置。
11. 如权利要求10所述的装置,其特征在于EIN、VER1、VER2和AUS这四个子系统以不 同的晶片提供。
12. 如权利要求10所述的装置,其特征在于EIN、VER1、VER2和AUS这四个子系统以两 个相同的晶片提供,其中经复制的FCU在硬件层面上同步。
13. 如权利要求10所述的装置,其特征在于EIN、VER1、VER2和AUS这四个子系统于 ASIC中提供。
14. 如权利要求10所述的装置,其特征在于EIN、VER1、VER2和AUS这四个子系统于 FPGA中提供。
15. 分布式计算机系统,其包含如权利要求10至14之任一所述的装置。
【文档编号】H04J3/06GK104412528SQ201380030497
【公开日】2015年3月11日 申请日期:2013年4月9日 优先权日:2012年4月11日
【发明者】斯蒂芬·波莱德纳 申请人:Fts电脑技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1