CN107229238A - 用于嵌入式控制中的先进仲裁的架构和装置 - Google Patents
用于嵌入式控制中的先进仲裁的架构和装置 Download PDFInfo
- Publication number
- CN107229238A CN107229238A CN201710175419.4A CN201710175419A CN107229238A CN 107229238 A CN107229238 A CN 107229238A CN 201710175419 A CN201710175419 A CN 201710175419A CN 107229238 A CN107229238 A CN 107229238A
- Authority
- CN
- China
- Prior art keywords
- function
- path
- key functions
- msub
- paths
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/18—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
- G06F11/183—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components
- G06F11/184—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components where the redundant components implement processing functionality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/18—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
- G06F11/182—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits based on mutual exchange of the output between redundant processing components
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0421—Multiprocessor system
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25257—Microcontroller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/805—Real-time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/82—Solving problems relating to consistency
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Hardware Redundancy (AREA)
- Debugging And Monitoring (AREA)
Abstract
一种仲裁冗余控制***中的冲突输出的方法。记录冗余控制***中的每个控制器执行的任务的执行数据。执行数据包括每个执行流的初始时间戳、每个执行流中的关键函数的标识,以及关键函数使用的参数值。仅基于为每个执行流执行的关键函数来标识由每个控制器执行的路径。将每个执行的路径的记录的执行数据应用于仲裁模块。来自相应控制器中的一个的输出结果由仲裁模块基于每个执行的路径的记录的执行数据来进行选择。选择的控制器的输出结果通信到下一个模块用于进一步处理。
Description
背景技术
实施例涉及用于控制***的对象仲裁。
提供安全功能的***通常利用冗余控制器来确保在故障情况下可以维持这种功能的操作。在控制***中,数据被提供给控制器或类似装置,并且基于输入数据执行任务。多处理器或多核处理器通常为了冗余目的执行相同的函数,这可以有助于确定执行的函数的输出结果中是否存在故障。然而,当从执行相同函数的不同处理器或多核处理器输出了冲突的结果时,可以执行仲裁来确定应当利用哪些结果。对于利用奇数个处理器的控制***,与多数结果相关联的结果胜出。然而,如果使用偶数个处理器,则存在非一致性判定。没有鲁棒仲裁技术的***可能只使用指定主处理器的输出结果。然而问题是,输出结果的指定主处理器可能是故障控制器或核,该故障控制器或核由于利用了具有错误的结果而导致不正确的控制动作。另外,可能必须从各种冗余处理处获得和记录的信息量可能很大并且计算强度大。
发明内容
实施例的优点是,对由冗余控制***中的多个处理器或处理器中的多个核执行的函数的输出结果进行选择。本文描述的技术不仅确定了应当选择哪个输出结果用于进一步处理,而且通过仅记录由关键函数使用的关键函数和参数值来有效地减少利用的数据量。每个执行的任务由相应路径标识。当一个函数标识为在任务期间执行的关键函数时,标识该路径。还仅针对那些执行的关键函数记录参数值。此外,生成唯一地标识路径的位向量,其中每个位向量包括所有关键函数。只有在路径中执行了关键函数时,才在每个位向量中设置相应位。每个相应位进一步指向针对该关键函数记录的参数值。因此,本文描述的技术有效地存储和利用了最少量的信息,该信息需要用来标识路径并利用存储的数据做出明智的判定。另外,仲裁模块通过每个相应路径的每个关键函数利用记录的数据,并应用逻辑函数、或逻辑表、或它们的组合来确定应该利用哪些输出结果。
一个实施例设想了一种仲裁冗余控制***中的冲突输出的方法。记录冗余控制***中的每个控制器执行的任务的执行数据。执行数据包括每个执行流的初始时间戳、每个执行流中的关键函数的标识,以及关键函数使用的参数值。仅基于为每个执行流执行的关键函数来标识由每个控制器执行的路径。将每个执行的路径的记录的执行数据应用于仲裁模块。来自相应控制器中的一个的输出结果由仲裁模块基于每个执行的路径的记录的执行数据来进行选择。所选择的控制器的输出结果通信到下一个模块用于进一步处理。
附图说明
图1示出了示例性控制***的架构框图。
图2示出了用于记录每个任务的执行序列的数据结构和架构。
图3示出了执行相应函数并根据函数输出结果的两个处理器的第一示例。
图4示出了经由得到不同结果的不同路径执行相应函数的两个处理器的第一示例。
图5示出了仲裁模块利用的数据结构。
图6表示示例性路径以及它们相关联的路径标志向量。
图7示出了示例性表中的函数和相关联的参数值的示例性结构。
图8示出了从路径向量到相关联的表函数条目和相关联的参数值的映射。
图9示出了记录执行路径和值的过程的流程图。
图10示出了用于执行仲裁策略的仲裁模块的示例性结构。
具体实施方式
以下详细描述意在说明性地理解实施例的主题,并且不旨在限制本主题的实施例或这种实施例的应用和使用。词语“示例性”的任何使用旨在解释为“用作示例、实例或说明”。本文阐述的实施方式是示例性的并不意在解释为比其他实施方式更优或更有利。本文的描述不意在受存在于前述背景技术、详细描述或描述、简要概述或以下详细描述中的任何明示或暗示的理论的约束。
在本文中可以根据函数和/或逻辑块部件并且参考可以由各种计算部件或设备执行的操作、处理任务和函数的符号表示来描述技术和技艺。这种操作、任务和函数有时称为计算机执行、计算机化、软件实现或计算机实现。应当理解,附图中所示的各种块部件可以由配置为执行指定函数的任何数量的硬件、软件和/或固件部件来实现。例如,***或部件的实施例可以采用各种集成电路部件(例如,存储器元件、数字信号处理元件、逻辑元件、查找表等,其可以在一个或多个微处理器或其他控制设备的控制下执行各种函数)。
当在软件中实现时,本文描述的***的各种元件基本上是执行各种任务的代码段或计算机可执行指令。在某些实施例中,程序或代码段存储在有形的处理器可读介质中,其可以包括可以存储或传送信息的任何介质。非暂时性和处理器可读介质的示例包括电子电路、微控制器、专用集成电路(ASIC)、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软磁盘、CD-ROM、光盘、硬盘等。
本文描述的***和方法可以用于标识在控制***中执行软件函数的控制器中的故障。虽然下面关于在车辆应用中使用的控制器或处理器描述了方法和方法论,但是本领域普通技术人员会理解汽车应用仅仅是示例性的,并且本文公开的概念也可以应用于任何其他合适的通信***,诸如例如一般工业自动化应用、制造和组装应用以及游戏。
如本文描述的术语“车辆”可以广义地解释为不仅包括客车而且可以包括其他车辆,包括但不限于铁路***、飞机、越野运动车辆、机器人车辆、摩托车、卡车、运动多用途车辆(SUV)、娱乐车辆(RV)、船舶、航空器、农用车辆,以及建筑车辆。
图1中示出了示例性控制***的架构框图。这种控制***通常将利用两个或多个控制器,使得如果主控制器发生硬件错误,则可以容易地启用至少一个备用控制器来控制控制***的特征或者提供对发生错误的特征的有限功能的控制。如图1中所示,提供多个传感器用于通过一个或多个传感器12获得数据。传感器12感测设备、子***或***的状况状态。将直接从传感器12获得的感测数据输入到用于处理的控制器,或者如果利用了多于一个传感器并且如果使用多个传感器12来监测状态,则可以将这些数据进行融合。因此,融合模块14可以用于融合传感器结果,以将数据变为更好的形式来用于处理。
来自融合模块14或直接来自传感器12的数据输入到控制器16。控制器16可以包括多个处理器或多核处理器。如图1中所示,控制器16可以包括用于基于由多个传感器12或融合模块14提供的输入数据来执行函数的第一处理器18和第二处理器20。替代地,控制器可以包括利用第一核和第二核作为相反的单独处理器来执行控制的双核处理器。为了本文的一致性目的,将使用术语处理器;然而应当理解,术语处理器可以与处理器的核互换。来自第一处理器18和第二处理器20的输出输入到仲裁模块22,在该模块中结果将在彼此之间进行比较。如果结果相同,则可以利用任一结果。如果结果不同,则仲裁模块确定将利用哪些结果。
图2示出了用于记录每个任务的执行序列的数据结构和架构。例如,由各种处理器执行的任务可以利用不同的处理序列(以下称为路径)。在图2中,可以利用在每个节点处记录函数的不同的路径记录三条不同路径。第一路径24可以包括函数{a,b,d,g}。第二路径26可以包括{a,b,c,d,g}。第三路径28可以包括{a,e,f,g}。对于在路径中执行的每个函数,在函数的执行期间获得信息。获得的附加信息可以包括但不限于时间戳和函数的数据值,它们可以在下游由仲裁模块存储和利用。然而,为每条路径在每个节点处记录时间戳和函数的值将会使对记录的信息的处理变得低效并且计算量大。因此,在设计时标识关键函数。通过仅记录来自关键函数的信息,不仅减少了数据量,而且通过仅标识关键函数而不是记录所有函数的数据,可以容易地标识路径。
对于在所执行的路径中标识的每个关键函数,记录开始和执行路径时的时间戳,并且针对所执行的每个关键函数记录数据值。数据值可以包括一个或多个参数值。在图2中,函数(a,c,f,g)标识为关键元素。之前描述了三条可能的路径都是可行的。由于函数(a)是起始节点并且函数(g)是结束节点,所以这些相应函数中的每一个将是每条路径的一部分。因此,相应函数的存在或不存在可以确定采用了哪条路径。例如,如果函数(c)和函数(f)也标识为关键函数,则函数(c)或(f)的存在或都不存在将标识路径。因此,在仲裁模块分析时,可以利用表来记录用于所有关键函数的值,来确定哪些数据与哪条路径相关联。如果相应路径的表记录了关键函数(c)的值,则可以确定该路径是第二路径26{a,b,c,d,g}。如果相应路径的表记录了关键函数(f)的值,则可以确定该路径是第三路径28{a,e,f,g}。如果相应路径的表没有记录关键函数(c)和(f)的值,则确定该路径是第一路径24{a,b,d,g}。因此,可以基于是否记录了关键函数的值来确定每条路径。然后可以将值提供给仲裁模块,在该模块中使用稍后将详细讨论的查找表或判定逻辑来执行仲裁策略。
图3示出了执行相应函数并根据函数输出结果的两个处理器的第一示例。在图3中,执行相同的路径,并且将结果提供给仲裁模块22。如果结果相同,则仲裁模块可以利用任一结果,因为结果相同。如果结果是不同的,即使两个处理器利用了相同的路径,也要使用包括记录的参数值的各种特性来作出哪个处理器是正确的确定。
图4示出了经由得到不同结果的不同路径执行相应函数的两个处理器的第一示例。在该示例中,第一处理器执行路径{a,b,d,g},并且第二处理器执行路径{a,e,f,g}。根据仲裁逻辑,可以利用时间戳、执行的路径和利用的参数值中的至少一个来标识预定路径。仲裁模块24将接收相关联的路径的参数值,并且将利用时间戳、执行序列(即,路径)和参数值中的至少一个来确定哪条路径得到了正确的结果。仲裁模块22可以利用查找表或判定逻辑来标识要使用的结果。
图5示出了用于以可由仲裁模块使用并进行格式化以最小化需要保留和处理的数据量的方式记录执行的序列的数据结构。如图5中所示,捕获每个关键函数{a,c,f,g}作为向量中的位。每条路径将利用该向量,该向量不仅提供路径的执行序列而且还包括函数访问指示符。函数访问指示符是标识是否沿着相应路径访问相应函数的位(即,“1”或“0”)。如前所述,在多个函数中标识关键函数。在向量中每个关键函数和与其相关联的函数访问指示符一起描述。4位向量30的结构如图5中所示。利用图5的关键函数,每个函数都表示在4位向量30中。例如,Addr(a)由向量的第一位表示,Addr(c)由向量的第二位表示,Addr(f)由向量的第三位表示,并且Addr(g)由向量的第四位显示。每个相应地址将包括“0”位或“1”位。“0”位指示未访问相应节点并且函数未执行。“1”位指示访问了相应节点并且因此执行了函数。因此,一旦执行序列到达其目的地,每条路径的每个执行序列将通过指示是否访问了相应节点并且是否执行了函数而包括不标识路径的信息。因此,每条路径将由初始时间戳和路径标志指示符表示。初始时间戳表示路径的开始并且用于匹配用于仲裁的信号。路径标志向量设计为具有由位向量表示的每个关键函数,无论是在相同还是不同的执行路径上,在该向量中每个位指示对执行路径上的函数的访问。每个位在初始时间戳时是初始未设置的(即,“0”),并且当执行了其所表示的函数时设置每个位(即,“1”)。如果未执行函数,则其相关联的位保持未设置(即,“0”)。向量的函数的顺序与任何路径的执行序列的顺序一致。
图6表示示例性路径以及分别与它们相关联的路径标志向量。如图6中所示,关键函数包括{a,c,f,g}。按照顺序{a,c,f,g}利用每个4位向量。图6中的每个相应虚线表示不同的路径24、26、28。第一路径24由具有值{1,0,0,1}的向量标识。位值指示执行了函数(a),未执行函数(c),未执行函数(f),并且执行了函数(g)。由于既没有执行函数(c)也没有执行(f),则唯一可行的路径可以是与第一路径24相关的{a-b-d-g}。类似地,由具有值{1,0,1,1}的向量来标识由32表示的第二路径。位值指示执行了函数(a),未执行函数(c),执行了函数(f),并且执行了函数(g)。由于未执行函数(c)并且执行了函数(f),则唯一可行的路径可以是包括得到路径{a-e-f-g}的函数(f)的那条路径。另外,由具有值{1,1,0,1}的向量来标识由28表示的第三路径。位值指示执行了函数(a),执行了函数(c),未执行函数(f),并且执行了函数(g)。由于执行了函数(c)并且未执行函数(f),则唯一可行的路径可以是包括得到路径{a-b-c-d-g}的函数(c)的那条路径。因此,为了减少向量大小和收集的每个函数相关联的数据,不需要跟踪所有函数(例如,非关键函数)和记录该路径的所有函数的数据。相反地,仅跟踪关键函数并且仅记录关键函数的数据,因为执行的关键函数以及未执行的那些关键函数将揭示哪条是执行路径。
为了进一步增强通过仲裁模块标识正确结果的确定,跟踪和分析由执行的函数产生的参数的值。由两个不同处理器执行的不同路径或相同路径之间的不一致输出可能是因为使用了不同值,因为要根据每个函数使用的值得到计算路径的输出。这可以由各种因素引起,包括但不限于硬件故障和来自其他函数的更新。当使用全局变量时,这可能是特别有挑战性的。为了帮助确定正确的输出,生成表来记录在计算中使用的值。每个函数可以利用一个参数或多个参数值。因此,记录仅由执行序列中的关键函数使用的参数值。
图7示出了表中的函数和其相关联的参数值的示例性结构。在第一条目中示出了函数字段40。指针字段42指向记录的相应参数值的位置。参数值记录在参数值条目字段44中。如果相应函数利用了多于一个的参数值,则可以在该字段中输入多于一个的参数值。
图8示出了从路径向量到相关联的表函数条目和相关联的参数值的映射。示例性向量在50处大体示出。只有具有设置了的位值的那些相应关键函数在表52中记录了参数值。也就是说,仅为执行了的相应函数记录参数值。如果在位向量中关键函数是“0”,则相应函数未执行,并因此相应函数不是路径的执行序列的一部分。因此,未执行的关键函数将不具有参数值,也不会将未执行的关键函数列在表52中。应当理解,表中的顺序与向量中函数出现的顺序相同(没有任何未执行的关键函数)。
参考路径向量50,设置了表示函数(a)的路径向量50的第一位,并因此在表52中具有至少一个相关联的参数值。如表52中所示,函数(a)利用了参数值“8”和“21.2”。表示函数(c)的路径向量50的第二位未设置,并因此在表52中不具有相应条目或参数值。设置了表示函数(f)的路径向量50的第三位,并因此在表52中具有至少一个相关联的参数值。如表52中所示,函数(f)利用了参数值“22”。类似地,设置了表示函数(g)的路径向量50的第四位,并因此在表52中具有至少一个相关联的参数值。如表52中所示,函数(g)利用了参数值“0”。应当理解,不是路径向量中的每个位都必须在表中具有条目,并且不是记录每个参数值。也就是说,虽然在相应路径中利用和执行了非关键函数,但是只有执行的关键函数被仲裁模块记录,用于确定哪条路径提供正确的输出。
在为每条路径生成每个表之后,仲裁模块单独地或组合包括时间戳、利用的路径和参数值来比较各种因素。
图9示出了记录执行路径和值的过程的流程图。在步骤60中,初始化用于记录执行路径和每个函数的参数值的例程。在步骤61中,用向量的数据记录初始时间戳。该时间戳可以从融合的传感器数据继承。
在步骤62中,标识用于列表的不同路径的关键函数并且初始化用于存储。列表头用于指示列表的开始。
在步骤63中,将地址设置为当前函数地址。也就是说,将当前函数正在执行的节点的地址设置为当前地址。
在步骤64中,确定当前地址是否是当前列表的一部分。应该记住,所有函数无论关键或非关键,都在执行串中执行;然而,该例程仅记录关键函数的数据。如果当前地址是表示关键函数的当前列表的一部分,则例程进行到步骤65;否则例程进行到步骤66。
在步骤65中,该函数标识为关键函数,并且在该关键函数执行时针对该关键函数记录参数值。
在步骤66中,确定执行串是否完成。如果确定不需要执行附加函数,则例程进行到例程结束的步骤68。如果确定执行串未完成并且需要执行附加函数,则例程进行到步骤67。
在步骤67中,例程标识执行串中的下一个函数,并且例程返回到步骤63,以将该下一个函数设置为当前函数地址。
应当理解,可以在用于执行的调用树中多次调用函数,并且每次调用函数时将其视为不同的函数,因为将仅执行程序的一条路径,并且任何路径上执行的函数都这样顺序操作。在检查每个函数是关键还是非关键之后,仅检查标识为关键的相应函数。
图10示出了用于执行仲裁策略的仲裁模块22的示例性结构。仲裁模块22包括第一循环存储缓冲器72和第二循环存储缓冲器74。基于执行冗余操作的处理器的数量,诸如时间戳、执行的路径和参数值的数据输入到相应缓冲器。应当理解,缓冲器的数量通常等于执行函数的冗余处理器的数量。因此,虽然示例性仲裁模块22示出了两个循环缓冲器,但是如果利用了多于两个冗余处理器,则可以利用更多的缓冲器。每个冗余处理器的每个循环缓冲器存储了值的短历史(例如,3个值-1个当前值和2个先前值)。当处理器的输出不一致时,仲裁模块22利用各种因素并且比较来自冗余处理器的这些相应因素。在设计时确定仲裁模块22中的仲裁逻辑并且存储以供运行时使用。
仲裁模块22包括逻辑函数76,其中可以根据用于标识判定的函数对仲裁模块22所依赖的标准进行加权。另外,仲裁模块22包括查找表78。查找表78基于输入值提供固定的判定。
仲裁模块22进一步包括判定器80,其利用通过逻辑函数76的策略和查找表78导出的判定的组合。
逻辑函数76可以由以下公式表示:
其中Ti是路径i的时间戳输出,Pi是路径i的输出的优先级,vi是在路径i上使用的输出值的优先级,w1、w2、w3是每个因素的重要性的权重。可以在设计时预定每个权重,并且将根据正在执行的函数或该函数正在操作的范围而变化。例如,如果函数涉及车辆的速度,则用于值输出优先级vi的加权因子w1可以是50%,而如果函数涉及发动机扭矩,则用于值输出优先级vi的加权因子w1可以是75%。在另一示例中,转向操作基于车辆的速度。在65mph时的车辆速度参数可具有与75mph时的车辆速度参数不同的权重,因为车辆速度可影响转向角的设置。因此,基于正在执行的函数来预设应用于不同输出的权重。
参考时间戳因子,在相应时间获取的时间戳Ti可以更优选或关键。因此,当状况需要时,与路径或参数值相反,可以向时间戳参数应用更大的权重。
参考路径因素,可以更加重视相对于另一路径利用了更关键函数的路径。可以应用策略:相应路径执行的函数更关键,则来自该相应路径的输出的置信度或可靠性越大。
当参考由相应函数使用的参数值时,可以更加重视在相应参数操作范围内或在距参数目标值相应距离内的参数。
基于如本文所述的各种因素,可在逻辑函数76中利用不同的加权因素。
查找表78表示基于上述各种因素(诸如时间戳、路径和参数值)之间的差异的固定判定。差异可以包括比较路径或目标时间戳之间的时间戳的差异、执行的路径之间的差异(例如关键函数),以及比较路径的参数值之间或与参数目标值之间的差异。基于每个类别的比较,应用固定的判定输出。示例性查找表如下所示:
T-差异范围 | P-差异 | 指针 | 判定 |
[0,1] | abcdg,abdg | V1[0,0] | O(P1) |
[0,3] | abdg,aefg | V1[0,4],V2[1,0] | Omax |
判定器80可以仅利用来自逻辑函数76的结果、仅利用查找表78的结果或者逻辑函数76和查找表78的相应组合,来确定应当依赖于哪些输出结果来提供给其他模块来进行附加处理。附加模块可以包括但不限于其他控制器、设备、子***或***。该信息可以用于执行进一步的任务,或者可以用于基于输出结果启用车辆操作。
虽然已经详细描述了本发明的某些实施例,但是本发明所涉及的领域的技术人员将认识到用于实施由所附权利要求书限定的本发明的各种替代设计和实施例。
Claims (10)
1.一种仲裁冗余控制***中的冲突输出的方法,所述方法包含以下步骤:
记录由所述冗余控制***中的每个控制器执行的任务的执行数据,所述执行数据包括每个执行流的初始时间戳、每个执行流中的关键函数的标识,以及所述关键函数使用的参数值;
仅基于为每个执行流执行的所述关键函数来标识由每个控制器执行的路径;
将每个执行的路径的所述记录的执行数据应用于仲裁模块;
基于每个执行路径的所述记录的执行数据,由所述仲裁模块选择来自所述相应控制器中的一个的输出结果;并且
将所述选择的控制器的所述输出结果通信到下一个模块用于进一步处理。
2.根据权利要求1所述的方法,其中由所述仲裁模块内的判定器执行对所述输出结果的选择,其中由所述判定器使用逻辑函数或逻辑表中的至少一个来选择所述输出结果。
3.根据权利要求2所述的方法,其中所述逻辑函数表示如下:
<mrow>
<mi>D</mi>
<mi>e</mi>
<mo>=</mo>
<msubsup>
<mi>max</mi>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>n</mi>
</msubsup>
<mrow>
<mo>(</mo>
<msub>
<mi>w</mi>
<mn>1</mn>
</msub>
<msub>
<mi>T</mi>
<mi>i</mi>
</msub>
<mo>+</mo>
<msub>
<mi>w</mi>
<mn>2</mn>
</msub>
<msub>
<mi>P</mi>
<mi>i</mi>
</msub>
<mo>+</mo>
<msub>
<mi>w</mi>
<mn>3</mn>
</msub>
<msub>
<mi>v</mi>
<mi>i</mi>
</msub>
<mo>)</mo>
</mrow>
</mrow>
其中Ti是路径i的时间戳输出,Pi是路径i的输出的优先级,vi是在路径i上使用的输出值的优先级,w1、w2、w3是每个因素的重要性的权重。
4.根据权利要求2所述的方法,其中所述判定器模块利用所述逻辑函数和所述逻辑表的组合。
5.根据权利要求1所述的方法,其中仅基于所述关键函数来标识由每个控制器执行的路径,包含以下步骤:
标识每个控制器在所有路径中使用的所有关键函数;
仅跟踪每条路径中的所述标识的关键函数;
产生每条路径的位向量,每个位向量仅由所述关键函数表示,其中每个位向量中的每个位表示相应关键函数是否为所述相应任务执行。
6.根据权利要求5所述的方法,其中如果在相应路径中执行了所述函数,则设置每个位向量的相应位,并且如果在所述相应路径中未执行所述函数,则不设置。
7.根据权利要求6所述的方法,其中每个相应位向量中的每个所述位在所述初始时间戳处初始未设置。
8.根据权利要求5所述的方法,其中所有关键函数都是预定的。
9.根据权利要求5所述的方法,其中对于每个位向量中设置的每个位记录至少一个参数值。
10.根据权利要求1所述的方法,其中从每条路径获得的每组记录的执行数据提供给所述仲裁模块的相应循环缓冲器,每个循环缓冲器与所述判定器模块通信,其中来自每个循环缓冲器的存储的数据被提供给所述缓冲器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/078,255 US9996431B2 (en) | 2016-03-23 | 2016-03-23 | Architecture and apparatus for advanced arbitration in embedded controls |
US15/078255 | 2016-03-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107229238A true CN107229238A (zh) | 2017-10-03 |
CN107229238B CN107229238B (zh) | 2019-08-30 |
Family
ID=59814468
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710175419.4A Active CN107229238B (zh) | 2016-03-23 | 2017-03-22 | 仲裁冗余控制***中的冲突输出的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9996431B2 (zh) |
CN (1) | CN107229238B (zh) |
DE (1) | DE102017204745A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11214273B2 (en) * | 2017-06-23 | 2022-01-04 | Nvidia Corporation | Method of using a single controller (ECU) for a fault-tolerant/fail-operational self-driving system |
US10353767B2 (en) * | 2017-09-14 | 2019-07-16 | Bae Systems Controls Inc. | Use of multicore processor to mitigate common mode computing faults |
JP2019070902A (ja) * | 2017-10-06 | 2019-05-09 | 横河電機株式会社 | 制御システム、制御方法及び等値化装置 |
US10901399B2 (en) * | 2018-09-28 | 2021-01-26 | Rockwell Automation Technologies, Inc. | High availability industrial automation controller and method of operating the same |
US10820068B2 (en) * | 2019-02-07 | 2020-10-27 | Simmonds Precision Products, Inc. | Configurable sensing systems and methods for configuration |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080140962A1 (en) * | 2006-12-08 | 2008-06-12 | Microsoft Corporation | Protection of critical memory using replication |
US20120216037A1 (en) * | 2011-02-22 | 2012-08-23 | Honeywell International Inc. | Methods and systems for access security for dataloading |
CN103262045A (zh) * | 2010-11-19 | 2013-08-21 | 大陆-特韦斯贸易合伙股份公司及两合公司 | 具有容错架构的微处理器*** |
US20130304793A1 (en) * | 2011-03-10 | 2013-11-14 | Mitsubishi Electric Corporation | Redundancy device |
US20140082331A1 (en) * | 2012-09-14 | 2014-03-20 | General Electric Company | System and method for synchronizing processor instruction execution |
CN104133744A (zh) * | 2014-08-01 | 2014-11-05 | 浪潮(北京)电子信息产业有限公司 | 一种面向关键应用的仲裁***及方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5210871A (en) * | 1988-07-15 | 1993-05-11 | The Charles Stark Draper Labroatory, Inc. | Interprocessor communication for a fault-tolerant, mixed redundancy distributed information processing system |
US6029217A (en) | 1994-10-03 | 2000-02-22 | International Business Machines Corporation | Queued arbitration mechanism for data processing system |
US5984504A (en) * | 1997-06-11 | 1999-11-16 | Westinghouse Electric Company Llc | Safety or protection system employing reflective memory and/or diverse processors and communications |
EP1157324A4 (en) * | 1998-12-18 | 2009-06-17 | Triconex Corp | PROCESS AND DEVICE FOR PROCESSING CONTROL USING A MULTIPLE REDUNDANT PROCESS CONTROL SYSTEM |
US7454546B1 (en) | 2006-01-27 | 2008-11-18 | Xilinx, Inc. | Architecture for dynamically reprogrammable arbitration using memory |
US7725655B2 (en) * | 2006-02-16 | 2010-05-25 | Hewlett-Packard Development Company, L.P. | Method of operating distributed storage system in which data is read from replicated caches and stored as erasure-coded data |
US8824496B2 (en) | 2009-10-30 | 2014-09-02 | Oracle America, Inc. | Two-phase arbitration mechanism for shared optical links |
-
2016
- 2016-03-23 US US15/078,255 patent/US9996431B2/en active Active
-
2017
- 2017-03-21 DE DE102017204745.3A patent/DE102017204745A1/de active Pending
- 2017-03-22 CN CN201710175419.4A patent/CN107229238B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080140962A1 (en) * | 2006-12-08 | 2008-06-12 | Microsoft Corporation | Protection of critical memory using replication |
CN103262045A (zh) * | 2010-11-19 | 2013-08-21 | 大陆-特韦斯贸易合伙股份公司及两合公司 | 具有容错架构的微处理器*** |
US20120216037A1 (en) * | 2011-02-22 | 2012-08-23 | Honeywell International Inc. | Methods and systems for access security for dataloading |
US20130304793A1 (en) * | 2011-03-10 | 2013-11-14 | Mitsubishi Electric Corporation | Redundancy device |
US20140082331A1 (en) * | 2012-09-14 | 2014-03-20 | General Electric Company | System and method for synchronizing processor instruction execution |
CN104133744A (zh) * | 2014-08-01 | 2014-11-05 | 浪潮(北京)电子信息产业有限公司 | 一种面向关键应用的仲裁***及方法 |
Also Published As
Publication number | Publication date |
---|---|
US9996431B2 (en) | 2018-06-12 |
DE102017204745A1 (de) | 2017-09-28 |
CN107229238B (zh) | 2019-08-30 |
US20170277604A1 (en) | 2017-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107229238A (zh) | 用于嵌入式控制中的先进仲裁的架构和装置 | |
CN107885219B (zh) | 用于监控无人机飞行的飞行监控***和方法 | |
JP4509098B2 (ja) | モデルに基づくオンボード診断を行う装置および方法 | |
CN109033966B (zh) | 绕路检测模型训练方法和装置,以及绕路检测方法和装置 | |
CN104236575B (zh) | 出行路径记录方法和装置、导航方法和装置 | |
US10267638B2 (en) | Method and system for adapting a navigation system | |
CN106463050B (zh) | 用于处理车辆的测量数据以用于确定开始寻找停车位的方法 | |
CN105698788A (zh) | 产生两个独立不同的姿态解、惯性解或两者的***和方法 | |
CN112578419B (zh) | 一种基于gru网络和卡尔曼滤波的gps数据重构方法 | |
CN102096410A (zh) | 一种高速列车运行控制***功能的动态测试方法 | |
CN113933858A (zh) | 定位传感器的异常检测方法、装置及终端设备 | |
Davins-Valldaura et al. | Design and optimization of nonlinear observers for road curvature and state estimation in automated vehicles | |
CN112147973A (zh) | 检验***、选择真实测试和测试***的方法和设备 | |
CN113252060A (zh) | 基于神经网络模型的车辆轨迹推算方法及装置 | |
JP7173748B2 (ja) | 経路生成装置、及び自動運転システム | |
JP7173749B2 (ja) | 経路生成装置、及び自動運転システム | |
JP6980497B2 (ja) | 情報処理方法及び情報処理装置 | |
Alasaadi et al. | Parkzoom: A parking spot identification system | |
Ress et al. | Electronic horizon-providing digital map data for adas applications | |
JP2016105257A (ja) | 地図情報提供装置 | |
CN115248993A (zh) | 一种仿真场景模型真实性检测方法、装置及存储介质 | |
Ding et al. | Fault tolerant monitoring of vehicle lateral dynamics stabilization systems | |
CN109597400B (zh) | 星上轨道递推的故障诊断方法及诊断设备 | |
CN115453580A (zh) | Gnss传感器的故障诊断方法、装置、导航***及交通工具 | |
CN114153193B (zh) | 结合扩张状态观测器和bp神经网络的极性故障识别方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |