三路冗余循环数据的监测

文档序号:808239 发布日期:2021-03-26 浏览:39次 >En<

阅读说明:本技术 三路冗余循环数据的监测 (Monitoring of three-way redundancy cycle data ) 是由 S·费雷拉 J·林赛 于 2020-09-27 设计创作,主要内容包括:表决器电路和方法在每个载有循环数据的多个输入中确定表决输出。为了提供表决输出,通过以下方式计算统计平均值(例如,均值或中值):将多个输入分组成对,并且针对每一对,通过选择(a)该输入对之间的绝对差和(b)该输入对之间的绝对差的共轭中的最小值来生成最小角度差。表决输出是从最小角度差生成的统计平均值。监测器电路和方法通过如下方式评估多个输入中的有效性:逐对地比较输入对,针对每对生成最小角度差,并且将该差与阈值进行比较,并确认持续时间。监测器宣告与其配对的所有其他输入都与之不一致的输入是无效的。(Voter circuits and methods determine a voted output among a plurality of inputs each carrying cycle data. To provide a voting output, a statistical average (e.g., mean or median) is calculated by: the plurality of inputs are grouped into pairs, and for each pair, a minimum angle difference is generated by selecting a minimum of (a) an absolute difference between the input pairs and (b) a conjugate of the absolute difference between the input pairs. The voting output is the statistical average generated from the minimum angle difference. The monitor circuit and method evaluate validity in a plurality of inputs by: the input pairs are compared pair by pair, a minimum angular difference is generated for each pair, and the difference is compared to a threshold and the duration is confirmed. The monitor declares an input to which all other inputs paired with it are inconsistent invalid.)

三路冗余循环数据的监测

技术领域

本公开总体上涉及使用确定最佳值并检测错误数据源的方案来对冗余数据源进行表决和监测。更具体地,本公开涉及表决和监测,其中数据本质上是循环的(circular)-具有不连续的点,其中数据在最大值和最小值之间转换(wrap)。

背景技术

本节提供与本公开相关的不一定是现有技术的背景信息。

飞行器控制系统经常依赖于多个冗余数据源。需要对这些源进行完整性监测,并进行表决以提供单一综合数值,用于控制目的。典型的监测方案包括通过测量源之间的绝对差来确定误差。典型的表决方案包括平均或中间值选择。

通常在飞行器应用中发现的某些类型的数据本质上是循环的。循环数据是类似模拟时钟上的秒数或模拟罗盘上的方位的数据,其具有不连续点,当越过不连续点时,数值突然从最大值跳至最小值,反之亦然。在模拟时钟上,不连续性位于60秒和0秒之间的边界处;在模拟罗盘上,不连续性位于360度和0度之间的边界处。这些当然只是示例。还存在可能遇到循环数据的其他情况。例如,在典型的飞行器控制系统中,循环数据可用于表示倾斜角、航向、经度等。对于这种类型的数据,典型的表决和监测方案不能在不连续点周围工作。

存在可替换的数目系统,其可用于解决循环数据的不连续性质。例如,有时使用四元编号系统来消除循环数据的不连续性。然而,为了实现该优点,四元编号系统采用复数(i、j和k复分量)的扩展集合,并且要求改变代数规则(例如,使用四元数学的乘法2×3不会产生与乘法3×2相同的答案)。为了处理扩展的复分量和代数规则改变,需要更复杂的(和耗时的)计算机资源。即使不采用四元编号,传统的解决方案仍然需要大量使用需要大量计算资源的三角函数(sin、cos等)。在飞行器控制应用中,这种计算负荷,特别是使用多个冗余数据源,使传感器和控制系统不堪重负。因此,需要更好的解决方案。

发明内容

所公开的监测器电路和方法评估每个载有循环数据的多个输入中的有效性。处理器被编程为逐二地(two-by-two)比较所述多个输入,以通过如下方式建立每个输入的有效性:将所述多个输入分组成对,并且针对每对,通过选择以下中的最小值来生成最小角度差:(a)该对输入之间的绝对差,和(b)该对输入之间的绝对差的共轭。然后,所述处理器用预定阈值测试所生成的每个最小角度差,如果一对的最小角度差超过所述预定阈值,则宣告该对是不一致的。然后,所述处理器评估并宣告与其配对的所有其他输入都与之不一致的输入是无效的。

在一种应用中,所述监测器电路和方法可以用于预调节对表决器电路和方法的输入,使得被所述监测器电路发现无效的输入不被表决器电路用作输入。

附图说明

本文描述的附图仅用于说明所选择的实施例的目的,而不是所有可能的实施方式。因此,对附图的特定选择并不意图限制本公开的范围。

图1A和图1B是在理解所公开的表决和监测系统工作的背景时有用的循环数据示例;

图2是说明循环数据的三路表决器的框图;

图3是说明循环数据的三路表决器进行中间值选择的框图;

图4是说明循环数据的三路表决器产生角平均值的框图;

图5是循环数据的三路监测器的框图;

图6是循环数据的三路监测器执行滤波和比较的框图;

图7是循环数据的三路监测器执行确认定时和启用的框图;

图8是循环数据的三路监测器实施数据有效性-失配算法的框图;

图9是说明循环数据的三路表决器如何从三个源计算表决数据的流程图;

图10是说明循环数据的三路监测器如何操作的流程图。

具体实施方式

下面的详细描述本质上仅是示例性的,并不旨在限制本发明或本发明的应用和用途。此外,不旨在受到本发明的前面的背景技术或下面的详细描述中提出的任何理论的约束。

在处理冗余数据时,有两个重要的数据处理部件:监测器电路和表决器电路。监测器电路评估每个冗余数据源的完整性,表决器电路使用冗余源来提供单个综合(表决)值以用于控制目的。本文描述监测器电路和表决器电路两者的示例。

参照图1A和图1B,给出了循环数据的两个示例,以说明在实施监测方案或表决方案时遇到的一些困难。图1A描述了这样一种情况,其中分别在+170度和-170度处的两个数据点的平均值具有在这两个点之间的中间的物理平均值,如附图标记10所示,其对应于+180或-180度的角位置。然而,+170和-170的算术平均值是0(零),其位于圆圈的另一侧,在附图标记12处。这说明了对循环数据执行简单算术的一个问题。

+170和-170数据点之间的角误差(附图标记14)为20度。然而,在算术上,这两个点之间的绝对差产生大得多的角误差:

|+170–(-170)|=340。

显然,算术计算的340度误差比实际的20度角误差大得多。这说明了对循环数据执行简单算术的另一个问题。

图1B示出了第二示例,其中中间值的角度位置为+170度。然而,当三个值以递增顺序(-170、120、170)排序时,中间值是120度。同样,显然在170度和120度之间存在显著差异。

所说明的实施例被设计成处理三个冗余输入源,因此表决器电路和监测器电路被称为对三路(triplex)数据源或信号进行操作的三路电路。这里描述的技术可以扩展,以覆盖存在不同数量的冗余输入源的其他情况。因此,这里描述的三路实施例仅是可应用于需要监测和表决不同数量的冗余信号的其它情况的技术的示例。在典型的飞行器应用中,这里公开的算法可通过适当地编程飞行器机载飞行控制计算机来执行。当然,如果需要,可改为使用专用逻辑门或专用处理器。

在给出表决器电路和监测器电路的详细公开之前,将参照图9和图10给出相应的表决和监测方法的概述。

循环数据的三路表决器概述

参照图9,循环数据的三路表决器如下所述从三个源计算表决数据:

a)如果三个输入是有效的(在300),则在302通过以下算法选择

三个有效输入的中间值(中间数据):

-如304所示,计算每两个源之间的最小角增量(delta)。最小角增量被计算为两个源之间的绝对差与其共轭角度之间的最小值(即,到360度,使得最小角增量总是小于180度的角度)。注意,在计算最小角增量的过程中的其它地方适当地使用这种使用共轭角的技术,这将从附图和随后的描述中显而易见。

-给定圆周上的三个点,它们当中具有最大角增量的两个点是极值,而中间值是第三个点,如306所示。

-对于三个点间隔120度的未定义情况,选择输入之一,如308所示。

b)如果两个输入是有效的(在300),则在310如下计算两个有效输入的平均值:

-如果在312处两个源之间的绝对角度差小于或等于180度,如314所示,则计算常规平均值。

-如果在312处两个源之间的绝对角度差大于180度(如316所示),则通过将最大输入与两个源之间的最小角增量的一半相加来计算平均值。该结果被从+180度转换(wrapped)到-180度(即,从该结果中减去360度),如果其大于180度的话。

c)如果只有一个输入是有效的,则选择该有效输入,如318所示。

d)如果没有输入是有效的,则将输出设置为零,如320所示。

循环数据的三路监测器概述

参见图10,循环数据的三路监测器具有以下输入330:

-三个数据源

-三个数据源有效性

-比较启用输入,用于启用/禁用监测器

-复位输入,用于清除不再持续的锁存的故障

循环数据的三路监测器具有以下参数332,这些参数根据被监测的数据进行定义:

-比较阈值

-比较持续性

-需要将表决数据标记为有效的有效数据源的最小数量

-滤波时间,用于对源之间的差进行滤波并检测振荡故障。

循环数据的三路监测器逐二地比较数据334,以确定每个输入对之间的差。针对每个数据类型定义比较阈值和比较持续时间。

-两个输入之间的角度差336被定义为以下两个值之间的最小值:

-两个源之间的绝对差;

-两个源之间的绝对差的共轭(即,360度减去两个源之间的绝对差)。

该监测器包括通过对两个输入的差进行低通滤波338,然后将滤波后的差与阈值进行比较来检测振荡故障的能力。针对每个数据类型定义低通滤波截止频率。

该监测器确定与有效数据源的最小数目相对的表决数据的有效性340。将针对每个数据类型定义有效数据源的最小数目。

如果其采集是有效的,并且没有检测到与具有有效采集的剩余数据源的不匹配,如342所示,并且存在需要将表决状态标记为有效的有效数据源的最小数量,则监测器认为数据源有效。

循环数据的三路表决器

参照图2,说明了用于实现循环数据的三路表决器电路的逻辑电路。该逻辑电路可通过将处理器编程以执行所说明的逻辑步骤来实现。在这方面,图2以适于表达为MatlabSimulink模型的形式描述了逻辑,在这种情况下,可使用Matlab Simulink内的代码生成工具来生成可执行程序代码。应当理解,Matlab Simulink仅仅是基于模型的软件开发环境的一个示例。存在其他替代方案,如SCADE。这里描述的Matlab Simulink实施例仅是示例性的,并不意图作为本公开的限制范围。可替换地,该逻辑电路可以被实施为专用集成电路(ASIC)或者使用现场可编程门阵列(FPGA)来实现。

在一些实施例中,冗余(三路)数据可被提供为信号、输入或数据,其已由监测器电路或用于将冗余输入中的每一个标记为有效或无效的其他装置评估。作为示例,无效信号可能表示提供信号的传感器已经被关闭或发生故障,或者被指定携带信号的导线没有报告数据。在监测器电路或其它有效性检查电路提供数据有效/无效指示的情况下,该信息被提供给数据有效输入(三个三路信号中的每一个有一个),如40所示。如图所示,在42处将这些数据有效状态相加,并且将该和用作平均因子,然后由逻辑门46解析该平均因子,以确定是否三个输入都是有效的(B_3_Data_Valid),或者是否两个输入是有效的(B_2_Data_Valid)。在图2所示的示例中,仅一个输入有效的情况不被测试,因为仅具有单个输入有效不需要表决。

如48所示,三路循环数据分别由将数据限制在+180度和-180度之间的饱和函数来处理。这样做是为了确保所有循环值都相对于一个共同循环来表达,如图1A和图1B所示。在通过饱和函数处理数据值之后,对数据进行表决,以从冗余三路信号中确定由表决器电路选择的最能代表集体三路组的一个数据表决值。

如图2所示,通过如50所示计算三路输入的中间值,并且还如52所示计算三路输入子集的平均值,来执行表决。如图所示,当仅存在两个有效数据源时,开关B1和开关B2在100处提供两个有效数据源。在图3中详述了中间值选择,并且在图4中详述了角平均值计算,两者都在下面讨论。在这些图中,已经示出了某些开关;这些开关通常如下工作:当控制输入为TRUE时,使用顶部输入。当控制输入为FALSE时,使用底部输入。在图中,这些开关被绘制成处于假设控制输入为TRUE的状态。表决电路的输出在54处产生数据表决信号,该输出基于开关56-64被如何设置。如图所示,开关56(开关B3)触发以向数据表决输出提供由中间值选择块50选择的中间值和开关58(开关B4)的输出。开关基于逻辑门46的44-B3输出的状态在这两个设置之间切换。通过检查图2的电路,可以看出,其余的开关58-64中的每一个以类似的方式工作。当只有一个源有效时,开关60、62和64选择有效的剩余源。当没有有效源时,开关64将输出设置为零。下表概述了这些切换选择开关。当受控于信号为TRUE时,开关的输出如未切换输出列中所示。当受控于信号为FALSE时,开关的输出如切换输出列中所示。

开关标号 开关名称 未切换输出 受控于 切换输出
56 开关B3 中间值 B_3_Data_Valid 开关B4
58 开关B4 平均值 B_2_Data_Valid 开关B5
60 开关B5 Data_1 Data_1_Valid 开关B6
62 开关B6 Data_2 Data_2_Valid 开关B7
64 开关B7 Data_3 Data_3_Valid 0

现在参考图3,进一步描述中间值选择器电路50(图2)。选择器电路50对在66处(也在图2中示出)提供的输入数据进行操作。选择器电路通过计算相应的输入值对之间的差或增量来操作。如图所示,在68处,使用三对数据值来计算三个增量输出,即(Data_1、Data_2),(Data_1、Data_3)和(Data_2、Data_3),如70处所示。使用相同的算法对每对输入值进行计算或处理块,如在72以框图形式所示。该算法在74处减去两个输入值,在76处计算差的绝对值,然后在78处从360度减去所得绝对值,以获得共轭角度。然后在80处比较来自76的绝对值和在78处的共轭角,选择两者中的最小值。在68处在增量输出处报告该最小值。

接下来,在68a,进一步处理增量输出,以计算两个中间选择器值,在82处为[Select_3],在84处为[Select_2]。如图所示,使用86处的大于或等于比较,随后是88处的布尔AND门函数,来计算这些选择器值。这些中间选择器值控制开关90(开关B)和开关92(开关B1),以在94处产生中间值结果(电路50的输出(图2))。开关90和92在下表中概述。

开关标号 开关名称 未切换输出 受控于 切换输出
90 开关B Data_3 [Select_3] 开关B1
92 开关B1 Data_2 [Select_2] Data_1

现在参照图4,进一步描述平均值计算电路52(图2)。平均值计算电路52对在100(也在图2中示出)处提供的输入数据(Data_X和Data_Y)进行操作。平均计算电路通过如下方式生成平均值104(也在图2中示出):计算角平均值106和常规平均值108,然后基于输入数据之间的绝对差或增量是否大于180度来选择两个平均值中的一个。在图4的电路中,在两个平均值之间的这种选择是由开关110(开关B1)执行的,其中在112处测试的Data_X和Data_Y之间的绝对增量大于180度。

为了执行这些计算,计算电路处理两个输入值100(Data_X和Data_Y)以产生两个中间信号,在102处的最小增量值(Min_Delta_X_Y)和在103处的绝对增量值(Abs_Delta_X_Y)。在114处,使用功能基本上与图3的部件74-80相同的逻辑门和计算电路计算最小增量值102,并且使用逻辑门和运算电路计算绝对增量值,如图所示。从图4可以看出,在102a和103a处使用这些最小增量值和绝对增量值,以帮助在104处生成平均值。

具体地,从第一分量和第二分量导出该平均值,第一分量考虑102a处的最小增量值和103a处的绝对增量值,第二分量仅基于在100b处的Data_X和Data_Y输入值的常规平均值。通过如下方式计算第一分量:在120处选择Data_X值和Data_Y值中的最大值,然后在加法器124中将该最大值与在122处导出的最小增量值的一半相加。然后,由电路126处理所得到的计算,以解决循环数据问题。电路126通过使用开关128进行操作,如果在130处其值小于或等于180度,则直接选择加法器124的输出,或者如果加法器的输出值大于180度,则选择加法器的输出减去360度。

同时,在100b处的Data_X值和Data_Y值用于在108处通过对这两个值的和的一半的简单算术计算来计算常规平均值。

平均计算电路通过开关110进行操作,以在104处选择角平均值106作为平均值,除非绝对增量103a小于或等于180度,在这种情况下,在104处开关110选择常规算术平均值108作为平均值。因此,平均计算电路执行分段计算,其在两个输入值之间的绝对增量(绝对值)小于或等于180度的情况下使用常规算术平均值;否则计算使用两个输入值中较大的一个,增加两者之间的差或增量的一半,如有必要,可进行调整,减去360度,以确保结果值不超过一个完整的旋转周期。

循环数据的三路监测器

参照图5,说明了用于实现循环数据的三路监测器电路的逻辑电路。该逻辑电路可通过将处理器编程以执行所说明的逻辑步骤来实现。在这方面,图5以适于表达为MatlabSimulink模型的形式描述了逻辑,在这种情况下,可使用Matlab Simulink内的代码生成工具来生成可执行程序代码。如上所述,可以改为使用其他开发环境。可替换地,该逻辑电路可以被实现为专用集成电路(ASIC)或者使用现场可编程门阵列(FPGA)来实现。

如上面结合表决器电路所论述的,在某些情况下,可以先验地知道某一个或某些信号是无效的,因为,例如,提供信号的传感器已经被关闭或已经发生故障,或者被指定载有信号的导线没有报告数据。监测器电路可以利用该信息,从一开始就将无效信号情况处理为不是所有采集数据都有效的情况。然而,在所有采集的数据都存在并且看起来是有效的这种更可能的情况下,监测器电路使用该条件作为切换或选择值(在200处示出并且指定为Data_i_Acq_Valid)。该Data_i_Acq_Valid值或条件被用在下面描述的一些电路中。如本文中所使用的,垂直总线202代表在200处的总线的输出侧(标记为Data_i_Acq_Valid)载有在204处在总线的输入侧提供的所有信息的事实。在这种情况下,因为我们正在处理三路数据,所以有三个输入侧值传递到输出。在这种情况下,输入列出了三个数据值Data_1_Acq_Valid、Data_2_Acq_Valid和Data_3_Actq_valid中的每一个的有效性条件。

图5的监测器电路包括三个主要功能部件:滤波和比较部件206(在图6中更详细地示出)、确认时间和启用部件208(在图7中更详细地示出)以及数据有效性/失配算法210(在图8中更详细示出)。注意,Data_i_Acq_Valid总线条件用作到部件206的输入之一,如200a所示。三路数据值也被输入到部件206,如212所示。滤波和比较电路206的功能是确定三路数据输入212中哪些对不一致。确认时间和启用电路在被启用时评估数据不一致是否持续了预定时间,从而排除仅在短时间间隔内数据不一致的情况。在数据失配持续足够的时间的情况下,数据有效性/失配算法评估三路数据中的哪些是有效的以及哪些对数据失配负责。

参照图6,滤波和比较部件206首先处理三路输入(数据1、数据2、数据3)中的每一个,以确定在任意两个输入之间是否存在差或增量。使用与图3中的部件74-80在配置和功能上基本相同的处理部件214执行该功能。部件214对输入对进行比较:数据1与数据2、数据1与数据3以及数据2与数据3,如图所示。

通过滤波器216处理每个比较的结果,例如设计成避免监测器的令人讨厌的跳闸并允许监测器检测振荡故障的一阶低通滤波器。设置滤波器时间常数以屏蔽掉由于信号毛刺引起的瞬时差异。例如,由于由相关联的信号线拾取的或由相关联的电子电路产生的随机信号和噪声而可能出现这种毛刺。低通滤波器电路还用于检测振荡故障,另外振荡故障在足够高的频率是不可检测的,其中误比较持续比监测器持续时间短的持续时间。滤波器时间常数还确定了在给定的频率使监测器跳闸所需的振荡误比较的幅度。

接下来,在218处,经过低通滤波的信号分别与在220处作为恒定信号电平提供的预定阈值进行比较。该比较基本上决定了两个数据值是否一致。然而,这种比较仅在总线202(图5)上的信息先前未认为所比较的两个输入数据值无效的情况下才有意义。因此,提供AND门222,仅当根据总线204,两个数据值源是有效的,并且如在218确定的,两个数据值在值高于预定阈值220上不同,才宣告两个数据值是不一致的。

在图7中示出了确认时间和启用电路208。该电路用于确保任意两个值之间的不一致的判定是持久的。持续时间由块223建立。对于要被视为已建立的数据对失配,失配条件必须至少持续预定持续时间。该电路还用作响应于224处的启用信号的主启用/禁用电路(也在图5中示出)。持续时间块223的输出和启用信号通过AND门225耦合,以提供Data_Mismatch信号226。

现在参照图8,通过锁存电路250进一步处理Data_Mismatch信号226。如图所示,使用三个锁存电路250,一个锁存电路在260处产生指示数据1相对于数据2和数据3是失配的信号。另外两个锁存电路250分别在262和264处产生信号。信号262指示数据2失配;信号264指示数据3失配。这三个锁存电路250基本相同,因此这里仅详细描述一个锁存电路。

详细地,产生数据1失配信号260的锁存电路250包括被提供下述三个输入的OR门251。如果这些输入中的任何一个或多个呈现逻辑TRUE状态,则将TRUE状态提供给置位-复位触发器252的置位端S,触发器252在其输出Q保持TRUE状态,直到触发器252被复位端子R上的信号复位,如253所示。当置位信号和复位信号同时出现时,置位信号的作用优先。因此,触发器252可被视为执行与计算机存储器设备或计算机存储器电路等效的功能。

对OR门251的三个输入由三个AND门254、256和258提供,其如下处理数据失配信号226和Data_i_Acq_Valid信号201(图5)。

如果满足以下两个条件,则AND门254向OR门251提供逻辑TRUE状态:失配信号226呈现数据1-2失配条件和数据1-3失配条件。在图7中可以看到这些失配条件的来源。

如果满足数据1-3失配条件并且Data_1_Acq_Valid信号为NOT TRUE,则AND门256将逻辑TRUE状态提供给OR门251。通过提供逻辑反相器门257来解码NOT TRUE条件。

类似地,如果满足数据1-2失配条件并且Data_3_Acq_Valid信号为NOT TRUE,则AND门258将逻辑TRUE状态提供给OR门251。通过提供逻辑反相器门259来解码NOT TRUE条件。

锁存电路250还分别为三个输入48(图2)中的每一个提供数据有效输出信号270、272和274。如图所示,通过在276处将触发器252的输出Q反相并将该逻辑状态与AND门278中的相关输入的Data_1-Acq_Valid状态组合来生成数据有效输出信号。如在280及280a处所示,在282处将这些Data_Valid状态与其它两个锁存电路(250)的对应输出相加,并且在284处将其与最小数据有效约束286进行比较,如果三个Data_valid状态282之和大于或等于最小数据值约束286,则报告数据表决是有效的。

在一个实施例中,如上所述的表决器电路的多个输入由上述的监测器电路预先调节,以禁止无效输入被表决器电路考虑。

虽然在前述详细描述中已经呈现了至少一个示例性实施例,但是应当理解,存在大量变型。还应当理解,一个或多个示例性实施方式仅是示例,并不旨在以任何方式限制本发明的范围、适用性或配置。相反,上述详细描述将为本领域技术人员提供用于实现如本文所预期的示例性实施例的方便的路线图。应当理解,在不脱离如所附权利要求所阐述的本发明的范围的情况下,可以对示例性实施例中描述的元件的功能和布置进行各种改变。

21页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种多余度无人机飞机管理计算机输出信号表决方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!