用于数据传输的设备和方法与流程

文档序号:22320462发布日期:2020-09-23 01:53阅读:118来源:国知局
用于数据传输的设备和方法与流程

本发明涉及一种用于数据传输的设备和方法,特别是在诸如飞机的飞行器中使用。



背景技术:

在此公开了一种用于在计算机之间安全地交换信息的设备和方法,优选通过飞机的数字数据总线来实现。飞行操作中所需的系统通常使用不同的计算机和本地数据总线。此类系统例如包括飞机的飞行控制系统,起落架系统,致动系统或空调系统。

在示例性的实施形式中,与系统有关的控制和监视功能在中央处理单元中执行,这些中央处理单元通常容纳在飞机机身中的所谓的“航空电子设备舱”中。这些中央计算机通常借助数据总线将控制所需的信号传输到远程电子设备。远程电子设备也称为远程电子组件(reu),在本地(例如在飞机的机翼中)执行致动器的控制功能。与用于控制致动器有关的错误数据的传输可能会导致出现严重的飞行状况,并且在最坏的情况下会导致飞机坠毁。

由于这个原因,必须确保安全地生成用于调节、控制和监视所需的信息,在中央计算机和远程电子设备之间进行安全的数据传输,对可用的数据安全地进行进一步处理,直到控制致动器为止。为此,本发明描述了一种设备和方法,它在飞机层面降低了设备的复杂性和布线工作量。

作为现有技术,具有相同含义的信号或数据在物理上的分开传输适用于每个冗余结构的系统组,以确保完整性。因此,这也以这样的方式实现,使得不会发生相同的篡改,因此在各个冗余系统组的接收器处不会产生被检测到的误解。

由于单独设置了分开的物理数据传输,因此可以通过内容的偏差在接收器处检测到所发生的错误。在许多高安全的关键系统中,例如在航空系统中,必须能够可靠地检测到错误。

通常引入crc码(循环冗余校验)以提高每个传输数据包在协议级别的可识别性。为了能够在时间上分配数据,至少在组合的、时间上紧随其后的数据包上附上计数值(也称为时间戳),所述计数值可以根据其时间顺序进行更改。这发生在应用程序级别,使得即使在具有多个接收器的布置中也可以支持确定性响应特性。

在通过简单的计算和传输路径无法可靠地检测到数据错误之后,在现有技术中,通过至少两个单独的数据生成器、数据总线和接收器(其在硬件和软件上不同)来传输相同的信息。

如本领域技术人员所知,如果可以将由错误施加的误差多项式除以循环冗余校验的生成多项式,则循环冗余校验例如不能接收错误。如果误差多项式不等于零并且可以被生成多项式整除,则所述错误无法通过crc校验检测到。

为了也能够检测到此类错误,在计算机的硬件和软件以及飞机布线上都产生了相当大的花费(由于双重信号路由增加了电缆重量,繁复地铺设飞机中的电缆,更多的插塞式连接器)。



技术实现要素:

本发明的目的是减轻飞机中电缆的重量并减少计算机上的硬件成本,同时确保待传输信号的必要的完整性。优选地,这应该通过使用通信计算机之间的物理传输路径来完成。

为了节省电缆重量,这在飞机上特别有利,希望找到一种通过仅一个物理连接来传输数据的方式,使得仍然保证数据的完整性并且可以可靠地检测到篡改。数据传输协议中内置的crc校验不足以进行可靠的检测,特别是在对功能安全性要求很高的情况下。

上述缺点通过根据权利要求1的设备或根据权利要求12的方法得以克服。其他有利的实施形式在从属权利要求中进行描述。

因此,根据权利要求1,提供了一种用于数据传输的设备,包括:具有第一模块和第二模块的第一计算机单元,也具有第一模块和第二模块的第二计算机单元,在第一计算机单元的第一模块和第二模块之间的第一数据传输连接,在第二计算机单元的第一模块和第二模块之间的第二数据传输连接,以及在第一计算机单元的第一模块和第二计算机单元的第一模块之间的第三数据传输连接,其中所述设备设计用于将数据包的第一时间序列从第一计算机单元的第一模块传输到第二计算机单元的第一模块,并且另外将数据包的第二时间序列从第一计算机单元的第二模块传输到第二计算机单元的第二模块,第一计算机单元的第一模块设计用于为第一序列的多个数据包(301)中的每个数据包添加第一计数值,第一计数值因数据包而不同,分别相差一个增量,第一计算机单元的第二模块设计用于为第二序列的多个数据包中的每个数据包添加crc码,所述crc码基于相应的数据包和其上所附加的第二计数值,所述第二计数值因第二时间序列的数据包而不同,分别相差一个增量,此外,第一计算机单元的第二模块还设计用于通过第一数据传输连接将分别扩展了第二计数值和crc码的数据包从第一计算机单元的第二模块传输到第一计算机单元的第一模块,第一计算机单元的第一模块设计用于从第二模块接收分别扩展了第一计数值和crc码的数据包,以便将接收到的第二序列的扩展数据包中相应的数据包分别附加到第一序列的时间相关的扩展数据包上,并将由此形成的组合数据包一起传输到第一模块且通过第三数据传输连接传输到第二计算机单元,第二计算机单元的第一模块设计用于将组合的数据包分离为第一序列的各个扩展数据包和第二序列的各个扩展数据包,并将第二序列的分离的扩展数据包经由第二数据传输连接传输到第二计算机单元的第二模块,并且第二计算机单元的第一模块设计用于对时间上随后到达的第二序列的扩展数据包的crc码进行校验。

可以看出,所描述的设备特别适合于冗余结构的系统组的组件之间的通信。在这种情况下,冗余结构的系统组的组件不像现有技术中惯常的那样连接到单独的物理连接线上,而是设置有共同的物理连接,即连接所有冗余结构的系统组的第三数据传输连接。数据完整性方面所需的传输安全性通过crc编码来实现,其中时间上连续布置的数据包设置有递增的计数器值,从而在此基础上形成的crc码随时间的推移可靠地检测出静态错误。

根据本发明设置的在应用程序中添加的crc码可以显著提高错误检测的可能性。生成多项式的明智选择和足够高的阶数允许设置错误的可识别程度。在这种新的数据传输中,重要的是机制的组合以及在crc计算中包含计数值。由此一来,即使在时间上恒定的日期(或多个恒定的日期)内,即在时间戳相同的情况下,生成定义上有偏差的crc。接收器对时间上依次到达的数据进行多次crc校验确保生成高得多的检测安全性。

意外导致正确的crc结果的静态错误很有可能在下一个日期时通过新的、因计数器值更改而有偏差的crc计算检测到。因此,第三个测试值的效果会有所增强。

根据一种可选的扩展方案提出,第一数据传输连接、第二数据传输连接和/或第三数据传输连接是物理数据传输连接,特别是有线或无线数据传输连接,和/或第三数据传输连接通过仅一个物理连接来实现,并且在第一计算机单元和第二计算机单元之间不存在其他物理数据传输连接。

因此,排除在两个计算机单元之间存在其他的数据传输连接,有可能通过所述数据传输连接进行数据交换。

此外,添加crc码还可以表示基于循环冗余校验来将测试比特附加到待检查的数据包上。利用其生成多项式来创建crc码的概念对于本领域技术人员是已知的,因此在此不再赘述。设置有crc码的比特序列在此具有通常附加在比特序列上的校验比特。这些校验比特代表被视为多项式的校验比特除法的余数(乘以生成多项式的最高多项式阶数)。

根据本发明的另一种可选的变型,第一计算机单元可以设计用于在其第一模块中生成数据包的第一序列和/或第一计算机单元可以设计用于在其第二模块中生成数据包的第二序列。第一计算机单元的模块的任务是产生和传输彼此冗余的信息,所述第一计算机单元的模块待传输的比特得以生成,并根据所阐述的过程进行传输。

在这种情况下,有利地,可以提出第一计算机单元的第一模块、第一计算机单元的第二模块、第二计算机单元的第一模块和/或第二计算机单元的第二模块是独立的计算机,所述计算机优选包括cpu和工作存储器。通过在结构上将各个计算机单元彼此分开,硬件方面的错误可能不会导致多个模块的完全故障。通常,即使模块在结构上彼此分开,但是模块的结构组织也以不同的方式来执行,以便也排除由此引起的同时出现的错误。

优选地,第一计算机单元的第一模块和第一计算机单元的第二模块是彼此冗余的系统,所述系统优选在其无错误的控制操作中传输其数据包中相同的信息。替代地或附加地,可以提出,第二计算机单元的第一模块和第二计算机单元的第二模块是彼此冗余的系统,所述系统优选在无错误的控制操作中处理其数据包中相同的信息。

因此,第一计算机单元的第一和第二模块以及第二计算机单元的第一和第二模块可以各自执行彼此冗余的功能。为此,可以通过第一计算机单元的第一模块和第二模块传输同样的信息,应该借助第二计算机单元的第一和第二模块可靠且不被篡改地接收该信息。

根据本发明的另一个扩展方案,可以提出,第一计算机单元的第一模块和第二计算机单元的第一模块形成系统组,第一计算机单元的第二模块和第二计算机单元的第二模块形成系统组,并且这两个系统组是彼此冗余的系统组,而且优选在其无错误的控制操作中处理传输的数据包中的相同信息。

优选地,在组合的数据包中,分别组合来自数据包的第一时间序列和数据包的第二时间序列的时间上组合的数据包,它们在无错误的控制操作中携带相同的信息。在此,第一序列通常源自第一计算机单元的第一模块,第二序列通常源自第一计算机单元的第二模块。

根据本发明的另一个扩展方案,可以提出,第一计算机单元的第一模块设计用于在被发送到第二计算机单元的第一模块之前向组合的数据包提供基于组合的数据包的crc码,并且第二计算机单元的第一模块设计用于执行基于组合的数据包的crc码的校验。因此,还有另外的crc码,所述crc码现在由第一计算机单元的第一模块形成并且由第二计算机单元的第一模块检查。

优选地,第一计算机单元的第一模块还设计成和第二计算机单元的第一模块一样,反之亦然,第一计算机单元的第二模块还设计成和第二计算机单元的第二模块一样,反之亦然,使得有可能以相同的方式在第一计算机单元和第二计算机单元之间进行双向通信,并且可以以相同的方式在第一计算机单元和第二计算机单元之间实现双向通信。

此外,还可以提出,第一计算机单元的第一模块、第一计算机单元的第二模块、第二计算机单元的第一模块和/或第二计算机单元的第二模块由微控制器和/或fpga来实现,优选采用此方式,使得计算机单元的模块中的一个模块由微控制器来实现,同一计算机单元的另一个模块由fpga来实现。

本发明还描述了一种用于与设备进行数据传输的方法,所述方法包括具有第一模块和第二模块的第一计算机单元、也具有第一模块和第二模块的第二计算机单元、第一计算机单元的第一模块和第二模块之间的第一数据传输连接、第二计算机单元的第一模块和第二模块之间的第二数据传输连接以及第一计算机单元的第一模块和第二计算机单元的第一模块之间的第三数据传输连接,其中在所述方法中,数据包的第一时间序列从第一计算机单元的第一模块传输到第二计算机单元的第一模块,并且另外数据包的第二时间序列从第一计算机单元的第二模块传输到第二计算机单元的第二模块,给第一序列的多个数据包中的每个数据包添加第一计数值,所述第一计数值因数据包而不同,各自相差一个增量,给第二序列的多个数据包中的每个数据包添加crc码,所述crc码基于相应的数据包和其上所附加的第二计数值,所述第二计数值因第二时间序列的数据包而不同,分别相差一个增量,通过第一数据传输连接将分别扩展了第二计数值和crc码的数据包从第一计算机单元的第二模块传输到第一计算机单元的第一模块,从第二模块接收分别扩展了第一计数值和crc码的数据包,以便将接收到的第二序列的扩展数据包中相应的数据包分别附加到第一序列的时间相关的扩展数据包上,并将由此形成的组合数据包一起传输到第一模块且通过第三数据传输连接传输到第二计算机单元,组合的数据包被分离为第一序列的各个扩展数据包和第二序列的各个扩展数据包,并且第二序列的分离的扩展数据包经由第二数据传输连接传输到第二计算机单元的第二模块,并且对时间上随后到达的第二序列的扩展数据包的crc码进行校验。

可以以有利的方式进一步改进所述方法,其中第三数据传输连接通过仅一个物理连接来实现,并且在第一计算机单元和第二计算机单元之间不存在其他物理数据传输连接。

此外,本发明还涉及飞行器中,特别是飞机中的本地数据总线,其中本地数据总线包括根据前面所述设备变型任一项所述的用于数据传输的设备或使用根据上述任一项变型的方法。

此外,本发明还涉及一种飞行器,特别是飞机,其中使用根据设备的上述变型之一所述的数据总线或方法,以便在中央计算机与远程电子设备之间进行通信,例如用于控制飞行控制系统、起落架系统、致动系统或空调系统。

附图说明

通过下面的附图描述,本发明的其他细节、特征和优点会变得显而易见。图中显示:

图1是根据现有技术的用于数据传输的设备的示意图。

图2是根据本发明的用于数据传输的设备的示意图。

图3是通过各种计算机单元的数据传输连接发送的组合数据包的示意图。

具体实施方式

图1示出了根据现有技术的用于数据传输的设备100,所述设备例如在飞机上使用。可以看到第一计算机单元101和与其分离的计算机单元102,在这两个计算机单元之间要传输数据。为了确保数据传输的完整性,现有技术是提供具有相同含义的信号或数据在物理上的分开传输。这样确保不会发生相同的篡改并由此产生误解。因此,在接收计算机单元102中可以通过冗余发送的信息内容的偏差识别所出现的错误。

在发送计算机单元101中设置第一模块121和第二模块122,以便创建彼此冗余地起作用的信息。在此,第一计算机单元101的每个模块121、122通过自身的物理数据传输连接141、142连接到第二计算机单元102的相关模块131、132。在这种情况下,第一计算机单元101的第一模块121与第二计算机单元102的第一模块131之间的逻辑连接151以及第一计算机单元101的第二模块122与第二计算机单元102的第二模块132之间的逻辑连接152通过物理上彼此分离的连接141、142来进行。在此,逻辑连接151、152在任何时候都没有共享共同的物理传输平台。

为了临时分配单独的冗余系统的传输数据,可以分别为它们提供计数值(也叫时间戳)。这也可以在应用程序级别发生或者也可以在协议级别发生。即使在具有多个接收器的布置中,也可以以此来支持确定性响应特性。

根据图1的系统所示的实施方式的缺点在于,硬件和软件方面的花费过大,特别是存在重复布线,这需要增加电缆的重量,额外的复杂布线和大量的插塞式连接器。

图2示出了根据本发明的用于传输数据的设备200的示意性结构,所述设备在保持待传输信号的所需的完整性的情况下,减轻了电缆重量和所需的插塞式连接的数量。

在此,第一计算机单元201和第二计算机单元202的结构类似于图1的结构。因此,第一计算机单元201具有第一模块221和第二模块222。第二计算机单元202也具有第一模块231和第二模块232。

与现有技术不同,在第一计算机单元201的第一模块221和第一计算机单元201的第二模块222之间存在数据传输连接。在第二计算机单元202的第一模块231和第二计算机单元202的第二模块232之间也设置了数据传输连接。此外,这两个计算机单元201、202通过仅一个单独的物理数据传输连接241彼此连接。它从第一计算机单元201的第一模块221延伸到第二计算机单元231的第一模块231。

因此,在第二模块222、232之间建立的逻辑连接261经由第一模块221、231延伸,并且与第一模块221、231之间的逻辑连接251共享共同的物理数据传输连接241。尽管未在图2中示出,但理所当然有可能在这两个计算机单元201、202或各个模块之间进行双向通信,代替单向通信。

尽管有共同的物理传输连接,但现在为了确保数据的完整性,从现有技术中提供的crc方法是不够的。因此,优选在应用程序级别插入的另一crc可以用如下方式提高错误检测的可能性,使得也可以实现对功能的安全性提出的非常高的功能要求。在此,有利的是,将计数值包括在crc计算中。由此,在时间上恒定的日期会导致定义上有偏差的crc。

接收器对时间上依次到达的数据进行多次crc校验确保存在多次较高地检测到错误。意外导致正确的crc的静态错误很有可能在下一个日期时通过新的、因计数值更改而有偏差的crc计算检测到。因此,在第三个值时效果会提高。

下面借助图3来阐述图2中所示的设备200的功能。这样一来,在第一计算机单元201的第二模块222中出现的信息和在无错误操作中-等效于在第一计算机单元201的第一模块221中出现的信息被转换为二进制数据序列并汇总为数据包302。因此,用户数据位于此数据包302中,所以也可称之为用户数据包302。

由于模块222中信息的不断或连续累积,有几个数据包302的时间序列,使得可以用计数值303来标识它们。在时间上连续的数据包302在此设置有计数值303,所述计数值分别相差一个增量。所述计数值303作为二进制序列在数据包302之前(未示出)或附加在其上。

在这种情况下,接下来,对数据包302和计数值303的共同比特序列进行crc算法处理,并且将共同比特序列除以生成多项式时产生的余数在crc比特序列304中放在共同比特序列之前(未示出)或附加在其上。这里要添加的crc比特序列304的长度在此对应于生成多项式的阶数。因此,此处添加的crc比特序列304不仅基于(有用的)数据包302,而且还基于计数值303。

在第一计算机单元201的第二模块222相应地处理了数据包302之后,以这种方式扩展的数据包302、303、304通过模块221、222之间存在的数据传输连接传递到第一模块221。

然后,在第一计算机单元201的第一模块221中,为来源于那里的(有用的)数据包301提供计数值305,以便也能够在这里理解从第一模块出来的数据包301的顺序。当然,所述计数值可以放置在第一模块221的数据包301之前或附加在其上。

通过附加或前置数据包,扩展了计数值305的第一模块221的数据包301与第二模块222的扩展数据包302、303、304组合在一起。然后,将如此获得的组合数据包301、305、302、303、304从第一计算机单元201的第一模块221经由数据传输连接241发送至第二计算机单元202的第一模块231,在此对其进行接收和划分。

在这种情况下,扩展了计数值305的第一计算机单元201的第一模块221的(有用)数据包301与组合数据包301、305、302、303、304分离,并在第二计算机单元202的第一模块231中进行处理。

另一部分,即扩展了计数值303和crc码304的第一计算机单元201的第二模块231的(有用)数据包302继而从第二计算机单元202的第一模块231传输到其第二模块232且通过第二计算机单元231的这两个模块231,232之间的数据传输连接传递到第二模块232。

然后,在那里执行crc校验,以检测出所发生的传输错误。特别是在时间上紧随其后的校验时,由于变化的计数值或时间上不同的且因计数值更改而有偏差的crc计算导致检测出静态错误的可能性更大。这样一来,根据一种可能性,例如,用于crc计算的生成多项式可以根据计数值而变化。

通过从先前接收的数据块获悉计数器读数,现在接收的数据块的计数值必须恰好相差一个增量。如果不是这种情况,则存在没有被crc检测出来的传输错误,因此可以采取相应的措施。

在这种情况下,不同的计算机单元的模块在其结构组织上可以相同,但是在提高的故障概率方面也可以彼此不同。

因此,例如,计算机单元201、202的模块可以由微控制器或fpga来实现。还可以这样设置,即计算机单元201、202的两个模块是不同的,也就是说,第一模块例如是微控制器,第二模块是fpga,反之亦然。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1