为组合数据帧提供联合纠错码的方法和设备和传感器系统与流程

文档序号:20487170发布日期:2020-04-21 21:45阅读:238来源:国知局
为组合数据帧提供联合纠错码的方法和设备和传感器系统与流程

本申请是申请日为2016年2月3日、申请号为201610250066.5以及发明名称为“为组合数据帧提供联合纠错码的方法和设备和传感器系统”的发明专利申请的分案申请。

相关申请

本申请是2016年01月21日提交的美国专利申请no.15/002,587的部分继续申请,其要求2015年02月03日提交的美国临时申请no.62/111,557的优先权,其内容通过引用整体并入本文。本申请根据35u.s.c.§119要求2015年08月14日提交的德国专利申请no.102015113480.2的优先权,其内容通过引用整体并入本文。

实施例涉及用于为组合数据帧提供联合纠错码的方法和对应的设备以及利用该方法以传送从两个数据信道发出的数据的传感器系统,所述组合数据帧包括第一数据信道的第一数据和第二数据信道的第二数据。



背景技术:

为了在组合数据帧内联合传输,组合源于第一数据信道和第二数据信道的数据到组合数据帧中是普通的使用情况。例如当收集了两个不同环境传感器的数据时,经常要求借助于单个通信信道传送传感器两者的数据。为了确定当在通信信道(其可以是有线或无线的通信链路)上传送时数据是否已被破坏,可利用纠错码,其增加一些冗余信息到数据。增加的冗余允许确定数据当被发送时是不是正被破坏。差错检测能力(即,仍然能够发现数据的破坏的程度(例如,在当被传送时被翻转的位的数目方面))依赖于确定冗余信息所使用的特别纠错码。

一个特别的使用情况是汽车应用,其中功能安全是越来越重要的问题。为了保证传感器系统的功能安全,经常传送用于相同物理量的独立的传感器信号,以便能够在接收侧例如在电子控制单元(ecu)处比较传感器信号。可要求传感器数据的独立性以便允许适当的控制机制,以及可通过使用以下来实现传感器数据的独立性:不同的传感器技术、不同的传感器位置、不同的数据率、不同的采样相位、不同的传感器偏置和读出的电设置、不同的测量范围、不同的编码、不同的信号处理、或者前面列出的措施的组合。然而对于每一个独立数据源使用独立的通信接口导致更多的努力、更多的传感器封装引脚以及在车辆内实现冗余布线的必要性。为了避免冗余布线的成本和重量敏感问题以及为了维持与现有的解决方案和布线方案的兼容性,可在组合数据帧和公共通信接口中联合传送第一传感器的第一数据和第二传感器的第二数据。在要求数据的联合传输的其它应用中,从第一传感器发出的第一数据可特征化为来自第一数据信道的第一数据以及第二传感器的第二数据可特征化为第二信道的第二数据。

一个任务是将第一数据信道的第一数据和第二数据信道的第二数据组合在组合数据帧中用于传输,另外提供联合纠错码以允许在通过公共数据信道传送时至少确定数据是否被破坏。特别是,在功能安全应用中,最终不仅仅应该覆盖传输信道,而且应该覆盖将数据组合到公共帧中并生成纠错码的计算实体或硬件。一个前进方式将是在数据信道中的每一个内使用独立差错码生成器,从而提供两个不同的纠错码并且利用对于第一数据的第一纠错码和对于第二数据的第二纠错码组装组合帧。然而,这可能以包括用于纠错码的过量数据的数据帧结束,而没有任何附加好处。可替换地,人们可提供组合数据帧,该组合数据帧具有在通过附加的、随后的差错码生成器来处理该组合数据帧前在组合数据帧中多路复用的第一和第二数据。然而,在没有在联合纠错码生成器和帧组装(assembly)上的控制的情况下,将失去诊断数据在由联合使用的处理块处理时是否已被修改的能力,所述处理块包括差错码生成器。可通过在两个数据信道之间的整个第一数据和第二数据的交换来实现控制,使得数据信道中的每一个(具有它自己的差错码生成器)拥有第一数据以及第二数据的全部信息。纠错码生成器可然后针对全部数据个别地处理纠错码,其可然后被比较以便推断出硬件失效是否发生在纠错码的生成中。然而,该实现在附加要求的硬件/软件以及附加处理时间方面是昂贵的。

这好像是改进用于组合数据帧的纠错码的生成的效率和可靠性的期望,所述组合数据帧具有第一数据信道的数据以及第二数据信道的数据。



技术实现要素:

根据一些实施例,用于为组合数据帧(所述组合数据帧包括第一数据信道的第一数据和第二数据信道的第二数据)提供联合纠错码的方法基于线性码而利用该第一数据提供关于第一纠错码的信息。该方法进一步基于该线性码而利用该第二数据和关于该第一纠错码的信息两者提供关于第二纠错码的信息。为了提供关于第二纠错码的信息而利用关于该第一纠错码的信息以及该第二数据导致用于第一和第二数据的差错码生成过程的相互依赖。因此,人们可利用联合纠错码发现在第一差错码生成和第二差错码生成期间的失效,而不被要求来针对两个数据传送分开的纠错码。

根据一些实施例,用于为组合数据帧(所述组合数据帧包括第一数据信道的第一数据和第二数据信道的第二数据)提供联合纠错码的设备包括第一差错码生成器以及第二差错码生成器。该第一差错码生成器被配置成基于线性码而利用该第一数据提供关于第一纠错码的信息,以及该第二差错码生成器被配置成基于该线性码而利用该第二数据提供关于第二纠错码的信息。该设备被配置成利用关于该第一纠错码的信息和关于该第二纠错码的信息提供该联合纠错码。在使用两个差错码生成器并利用关于该第一纠错码的信息和关于第二纠错码的信息创建联合纠错码中,生成了关于第一和第二差错码生成器的联合纠错码的依赖性。因而,可增大诊断覆盖范围,因为与在第一数据和第二数据的组合上仅仅利用第一码生成器或第二码生成器中的一个的方法相比较,可发现第一差错码生成器以及第二差错码生成器是不操作的,其会导致至少一个差错生成器的失灵不可被发现。同时,被用于传送联合纠错码的数据量可保持在中等水平处,例如等同于第一数据信道和第二数据信道的单个数据信道的分开传输所要求的数据量。

根据一些实施例,传感器系统包括提供第一数据的第一传感器、提供第二数据的第二传感器以及用于为组合数据帧提供联合纠错码的设备。这样的传感器系统可以能够在安全模式中传送第一传感器的第一数据以及第二传感器的第二数据,所述安全模式允许通过各个差错码生成器来检测数据在它的传输期间以及在处理期间的破坏。这可允许提供传感器系统,其是功能安全的且具有允许在一直到组合数据帧的接收器的整个处理链内检测不规则的诊断覆盖范围。例如,如果两个传感器被配置成提供指示相同物理量的数据,可提供传感器系统,其允许在接收器侧可靠地确定所感测的物理量。物理量本身被冗余地感测,并且一直到接收器的处理和通信信道被适当地保护以使接收器能够意识到在处理和通信信道内的任何不规则。

附图说明

下面将仅仅作为示例并参考附图描述设备和/或方法的一些实施例,在所述附图中:

图1示意性示出了用于为组合数据帧提供联合纠错码的设备的实施例,所述组合数据帧包括第一数据信道的第一数据和第二数据信道的第二数据;

图2示出了用于使用对于第一数据信道的数据的第一纠错码和对于第二数据信道的数据的第二纠错码来提供联合纠错码的设备的进一步的实施例;

图3示出了如由用于提供联合纠错码的设备或方法的示例所生成的组合数据帧的两个示例;

图4示出了用于提供联合纠错码的设备的进一步的示例,其使用替换方式生成组合数据帧;

图5示出了根据图4中所示的实施例所生成的组合数据帧的示例;

图6示出了用于提供联合纠错码的设备的进一步的示例,其使用不同处理核心;

图7示出了用于提供联合纠错码的设备的进一步的示例,其进一步包括似真性检查、联合纠错码是否被正当地生成;

图8示出了用于生成联合纠错码的设备的进一步的示例,其使用循环冗余码;

图9示出了循环冗余码生成器的实现;

图10示出了在联合纠错码可由图8中所示的实施例实现时用于为组合数据帧提供联合纠错码的方法的流程图;以及

图11示出了用于为组合数据帧提供联合纠错码的方法的实施例的流程图。

具体实施方式

尽管进一步的实施例可以能够各种修改和替换形式,但是作为在附图中的示例示出且随后将更详细地描述它们的一些示例实施例。然而应当理解的是,没有意图将示例实施例限制到所公开的特定形式。相反,示例实施例将覆盖落入本公开范围内的所有的修改、等同物以及替换物。在附图及其描述中,类似的附图标记指代类似的或相似的元件。此外,线、层和/或区域的厚度可为了清晰而被放大。

将理解的是当元件被称为“连接”或“耦合”到另一个元件时,可呈现它可以直接连接或耦合到其它元件或介于中间的元件。相反,当元件被称为“直接连接”或“直接耦合”到另一元件时,不存在介于中间的元件。被用于描述元件之间的关系的其它词语应该被以类似方式解释(例如,“之间”相对于“直接之间”,“相邻”相对于“直接相邻”等)。

本文使用的术语仅仅用于描述特别示例实施例的目的,并不意在针对进一步的示例实施例是限制性的。如本文所使用的,单数形式“一”、“一个”和“该”意在也包括复数形式,除非在上下文另有清楚指示。将进一步理解的是术语“包含”、“正包含”、“包括”和/或“正包括”在本文中使用时指定所陈述的特征、整体、步骤、操作、元件和/或组件的存在,但是并不排除一个或多个其它特征、整体、步骤、操作、元件、组件和/或它们的组合的存在或附加。

除非另有限定,本文所用的所有的术语(包括技术和科学术语)具有与示例实施例所属的领域中普通技术人员通常理解的相同的含义。将进一步理解的是术语,例如限定在通常使用的字典中的那些,应该被解释为具有与它们在相关领域的上下文中的含义一致的含义,除非本文中另有确切限定。

图1示意性地示出了用于为组合数据帧提供联合纠错码的设备的实施例,所述组合数据帧包括第一数据信道的第一数据和第二数据信道的第二数据。由设备提供的联合纠错码保护或覆盖发出于第一数据信道的第一数据以及发出于第二数据信道的第二数据。即,可借助于由图1的设备生成的联合纠错码在组合数据帧内发现在通过公共数据信道传输期间的第一数据或第二数据中的任何一个的破坏。一般地,纠错码是从要保护的数据即第一数据和第二数据中生成的冗余信息。例如当所生成的联合纠错码与第一数据和第二数据组合成组合数据帧时,可在接收侧发现在数据传输期间的数据的破坏,如单个或多个位翻转。这可以被实现,因为所接收的联合纠错码是与所接收的数据相比较的,对于所接收的数据,联合纠错码在发送器侧已经被生成。如果在传输期间数据或联合纠错码已被改变,则两者在接收器侧的比较提供了不一致,从而允许推断出数据或联合纠错码已被改变。

本公开的实施例允许高效的实现用于为第一数据信道的第一数据和第二数据信道的第二数据提供联合纠错码,附加地提供与数据信道相关联的组件内的可能的硬件故障的覆盖范围。

为了该目的,用于提供联合纠错码140的设备100包括第一差错码生成器110,其被配置成基于线性码,利用第一数据112提供关于第一纠错码114a或114b的信息。第二差错码生成器120被配置成基于线性码,利用第二数据122提供关于第二纠错码124的信息。设备100被配置成利用关于第一纠错码114a或114b的信息和关于第二纠错码124的信息提供联合纠错码140。

根据图1的实施例,第一数据信道的第一数据112和第二数据信道的第二数据122由独立的差错码生成器110和120,即由独立的硬件实体处理。然而,由独立的差错码生成器110和120生成的信息被组合和相互关连,因为利用由第一差错码生成器110和第二差错码生成器120生成的两个结果创建所得到的联合纠错码140。例如,相比较于仅仅使用第一差错码生成器110和第二差错码生成器120中的一个一起处理两个数据的实现,这可增加诊断覆盖范围以覆盖第一差错码生成器110或者第二差错码生成器120中的任意一个差错码生成器的可能的故障。

在使用差错码生成器110和120两者时,在差错生成器中的每一个中的故障可被诊断出,当第一和第二数据信道的数据将在应用中被联合传送时,这可能是特别令人感兴趣的,其中每一个数据信道已经包括展现纠错能力和相关联的纠错器的处理链。在此情况下,可靠地诊断处理链中的每一个内的软件和硬件失效或者简单丢弃传感器的数据并将会使用它的系统带到安全状态中可能是重要的。因为处理链中的每一个的差错码生成器内的失效可指示在相关联的处理链内的另外的失效,所以能够对差错码生成器110和120中的每一个内的失灵(也作为相关联的处理链内的另外的组件可能是不正常工作的指示器)敏感可能是重要的。在此情况下,相关联的处理链的数据可能不被信赖。

在要求它们的组件的功能安全的系统中,诸如例如在符合汽车安全完整性等级标准(asil,iso26262)的系统中,特别是对于目前要求最高的标准类别,asil-d,这可能是特别重要的。在那些应用中,意识到任何可能的硬或软件失效以便使随后的装置能够进入功能安全状态可以是重要的,其中它们不再必须依赖于来自于数据信道的信息。一个特别的示例可以是汽车应用,其中电子控制单元(ecu)或其它电路依赖于传感器数据以便辅助驾驶员。一个特别示例可以例如是力或应变传感器,其感测转向扭矩并且被用于计算由动力转向系统提供的动力。另一个示例可以是感测用于确定车轮的转速的磁场的传感器,所述车轮的转速是对于控制车辆稳定性的ecu或防抱死制动系统的极为重要的输入量之一。在那两个示例中,优选的是,进入不依赖于可能破坏的传感器输入的功能安全状态以避免计算错误,所述计算错误可能导致由于例如阻挡车轮或动力转向系统不正常工作而引起的对车辆驾驶员的可能伤害。

针对第一数据和第二数据两者使用线性码确定关于联合纠错码的信息由于线性码的固有性质而使得能够实现第一差错码生成器和第二差错码生成器的信息的组合。所得到的联合纠错码对于在组合帧内的第一数据和第二数据两者是有效的。即,不管两个不同的差错码生成器对联合纠错码的生成有贡献的事实,所得到的联合纠错码等于利用作为输入以生成线性码的组合帧所生成的纠错码。这由于线性码c到数据x,y和z的应用遵循由c(x⊕y⊕z)=c(x)⊕c(y)⊕c(z)(其中操作符⊕指示异或(x-or)组合)表示的线性标准的事实而被使得能够实现。即,对于第一数据x和第二数据y的异或组合的码的生成等于对于第一数据x的码和对于第二数据y的码的异或组合。可选择所用的线性码以适应人们的需要,特别是相对于对于特别实现所要求的冗余数目,即,对于特别要求可慎重选择由联合纠错码所消耗的数据长度或数量。例如,对于承载组合数据帧的随后的通信链路,其已知对失真敏感,可选择增加的长度的联合纠错码。同样,如果检测在第一通信信道或第二通信信道内的硬件或软件失灵是主要焦点,则长度或联合纠错码可能被选择得较低。

例如如果一般与第一和第二数据信道相关联的差错码生成器提供了给定长度(位的数目)n的纠错码,则用于提供联合纠错码的设备可被配置成组合关于分开地由两个差错码生成器确定的纠错码的信息,以得到也具有n的长度的联合纠错码。相较于纯粹的多路复用方法,这可减少组合数据帧内的数据量以通过随后的通信信道传送。在多路复用方法中,在第一数据、第一纠错码、第二数据以及第二纠错码被多路复用到组合数据帧中之前,分开地由第一差错码生成器110生成对于第一数据的第一纠错码以及由第二差错码生成器120生成对于第二数据122的第二差错码。特别是,相较于该方法,可节省与由第一差错码生成器110和第二差错码生成器120中的一个生成的单个纠错码相关联的位的数目和数据量,从而增加数据传输效率。

另一方面,如果要求联合纠错码更强壮,设备可被设计成提供具有最初由第一通信信道和第二通信信道中的任意一个提供的纠错码的两倍长度的联合纠错码。由于较长的纠错码能够检测较大数目的故障情况,例如在具有第一数据和第二数据的组合数据帧内较大数目的位翻转,这增加安全性或覆盖范围。特别是,相较于先前描述的多路复用方法,要传送的位的数目将是相等的,同时极大增加了可检测出的失效数。换句话说,为了传送相同的2n位的数据量,对于2n位的数据的具有2m位的纠错码的联合纠错码相比于表示或覆盖两次使用的长度n的数据的长度m的差错码能够覆盖更多的差错场景。

特别类型的线性码不限于线性码的类别当中。例如,可使用海明码、低密度奇偶校验码、里德-穆勒码(reed-muller-code)、哈达玛码(hadamard-code)或循环码(crc)。

当前面的考虑对于所有的线性码是有效的时,用于提供联合纠错码的设备可被配置成依据所用的联合纠错码的类型,通过以多种方式组合关于第一纠错码的信息和关于第二纠错码的信息来提供联合纠错码140。码的线性允许在组合第一纠错码和第二纠错码以提供联合纠错码140之前,独立地确定对于包括第一数据的第一数据帧的第一纠错码和对于包括第二数据的第二数据帧的第二纠错码。该可能性借助于第一替换方式来指示以利用关于图1中的第一纠错码114a的信息,导致对于组合数据帧的联合纠错码140。遵循该方法的特别实现将随后相对于图2、4和6来描述。

然而,对于特别的码,还存在以下可能性:针对第一数据或第二数据之一不提供完整的纠错码,而是使用关于第一纠错码114b的其它信息代替,其可以是在第一数据或第二数据之一的纠错码的生成中的中间结果,以初始化第一数据或第二数据中的另一个的码生成器。例如,关于使用第一数据112由第一差错码生成器110所生成的第一纠错码114b的信息可被用于初始化或用作第二差错码生成器120的附加输入,如由关于图1中的第一纠错码114b的信息的第二替换使用所指示的那样。例如,当使用循环码时(其可在硬件中高效地实现),计算纠错码的中间结果可被用作关于第一纠错码114b的信息以初始化第二差错码生成器120。随后将相对于图7描述利用第一差错码生成器110的信息初始化第二差错码生成器120的一个特别的实施例。

在下面的附图中,主要描述在传感器系统内的应用中的用于为组合数据帧提供联合纠错码的方法和设备的实施例,所述组合数据帧包括第一数据信道的数据和第二数据信道的数据,所述传感器系统具有用于物理量的两个传感器,所述两个传感器生成第一数据和第二数据。即,第一传感器用作第一数据信道的第一数据的生成器或提供者,而第二传感器用作第二数据信道的第二数据的提供者。当然,进一步的实施例也可使用不同的生成器或者将被组合到组合数据帧中或针对组合数据帧借助于联合纠错码保护的数据的源。即,图2示出了传感器系统,包括:提供第一数据216的第一传感器电路,提供第二数据226的第二传感器电路,以及用于针对组合数据帧提供联合纠错码的设备200。

在图2所示的实施例中,组合由第一传感器210和第二传感器220生成的数据并且针对将通过单个通信信道传送的组合数据帧补充联合纠错码。作为对完整通信信道的补充,物理电平驱动器280在图2中示出,物理电平驱动器280被用于使将通过物理介质传送的组合数据帧变换为适当的物理信号。介质可以例如是有线线路或无线通信链路。

在图2所示的实施例中,分别借助于处理装置212和222进一步处理正指示所感测的物理量的数据。例如,处理可包括模拟传感器信号的模数转换和数字化信号的一些进一步的处理,诸如例如平均或应用由先前的传感器校准等等引起的纠正。为了该目的,传感器210和220以及它们的相关联的信号处理212和222每一个可被看作数据源或数据信道。换句话说,传感器210和相关联的信号处理212的组合形成第一数据信道214。同样,传感器220和它的相关联的信号处理222形成第二数据信道。两个数据信道的数据组合在至少一个组合数据帧中或在一系列数据帧中,联合纠错码将针对其导出。为了该目的,提供第一数据信道214的第一数据216给第一差错码生成器230,并且提供第二数据信道224的第二数据226给第二差错码生成器240。

在图2的实施例中,借助于第一差错码生成器230对包含第一数据的第一数据帧提供第一纠错码238,并且借助于第二差错码生成器240独立地对包含第二数据的第二数据帧提供第二纠错码248。不管它的独立生成,码的线性允许在第一纠错码238和第二纠错码248的生成之后组合它们以提供用于组合数据帧的联合纠错码,假如第一数据帧和第二数据帧被适当地生成的话。图3a和3b示出了关于如何可以借助于例如在差错码生成器230和240内的数据帧组装器(assembler)提供第一和第二数据帧以便允许在第一数据信道214和第二数据信道224两者内独立生成纠错码的两个示例。

因为利用类似的方法提供这两个数据帧,下面的讨论集中于图3a上,其示出了第一数据帧232和第二数据帧242的生成。为了提供数据帧,差错码生成器230和240均包含数据帧组装器,其被配置成分别提供第一数据帧232和第二数据帧242。第一数据帧包含第一数据216以及对应于第二数据226的第一伪数据234。同样,第二数据帧242包含第二数据226以及对应于第一数据216的第二伪数据244。第一和第二数据帧232和242具有相等的帧长度,其由第一数据和第二数据的长度和确定。例如,在第一和第二数据帧内的位的数目等于第一数据216和第二数据226的位的数目的和。

第一数据216在第一数据帧232内占据第一组位置。第二伪数据244占据在第二数据帧242内的相同位置。为了该目的,在第一数据帧232内的第一伪数据234对应于第二数据226,因为在第一数据帧232内的第一伪数据234分布到第一数据帧232内的与在第二数据帧242内由第二数据226所占据的恰好相同位置。换句话说,通过使第一数据216的数据位分布到在第一数据帧232内的第一组位置以及通过使作为第一伪数据216的预先确定的数据位分布到第一数据帧232内的剩余的第二组位置来提供第一数据帧232。同样,使第二数据226的数据位分布到第二数据帧242内的第二组位置,而用伪数据填充第二数据帧242内的剩余的第一组位置。对于伪数据的一个特别选择将是将设置伪数据的所有位等于二进制系统中的零。同样,伪数据可以被全部设置为单位,或者零和一的预先确定模式可被代替用作伪数据。此外,虽然图3a的示例示出了第一数据216和第二数据226的分布的特别选择之处在于它们均正形成连续的数据块,但进一步的实施例可分别在第一数据和第二数据的数据帧中的每一个内容易用完任意组的位置,而用伪数据填充其余的位置。在图3b中示出了利用第一数据216的不同组的位置,分裂第一数据216以形成3个独立的块216a、216b和216c的另一个示例,并且在随后的段落中的一个中对其进行详细阐述。此外,图3a所示的实施例示出了在其中第一数据216和第二数据226被提供有相等的长度的特别实现。然而进一步的实施例可组合具有不同长度的第一和第二数据,第一和第二数据的长度的比率是任意的。

如在图2中所示,借助于适当的算法或数据帧组装器执行在第一差错码生成器230和第二差错码生成器240内的数据帧组装。在图2所示的实施例中,附加数据可被可选地附加到如由第一和第二数据信道提供的数据。特别是,id码和定时器信息或消息计数器可被增加到第一数据帧和第二数据帧中的每一个,或者甚至在第一数据被细分成多个数据包的情况下被增加到第一数据和第二数据的每一个数据包。在图3b示出了这样的示例,其示出了第一数据216被细分成多个数据块216a、216b和216c,由数据标识符(数据id1)236以及对应的定时器信息236b(t1)补充。应该理解的是,该附加数据仅仅是一个特别示例,以及进一步的实施例可完全省略附加数据的应用,如在图3a中所示,或者将不同的数据附加到第一数据和第二数据。不考虑附加数据的附加,在第一差错码生成器230和第二差错码生成器240中的每一个内的数据帧生成器提供第一数据帧232和第二数据帧234,使得数据帧具有相等的长度,以及将通过通信信道传送的有效负载数据分布在第一数据帧内,使得在第二数据帧内的相同位置被填充有伪数据,并且反之亦然。

因为图2所示的特别示例的数据帧组装器的布局对于差错码生成器230和240中的每一个是相同的,因此只在图2中示出了数据帧组装器260的一个实例。数据帧组装器260包括数据接收单元262,其被配置成接收数据信道的数据。此外,数据帧组装器包括可选的id生成器264以及定时器信息生成器266,所述id生成器264被配置成将数据id236a附加到所接收的数据,所述定时器信息生成器266被配置成增加定时器信息236b到所接收的数据。数据帧组装器260被配置成根据先前描述的规则提供数据帧、处理可选增加的id生成器264和定时器信息生成器266的数据,类似来自从数据信道中的一个接收的数据的数据。在生成数据帧后,在差错码生成器230和240内的差错码确定器270被配置成利用线性码提供用于相关联的数据帧的纠错码。如在图3a中所示,第一差错码生成器230的第一差错码确定器为第一数据帧232生成第一纠错码238,以及第二差错码生成器240的第二差错码确定器为第二数据帧242生成第二纠错码248。

利用第一纠错码238和第二纠错码248,设备200的码组合器250被配置成组合第一纠错码238和第二纠错码248以提供联合纠错码252,所述联合纠错码252允许检测在组合数据帧254内的第一数据216或第二数据226的破坏。在图2的实施例中,由于线性码的固有性质,由第一差错码238和第二差错码248的异或组合确定联合纠错码252,从而导致联合纠错码同样地保护第一和第二数据。而且,组合数据帧254也由第一数据帧232和第二数据帧242的异或组合生成。特别是,由于伪数据位是零的选择,第一数据216的不变的数据位和第二数据226的数据位被包括在组合数据帧254内。然而,第一数据帧232和第二数据帧242的相似组合也是可能的,例如如果它们的伪数据被选择仅仅是一从而导致组合数据帧具有反转内容的话。

换句话说,图2示出了其中相对信道的数据字段用伪数据(例如,所有零)填充的实施例。冗余或纠错码通过线性码的生成来独立地增加在每一个信道中,所述线性码例如是循环冗余校验、海明码或低密度奇偶校验码(ldpc)。冗余的生成包括相对信道的伪数据。即,在信道中的每一个中或在差错码生成器中的每一个中生成作为完整的帧的消息,并且以通过逻辑(例如异或)组合来组合两个帧的方式在每个信道中独立地增加保护。如在图3b所示,每一个信道的数据可进一步分布到在组合数据帧内的多个包上,以及如果适当的和可适用的话,同样可以利用每一个信道的可选的标识符号码(id)、定时器或帧计数器数据来完成。此外,类似图3b中的有效负载数据,联合纠错码可分布在组合数据帧上以代替被附加到帧的末端,其例如对于普通的海明码是通常的。

图4和5所示的实施例基于与图2所示的实施例相同的原理,并且同此参考关于公共原理的解释的图2。然而,图4和5所示的实施例在组合数据帧254借助于码组合器250来生成或组装的方式中不同于图2的实施例。然而,用来为组合数据帧254提供纠错码252的第一纠错码238和第二纠错码248的组合是类似关于图2所讨论的组合的。除了在图2和3中所示的实施例中外,生成第一数据帧232和第二数据帧242仅仅用于生成第一纠错码238和第二纠错码248。类似在图2的实施例中,通过利用异或逻辑组合第一纠错码238和第二纠错码248来确定对于组合数据帧254的联合纠错码252,如图5所示。为了该目的,从第一数据216和第二数据226独立地提供第一纠错码238和第二纠错码248给码组合器250,所述第一数据216和第二数据226与到纠错码238和248并行地被转发到码组合器250。代替执行第一数据帧232和第二数据帧242的异或组合,图4的实施例的码组合器250用第一数据216填充组合数据帧254内的第一组位置,用第二数据226填充组合数据帧254内的第二组位置,以及使联合纠错码252的数据位分布到组合数据帧的剩余位置。正如以前已经提及的那样,第一数据、第二数据和联合纠错码数据驻留在组合数据帧254内的位置是任意的,并且仅为了图示简单而在图5中示出为每一个由单个数据类型占据的随后的块。

为了高效地实现图4的实施例,组合帧生成寄存器256可存在于码组合器250内,所述码组合器250被配置成仅仅在组合数据帧254内的第一组位置处接收第一数据,以及仅仅在组合数据帧254内的第二组位置处接收第二数据。第一差错码生成器230可这样仅仅能够访问寄存器内的预见为承载第一数据216的位置,以及同样,第二差错码生成器240可仅仅能够访问组合帧生成寄存器256内的预见为承载组合数据帧254中的第二数据226的位置。这可附加地用于避免在组合帧的生成中的失效,因为数据的分布不当是不可能的。

换句话说,在图4中所示的实施例中,每一个信道或差错码生成器直接将它的数据包写入到组合帧生成寄存器256中,其中它仅仅具有对帧内的相关位置的访问,以及伪数据仅仅用于子帧(即,第一数据帧和第二数据帧的)的内部块码计算。两个信道(例如,它们的差错码生成器)移交码或数据给码组合器250(协议生成器),以及在增加它到最终帧之前,码组合器执行两个纠错码(块码)的异或组合。该实现可避免在第一和第二纠错码的计算期间通过利用错误的伪数据来引入的故障并且通过在异或操作中再次利用它们来将它们转发到最终帧中。

如在图4中进一步所示的,第一差错码生成器230被实现在第一处理核心410中,而第二差错码生成器被实现在第二、不同的处理核心420中。当在不同的处理核心、cpu、硬件等等上执行两个差错码生成器时,对于第一数据和第二数据的差错保护码的独立生成以及如本文所公开的被传送的联合纠错码的随后生成可允许也覆盖各个核心中的每一个内的硬件失效。当在处理核心410或420的其中一个中出现硬件失效时,由例如ecu所接收的组合差错码将不表示所接收的组合差错帧,使得接收器侧能够检测到所接收的数据应该不被信赖。

可以不必要在分开的硬件实体内执行将第一数据帧和第二数据帧组合为组合数据帧以及将第一纠错码和第二纠错码组合,如由图2和4中码组合器250的图示所建议的那样。同样,一旦已经借助于纠错码独立地导出保护,就可在与数据信道中的一个相关联的计算实体内执行数据帧和联合纠错码的组合。在组合期间引入的任何故障将导致允许检测在最终的组合数据帧内的故障的组合数据帧和相关联的联合纠错码,其具有仅仅依赖于所用的码的长度的概率。

一旦已经彼此独立地提供纠错码238和240的生成,可在处理核心410或420的任意一个上执行第一纠错码238和第二纠错码248的组合,而没有诊断覆盖度或纠错能力的任何损失。仅仅作为示例,图6示出了其中在第二处理核心内实现码组合器250的实施例。

图7示出了基于同样的原理和类似于图4和6的实施例的进一步的实施例。类似于图6的实施例,设备被配置成在第二处理核心420上生成组合数据帧,即,在第二处理核心420内实现码组合器250。在生成组合数据帧后,组合数据帧被传递到第一处理核心410(另一信道)以检查在组装或生成组合数据帧期间它的数据是否还没有被修改。为了该目的,第一处理核心410可包括评估器412,其可例如利用由接收器或随后ecu所执行的相同的计算来检查组合数据帧254和它的相关联的差错码是否彼此对应。在利用所提交的组合数据帧的数据的随后的系统不能切换到安全的操作状态中情况下,这样的重新检查可改进故障覆盖范围以及也改进正确数据的可用性,即使已经检测到差错的消息或破坏的组合数据帧。

图8示出了利用循环码生成用于组合数据帧810的联合纠错码的示例,所述循环码是特别类型的线性码。循环码的特征在于生成器多项式,其在把要保护的数据作为被除数的多项式除法中变成除数。多项式除法的余数变成结果,即,由循环纠错码所产生的纠错码。由于它们的生成,循环码展现一些固有性质,允许高效的硬件实现。特别是,可通过利用异或门借助于一系列彼此串级或耦合的寄存器顺序处理输入数据流的位来创建循环冗余码(crc)或任何循环码。

利用循环码也允许特别高效实现用于提供联合纠错码的设备,如在图8和9所示。图9示出了借助于差错码确定电路生成具有三位的循环码(crc-3)。如已经提及的那样,可通过利用一组寄存器顺序处理数据帧的数据位来确定基于循环码的纠错码,如在图9中所示。当已经处理数据的最后位时,差错码确定电路的寄存器保持纠错码。图9示出了这样的硬件实现的示例,其具有用于顺序接收要处理的数据位的数据输入900以及一系列寄存器910a、910b和910c。寄存器或直接相连,或在其间可以存在异或门,这依赖于所用的特别的循环码。在图9的示例中,数据输入900被连接到第一异或门920a的第一输入,所述第一异或门920a使它的输出耦合到第一寄存器910a,并且使它的第二输入耦合到第三寄存器910c的输出。第一寄存器910a的输出耦合到第二异或门920b的输入,所述第二异或门920b使它的第二输入耦合到第三寄存器910c的输出。第二异或门920b的输出耦合到第二寄存器910b的输入,并且第二寄存器910b的输出耦合到第三寄存器910c的输入。在每一处理步骤之后,对应于迄今为止所处理的数据的纠错码或循环纠错码存在于三个寄存器910a至910c的输出处。图9中所示的差错码确定器进一步提供用借助于初始化输入930(种子值输入)提供的任意值预加载寄存器910a至910c的可能性。为了避免歧义,例如所谓的零问题,初始化值(种子值)有时被用于循环纠错码以便从根据寄存器的已知配置的计算开始。

当循环码在如本文所讨论的为组合数据帧提供联合纠错码的设备内被用作线性码时,可选择码生成的特别高效的方式,如在图8中所示。图8示出了作为所用的差错码生成器的循环码生成器830和840。类似借助于图2和3b所示的实施例,将被保护的数据可被细分成一系列数据包。在图8的特别图示中,第一数据信道216的数据被细分成一系列数据包216a至216c,并且第二数据信道的第二数据226也是如此。根据图8所示的实施例,第一数据包216a由第一差错码生成器830处理,其在处理第一数据包216的末端处具有表示存储在它的寄存器内的第一数据包的纠错码,即,在处理第一数据包216后,第一差错码生成器830保持关于基于第一数据216导出的第一纠错码的信息。在已经完全处理第一数据包216a的情况下,第一数据包被传递到组合数据帧810中,如在图8中所示。第二数据226的第一数据包226a被提供为组合数据帧810内的第二数据包,并且对联合纠错码的处理应该以如下方式进行处理:所得到的联合纠错码对于由第一数据216的第一数据包216a和第二数据226的第二数据包226形成的该一系列数据是有效的。

这通过利用存在于第一差错码生成器830内的关于第一纠错码的信息初始化第二差错码生成器840来实现。特别是,因为在循环码生成器内的处理是顺序的,所以利用第二差错码生成器840的初始化输入930,第一差错码生成器830的许多寄存器的内容被传递到第二差错码生成器840,并且被拷贝到第二差错码生成器840的对应的寄存器中。这样做时,第二差错码生成器240的状态是好像它之前已经处理了第一数据包216a,并且第二数据226的第一数据包226a的处理可进行进一步生成联合纠错码,在第一数据216的第一数据包216a和第二数据226的第一数据包226a被组装在组合数据帧810内时对于第一数据216的第一数据包216a和第二数据226的第一数据包226a两者是有效的。

当完成第二数据226的第一数据包226a时,处理可以类似的方式继续,并且第二差错码生成器840的寄存器的输入被传递到第一差错码生成器830,所述第一差错码生成器830继续进行第一数据216的第二数据包216b的处理。差错码生成器830和840的该交换和初始化继续进行直到数据被完全处理,其被假定是当第二数据226的第三数据包226c被处理时的情况。在这一刹那,第二差错码生成器840保持联合纠错码,其对组合数据帧810内的数据的全序列有效,使得可从第二差错码生成器840提取联合纠错码820并将其附加到组合数据帧810,如图8中所示。即,如果选择循环纠错码,实施例可通过以下来使用与不同数据信道相关联的两个差错码生成器830和840:通过利用处理第一数据的第一循环码生成器830提供关于第一纠错码的信息,而联合纠错码可然后通过利用关于第一纠错码的信息初始化第二循环码生成器840以及通过利用初始化的第二循环码生成器840处理第二数据来提供,从而导致纠错码对于第一数据和第二数据两者都有效。

如已经相对于在图2中所示的实施例详细说明的,也在循环码的情况下,并不强制第一数据和第二数据的数据包具有相同的宽度。相反,同样可类似处理不同长度的不同数据包,从而导致有效的联合纠错码。

换句话说,图8和9示出了数据被组装在公共数据帧810内,而在数据信道中的每一个中独立处理循环冗余码的实施例。可例如使用图9的特别的实现生成循环冗余码。在处理的最开始,可执行限定的初始化,即限定的crc种子值可被加载到正在递送数据的信道的差错码生成器(crc生成器)中,所述数据被首先传送在组合数据帧810内。在图8的实施例中,这被假定是第一数据信道。一旦完成第一数据包216a,crc或差错码生成器830的crc寄存器被读出并且传递到crc生成器840,在其中它们被写入至对应的寄存器作为新的种子或开始值。当由第二crc生成器840处理第二数据信道的第一数据块或数据包226a时,第一数据包226a被增加到组合数据帧810。通过在两个crc生成器830和840间交换crc中间结果继续处理,除非处理了所有的数据块以及最终的crc值在提供最后的数据块的信道的crc生成器的crc寄存器内是可用的。最终的crc完成帧并被增加到它的末端。

图10借助于流程图示出了图8的实施例内的处理。在第一可选初始化步骤1010中,第一差错码生成器830(差错码生成器对应于将在组合数据帧810内首先传送的数据)可以可选地被初始化有适当的种子值。然后,在数据查询步骤1020中,确定第一数据216是否可用于被处理。该查询直到存在要处理的第一数据216才在循环内被执行。如果情况就是这样,则利用第一循环码生成器830在纠错码生成步骤1030中提供关于第一纠错码的信息。在该处理后,初始化值在初始化步骤1040中被移交给第二循环码生成器840。在第二数据查询步骤1120中,确定要处理的第二数据226是否是可用的。在第二纠错码生成步骤1130中使用第二循环码生成器840处理第二数据。在完成该数据(其在终止步骤1140中被检查)的情况下,联合纠错码被从第二差错码生成器840接收并且在结束步骤1150中被附着到组合数据帧810。在将由组合数据帧提交的数据尚未完成的情况下,在进一步初始化步骤1160中由关于存在于第二差错码生成器840的寄存器内的纠错码的信息初始化第一差错码生成器830,并且在循环内继续处理。

当使用线性纠错码而不是循环码的特定情况,由一些实施例执行的方法可更一般地如借助于在图11中的流程图所示的那样表征。用于为组合数据帧提供联合纠错码的方法在第一供应步骤1210中基于线性码利用第一数据216提供关于第一纠错码1215的信息,所述组合数据帧包括第一数据信道的第一数据和第二数据信道的第二数据。在第二供应步骤1220中,基于线性码利用第二数据226和关于第一纠错码1215的信息提供联合纠错码。类似前面所讨论的,关于纠错码的信息可例如是在为第一或第二数据生成纠错码期间获得的中间计算结果或者针对第一或第二数据确定的最终纠错码。

与先前详述的示例和附图中的一个或多个一起提及和描述的方面和特征也可与其它示例中的一个或多个组合以便代替其它示例的类似特征或以便附加地引入特征到其它示例。

示例实施例可进一步提供具有程序代码的计算机程序以用于当计算机程序在计算机或处理器上执行时执行以上方法中的一个。本领域技术人员将容易认识到各种上面描述的方法的步骤可由编程的计算机执行。在此处,一些示例实施例也意在覆盖程序存储装置,例如,数字数据存储介质,其是指令的机器或计算机可读的且编码机器可执行的或计算机可执行的程序,其中指令执行上面描述的方法的动作的一些或全部。程序存储设备可以是例如数字存储器、诸如磁盘和磁带的磁性存储介质、硬盘驱动器、或光学可读数字数据存储介质。进一步的示例实施例也意在覆盖编程来执行上面描述的方法的动作的计算机或编程来执行上面描述的方法的动作的(现场)可编程逻辑阵列((f)pla)或(现场)可编程门阵列((f)pga)。

本文所叙述的所有的示例主要明确地意在仅仅用于教育学目的以帮助读者理解本公开的原理和由一个或多个发明人贡献的概念以促进技术,而不被解释为对特别叙述的示例和条件的限制。此外,本文中叙述原理、方面和本公开的实施例及其特定示例的所有陈述意在包括其等同物。

用于执行特定功能的指示为“装置”的功能块将被理解为包含电路的功能块,所述电路被配置成分别执行特定功能。因此“用于某事的装置”也可被理解为“装置,被配置成或适用于某事”。因此,配置成执行特定功能的装置并不暗指这样的装置必须正在执行该功能(在给定的时刻)。此外,可通过使用专用硬件(诸如“处理器”、“控制器”等)以及能够执行与适当软件相关联的软件的硬件提供包括标记为“装置”的任何功能块的附图中所示的各个元件的功能。本文描述的如“装置”的任何实体可对应于或被实现为“一个或多个模块”、“一个或多个装置”、“一个或多个单元”等。当由处理器提供时,可由单个专用处理器、由单个共享处理器、或由其中一些可被共享的多个个体处理器提供功能。而且,明确使用术语“处理器”或“控制器”不应该被解释为排他地提及能够执行软件的硬件,以及可隐含地包括而不限于数字信号处理器(dsp)硬件、网络处理器、专用集成电路(asic)、现场可编程门阵列(fpga)、用于存储软件的只读存储器(rom)、随机访问存储器(ram)、以及非易失性存储设备。也可包括其它硬件(常规的或定制的)。

那些本领域技术人员应该理解的是,本文的任何块图表示体现本公开的原理的例证性电路的概念视图。同样,也应该理解的是任何流程图、流程图表、状态转换图、伪码等等表示各种处理,其可基本上被表示在计算机可读介质中,并且因此由计算机或处理器执行,无论这样的计算机或处理器是否被明确示出。在说明书中或在权利要求中公开的方法可通过以下设备实现,所述设备具有用于执行这些方法的各自动作中的每一个的装置。

将理解的是,在说明书或权利要求中公开的多个动作或功能的公开可不被理解为在特定的次序内。因此,多个动作或功能的公开将不将这些限制到特别的次序,除非为了技术的原因这些动作或功能不可交换。此外,在一些实施例中,单个动作可包括或可被分开成多个子动作。这些子动作可被包括且可以是该单个动作的公开的一部分,除非明确地排除。

此外,下面的权利要求由此并入到详细描述中,其中每一个权利要求可以独立自主为分开的实施例。虽然每一个权利要求可以独立自主为分开的实施例,但将注意的是——虽然权利要求中从属权利要求可提及与一个或多个其它权利要求的特定组合——其它实施例也可包括该从属要求与每一个其它从属权利要求或独立权利要求的主题的组合。这些组合在本文被提议,除非声明不想要特定组合。此外,也意在包括针对任何其它独立权利要求的权利要求特征,即使该权利要求不直接从属于该独立权利要求。

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