DE102017106086A1 - Hybrid-dual-duplex fail-betriebsmuster und verallgemeinerung einer beliebigen anzahl an ausfällen - Google Patents

Hybrid-dual-duplex fail-betriebsmuster und verallgemeinerung einer beliebigen anzahl an ausfällen Download PDF

Info

Publication number
DE102017106086A1
DE102017106086A1 DE102017106086.3A DE102017106086A DE102017106086A1 DE 102017106086 A1 DE102017106086 A1 DE 102017106086A1 DE 102017106086 A DE102017106086 A DE 102017106086A DE 102017106086 A1 DE102017106086 A1 DE 102017106086A1
Authority
DE
Germany
Prior art keywords
controller
processing unit
comparison module
function
error
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.)
Withdrawn
Application number
DE102017106086.3A
Other languages
English (en)
Inventor
Soheil Samii
Markus Jochim
Thomas E. Fuhrman
Massimo Osella
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GM Global Technology Operations LLC
Original Assignee
GM Global Technology Operations LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by GM Global Technology Operations LLC filed Critical GM Global Technology Operations LLC
Publication of DE102017106086A1 publication Critical patent/DE102017106086A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • G05B19/0425Safety, monitoring
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B9/00Safety arrangements
    • G05B9/02Safety arrangements electric
    • G05B9/03Safety arrangements electric with multiple-channel loop, i.e. redundant control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24033Failure, fault detection and isolation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25022LAN local area network for controllers

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Hardware Redundancy (AREA)
  • Safety Devices In Control Systems (AREA)

Abstract

Ein modifiziertes Dual-Duplex-Fail-Betriebssteuersystem. Ein primärer Controller beinhaltet eine erste Verarbeitungseinheit und eine zweite Verarbeitungseinheit zum Ausführen einer Funktion. Ein erstes Vergleichsmodul, das die Funktion vergleicht, ergibt sich aus der ersten und der zweiten Verarbeitungseinheit, um einen Fehler des ersten Controllers zu bestimmen. Ein zweiter Controller beinhaltet eine erste Verarbeitungseinheit und eine zweite Verarbeitungseinheit. Die erste Verarbeitungseinheit führt die Funktion aus, wobei die zweite Verarbeitungseinheit in einem nicht redundanten Zustand arbeitet und die Funktion nicht im nicht redundanten Zustand ausführt. Ein zweites Vergleichsmodul ermittelt, ob im zweiten Controller ein Fehler vorliegt. Ein übereinstimmendes Funktionsergebnis, das durch das erste Vergleichsmodul des ersten Controllers identifiziert wird, wird in das zweite Vergleichsmodul des zweiten Controllers eingegeben, um zu bestimmen, ob ein Fehler in dem zweiten Controller vorhanden ist, wobei nur das durch das erste Vergleichsmodul identifizierte Matching-Funktionsergebnis und das von der ersten Verarbeitungseinheit des zweiten Controllers ermittelte Funktionsergebnis verwendet werden.

Description

  • HINTERGRUND DER ERFINDUNG
  • Eine Ausführungsform bezieht sich auf fehlertolerante Steuersysteme.
  • Systeme, die Sicherheitsfunktionen bereitstellen, verwenden in der Regel redundante Controller, um die Sicherheit zu gewährleisten, indem sie Funktionen beenden, die einen Fehler oder einen Ausfall erfahren haben. Wurde ein Fehler erkannt, wird der Controller abgeschaltet oder der Controller schlägt stillschweigend fehl (Fail-Silent), wobei keine Signale durch den Controller erzeugt werden, und einen sekundären Controller neu konfiguriert wird, um zum primären Controller zu werden.
  • Einige Systeme versuchen, Steuersysteme zu implementieren, die ein fehlersicheres System verwenden, bei dem zusätzliche Controller verwendet werden, um sicherzustellen, dass ein sicherer Betrieb für eine Zeitdauer fortgesetzt werden kann, wie beispielsweise Dual-Duplex-Controller. Wenn ein primärer Controller ausfällt und geräuschlos ist, kann je nach Systemauslegung ein zweiter Controller aktiv sein und muss eventuell aktiviert werden. Wenn dies geschieht, werden alle Stellantriebe umschalten, um sich auf Anforderungen des zweiten Controllers zu verlassen. Im Gegensatz zu Softwarefehlern, bei denen ein Fehler in einem Controller im Duplikat-Controller vorhanden wäre, sind Hardwarefehler (z. B. Stromversorgungsfehler, Kurzschluss nach Massefehlern usw.) vorhanden, wenn auch nicht auf ein Maß an Kritikalität von Softwarefehlern, Software-Designfehler beide Controller gleich beeinflussen würden, wird typischerweise selbstständig ausfallen, und der sekundäre Controller, während er nicht typischerweise denselben Defekt aufweist, kann danach ordnungsgemäß arbeiten.
  • Typischerweise beinhaltet eine Steuereinheit entweder zwei Prozessoren oder zwei Kerne, wobei Funktionen unabhängig und gleichzeitig auf einem entsprechenden Controller ausgeführt werden. Als Ergebnis weisen sowohl der primäre Controller und der sekundäre Controller dieselbe Funktion auf, die von zwei Prozessoren oder zwei Kerne innerhalb jedes Controllers ausgeführt wird. Infolgedessen wird, wenn ein Dual-Duplex-Design verwendet wird, eine gleiche Funktion unabhängig viermal ausgeführt. Die Ergebnisse von jedem Controller werden verglichen, um zu bestimmen, ob ein Fehler in einem der Controller vorhanden ist. Während das Dual-Duplex-Design zusätzliche Robustheit bietet, erfordert der Redundanzbetrieb zusätzliche Ressourcen (z. B. Prozessoren, Kerne), da jede Funktion unabhängig voneinander zweimal in jedem Controller ausgeführt wird. Redundanzbetriebe erfordern die parallele Ausführung mehrerer Kopien zusätzliche Hardwareressourcen, sodass es folglich Kostenvorteile für die Bereitstellung dieser Hardwareressourcen gibt.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Ein Vorteil einer Ausführungsform ist eine Verringerung der Verarbeitungszeit von Controllern, sodass Verarbeitungsressourcen für andere Operationen freigegeben werden können und eine Gesamtverarbeitungslast des Prozessors verringern können. Durch die Nutzung der Ergebnisse und die Datenintegrität eines früheren Controllers zur Fehlererkennung und Realisierung von Fail-Silence-Eigenschaften ist in einem nachfolgenden Controller nur eine Ausführung der Funktion erforderlich. Infolgedessen wird die Verarbeitung reduziert, indem sie nicht zwei Funktionen für jeden Controller ausführen muss. Ein Steuersystem mit zwei Controllern kann eine Verringerung der Verarbeitung um 25 % erreichen, während ein Steuersystem mit drei Controllern bei normalen Betriebsbedingungen eine Reduzierung um 33 % erreichen kann (d. h. wen kein Fehler vorliegt). Die Einsparungen bei der Verarbeitung können durch die folgende Formel ermittelt werden: N/(2 + 2N) wobei N die Anzahl der Ausfälle ist, die das Steuersystem zu bewältigen hat.
  • Eine Ausführungsform sieht ein modifiziertes Dual-Duplex-Fail-Betriebssteuersystem vor. Ein primärer Controller steuert die Funktionen von Geräten, während er unter Nicht-Fehler-Betriebsbedingungen arbeitet. Der primäre Controller umfasst eine erste Verarbeitungseinheit, die eine Funktion ausführt, die Eingangsdaten von Erfassungsvorrichtungen verwendet, und eine zweite Verarbeitungseinheit, die gleichzeitig die Funktion ausführt, die die Eingangsdaten von den Erfassungsvorrichtungen verwendet. Ein erstes Vergleichsmodul vergleicht das Funktionsergebnis von der ersten Verarbeitungseinheit mit dem Funktionsergebnis der zweiten Verarbeitungseinheit, um zu ermitteln, ob ein Fehler im ersten Controller vorliegt. Ein zweiter Controller umfasst eine erste Verarbeitungseinheit, die die Funktion ausführt, die die Eingangsdaten von Erfassungsvorrichtungen verwendet, und eine zweite Verarbeitungseinheit, die in einem nicht-redundanten Status arbeitet. Die zweite Verarbeitungseinheit führt die Funktion nicht im nicht redundanten Zustand aus. Ein zweites Vergleichsmodul ermittelt, ob im zweiten Controller ein Fehler vorliegt. Ein übereinstimmendes Funktionsergebnis, das durch das erste Vergleichsmodul des ersten Controllers identifiziert wird, wird in das zweite Vergleichsmodul des zweiten Controllers eingegeben. Das zweite Vergleichsmodul ermittelt, ob ein Fehler im zweiten Controller vorhanden ist, wobei nur das durch das erste Vergleichsmodul identifizierte Matching-Funktionsergebnis und das durch die erste Verarbeitungseinheit des zweiten Controllers ermittelte Funktionsergebnis verwendet werden.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein architektonisches Blockdiagramm eines exemplarischen integrierten Steuersystems.
  • 2 ist eine erste Ausführungsform einer modifizierten Duplexarchitektur zur Durchführung von Redundanzprüfungen.
  • 3 ist eine zweite Ausführungsform einer modifizierten Duplexarchitektur zur Durchführung von Redundanzprüfungen.
  • 4 veranschaulicht ein Beispiel eines ausgefallenen primären Controllers und einer Rekonfiguration eines Backup-Controllers.
  • 5 veranschaulicht ein Beispiel eines ausgefallenen sekundären Controllers und einer Rekonfiguration eines Backup-Controllers.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die nachfolgende ausführliche Beschreibung dient lediglich zum besseren Verständnis der Ausführungsformen und ist nicht dazu bestimmt, die Ausführungsformen des hierin beschriebenen Gegenstands oder die Anwendung und Verwendungen dieser erwähnten Ausführungsformen zu beschränken. Jeder Gebrauch des Wortes „exemplarisch“ ist auszulegen als „dient als Beispiel, Sachverhalt oder zur Veranschaulichung“. Hierin beschriebene Anwendungen sind exemplarisch und nicht als bevorzugt oder vorteilhaft gegenüber anderen Anwendungen zu verstehen. Die Beschreibungen in diesem Dokument sind durch eine ausdrückliche oder implizierte Theorie nicht als gebunden zu verstehen, die vor dem vorstehenden Hintergrund, der ausführlichen Beschreibung oder den ausführlichen Beschreibungen, der Zusammenfassung oder der folgenden ausführlichen Beschreibung vorgestellt wird.
  • Die Techniken und Technologien können hierin in Bezug auf die funktionellen und/ oder logischen Blockkomponenten beschrieben werden und unter Bezugnahme auf symbolische Darstellungen von Vorgängen, Programmverarbeitungen und Funktionen, die von verschiedenen Computerkomponenten oder Vorrichtungen durchgeführt werden können. Derartige Vorgänge, Programme und Funktionen werden manchmal als Computer-ausgeführt, computerisiert, Software-implementiert oder Computer-implementiert bezeichnet. Es sollte beachtet werden, dass derartige Blockkomponenten aus einer beliebigen Anzahl an Hardware, Software und/ oder Firmware-Komponenten aufgebaut sein können, die konfiguriert sind, um die spezifischen Funktionen auszuführen. So kann zum Beispiel eine Ausführungsform eines Systems oder einer Komponente verschiedene integrierte Schaltungskomponenten, beispielsweise Speicherelemente, digitale Signalverarbeitungselemente, Logikelemente, Nachschlagetabellen oder dergleichen einsetzen, die eine Vielzahl von Funktionen unter dem Controller eines oder mehrerer Mikroprozessoren oder anderer Steuervorrichtungen durchführen können.
  • Wenn in Software oder Firmware implementiert, sind verschiedene Elemente der hierin beschriebenen Systeme im Wesentlichen die Codesegmente oder Anweisungen, die die verschiedenen Aufgaben ausführen. In bestimmten Ausführungsformen sind die Programm- oder Codesegmente auf einem materiellen, prozessorlesbaren Medium gespeichert, das jedes Medium sein kann, das Informationen speichern oder übertragen kann. Beispiele für nichtflüchtige, Prozessor-lesbare Medien beinhalten einen elektronischen Schaltkreis, einen Mikrocontroller, einen anwendungsspezifischen integrierten Schaltkreis (ASIC), ein Halbleiter-Speicherelement, einen ROM-Speicher, einen Flash-Speicher, einen löschbaren ROM-Speicher (EROM), eine Floppy-Disk, eine CD-ROM, eine optische Speicherplatte, eine Festplatte oder dergleichen.
  • Das hierin beschriebene System und die Methodik können verwendet werden, um Fehler in Controllern zu identifizieren, die Softwarefunktionen in Steuersystemen ausführen. Während der Ansatz und die Methodik bezüglich der Fahrzeugkommunikation nachstehend beschrieben sind, versteht sich für Experten, dass eine Automobilanwendung lediglich exemplarisch ist und dass die hierin offenbarten Konzepte auch auf jedes andere geeignete Kommunikationssystem angewendet werden kann, wie beispielsweise allgemeine industrielle Automatisierungsanwendungen, Fertigungs- und Montageanwendungen, Avionik, Luft- und Raumfahrt und Gaming.
  • Der Begriff „Fahrzeug“, wie hierin beschrieben, kann im weitesten Sinne so ausgelegt werden, dass er nicht nur einen PKW betrifft, sondern alle anderen Fahrzeuge, beinhaltet, ohne jedoch beschränkt zu sein auf, Schienenverkehrssysteme, Flugzeuge, Geländesportfahrzeuge, Roboterfahrzeuge, Motorräder, LKW, Sportnutzfahrzeuge (SUV), Wohnmobile (RV), Wasserfahrzeuge, Luftfahrzeuge, landwirtschaftliche Fahrzeuge, selbstfahrende Fahrzeuge, gemeinsam genutzte Fahrzeuge und Baufahrzeuge.
  • In 1 wird ein architektonisches Blockdiagramm eines exemplarischen integrierten Steuersystems gezeigt. Derartige Steuersysteme verwenden häufig zwei Controller, sodass wenn ein Hardwarefehler bei einem primären Controller auftritt, auf einfache Weise ein Backup-Controller aktiviert werden kann, um eine Funktion des Steuersystems zu steuern oder einen Controller für eine begrenzte Funktionalität des Merkmals im Fehlerfall bereitzustellen.
  • In 1 ist ein herkömmliches Dual-Duplex-System dargestellt, um einen primären Controller 12 und einen Backup-Controller 14 (nachfolgend als sekundärer Controller bezeichnet) zu beinhalten. Darüber hinaus ist das exemplarische System, wie es hierin beschrieben ist, fahrzeugbezogen, aber die Architektur kann auch auf Nicht-Fahrzeugsysteme anwendbar sein. Der primäre Controller 12 beinhaltet zwei Verarbeitungseinheiten, die eine erste Verarbeitungseinheit 16 und eine zweite Verarbeitungseinheit 18 zum Ausführen von primären Steuerelementen beinhalten. Der sekundäre Controller 14 beinhaltet zwei Verarbeitungseinheiten, die eine erste Verarbeitungseinheit 20 und eine zweite Verarbeitungseinheit 22 beinhalten. Es sollte verstanden werden, dass die Begriffsverarbeitungseinheit unabhängige Prozessoren oder unabhängige Kerne beinhalten kann. Alternativ kann die Prozessoreinheit, falls gewünscht, einen Dual-Core-Prozessor mit zwei Kerne auf demselben Chip beinhalten. Zur Veranschaulichungszwecken hierin sind der primäre Controller 12 und der sekundäre Controller 14 identisch mit derselben Hardware und derselben Software. Jedoch können bestimmte Vorrichtungen in der Architektur verschiedene Vorrichtungen, wie z. B. unterschiedliche Stromversorgungen, verwenden, so dass, wenn ein Fehler bei einem Steuergerät als Ergebnis einer Stromversorgung auftritt, der andere Controller nicht beeinflusst wird. Der primäre Controller 12 wird als Master-aktiver Controller bezeichnet und empfängt Eingangssignale und führt Funktionen basierend auf den Eingangssignalen aus und gibt Steuersignale an die anderen Vorrichtungen über ein Kommunikationsnetzwerk 24 aus, wenn sie in einem Betriebs- und Nicht-Fail-Zustand sind. Der primäre Controller 12 arbeitet unter Nicht-Ausfall-Betriebsbedingungen (hierin als normale Betriebsbedingungen bezeichnet) und erzeugt und überträgt Steuersignale zum Steuern von Merkmalen einer Fahrzeugvorrichtung.
  • Der sekundäre Controller 14 empfängt Daten und führt Funktionen aus, die sekundäre Steuerelemente verwenden, die mit den primären Steuerelementen identisch sind, aber Ausgangssteuersignale werden von den Geräten auf dem Kommunikationsnetzwerk nicht verwendet, wenn der primäre Controller 12 unter normalen Betriebsbedingungen arbeitet.
  • Der primäre Controller 12 und der sekundäre Controller 14 kommunizieren über das Kommunikationsnetzwerk 24. Es versteht sich, dass das Kommunikationsnetzwerk Kommunikationsbereichsnetz (CAN), CAN-FD, FlexRay, Switched Networking mit Ethernet, drahtlose Kommunikation oder mehrere Netzwerke mit Gates beinhalten kann, ist aber nicht darauf beschränkt. Die Anforderung ist, dass jeder der Controller und Sensoren/Aktoren miteinander kommunizieren können. Der primäre Controller 12 und der sekundäre Controller 14 verwenden das Kommunikationsnetzwerk 24, um Daten zwischen den Sensoren 26 und den Aktuatoren 28 zu empfangen und zu übertragen.
  • Die Sensoren 26 erfassen für eine jeweilige Bedingung und senden Eingangssignale an die Controller, die der jeweiligen Bedingung zugeordnet sind. Wenn der primäre Controller 12 die Eingangssignale von den Sensoren 26 empfängt, führt jede Verarbeitungseinheit 16 und 18 des primären Controllers 12 gleichzeitig eine Softwarefunktion aus, die Eingangsdaten verwendet. Der primäre Controller 12 gibt ein Steuersignal auf der Grundlage der ausgeführten Funktion an die Stellglieder 28 aus. Der Begriff Stellglied kann, aber nicht beschränkt auf, Empfänger und andere Vorrichtungen, die Steuersignale von den Controllern empfangen, einschließen. Die Stellglieder 28 weisen Vorrichtungen zur Betätigung eines Merkmals des Fahrzeugsystems auf. Typischerweise sind derartige Merkmale, die entweder kritisch sind oder vom Fahrzeug benötigt werden, um wenigstens einen sicheren Betrieb des Fahrzeugs aufrechtzuerhalten. Derartige Steuervorrichtungen können beinhalten, sind aber nicht beschränkt auf Bremssteuerungen, Lenksteuerungen und Antriebssteuerungen. Unter einer Fail-Operation-Bedingung ist die Funktionalität für kritische Geräte, obwohl begrenzt, ermöglicht, dass der Fahrer das Fahrzeug sicher betreiben kann, bis das Fahrzeug an einen Ort zur Inspektion gefahren werden kann, um den Betrieb zu behalten, bis der Bediener die Bedienung übernehmen und eine Funktion manuell ausführen oder den Betrieb für eine kurze Zeitdauer beibehalten kann, bis das Fahrzeug sicher zum Stillstand gebracht werden kann.
  • Während der Zeit, in der der primäre Controller 12 Funktionen basierend auf den Eingangsdaten ausführt, spiegelt der sekundäre Controller 14 den primären Controller 12 und führt gleichzeitig dieselben Funktionen auf der Grundlage derselben Daten aus. Dies wird als Redundanz bezeichnet. Der sekundäre Controller 14 spiegelt den primären Controller 12 durch Ausführen von Funktionen in einem gleichen Zustand wie der primäre Controller 12. Dies wird durchgeführt, falls ein Fehler im primären Controller 12 auftritt, wobei der sekundäre Controller 14 bereit sein muss, die Operationen des primären Controllers 12 sofort zu übernehmen. Um sofort zu übernehmen, muss der sekundäre Controller 14 in demselben Zustand sein wie der sekundäre Controller 12. Dies bedeutet, die beiden Controller implementieren und führen eine identische Funktionalität aus, um einen Controllerausfall zu tolerieren, und diese Sicherheitskonfigurationssoftware wird in jedem Controller redundant ausgeführt, um Fehler zu erkennen (d. h. Fehler, die im Controller erkannt werden) und schaltet jede Kommunikation vom primären Controller aus, falls der primäre Controller ausfällt (d. h. Fail-Silent), oder um Fehler im sekundären Controller zu erkennen, die zu latenten Fehlern führen können.
  • Der primäre Controller 12 beinhaltet ein Vergleichsmodul 25 und der sekundäre Controller 14 beinhaltet ein Vergleichsmodul 27 zum Durchführen einer Vergleichsüberprüfung zwischen den Ausgängen der jeweiligen Verarbeitungseinheiten eines jeweiligen Controllers. Jedes jeweilige Vergleichsmodul führt eine Vergleichsoperation durch, um zu bestimmen, ob die Ergebnisse jeder ausgeführten Funktion von jeder Verarbeitungseinheit innerhalb des jeweiligen Controllers übereinstimmen, da jede Verarbeitungseinheit dieselbe Funktion ausführt, die dieselben Eingangsdaten verwendet. Wenn die Verarbeitungseinheiten fehlerfrei arbeiten, sollten die Ergebnisse übereinstimmen. Wenn sich die Ergebnisse unterscheiden, kann in diesem jeweiligen Controller ein Fehler vorliegen. Als Ergebnis benötigt jedes Vergleichsmodul zwei Eingaben, die die ausgeführten Funktionsergebnisse vergleichen, um zu bestimmen, ob ein Fehler in ihrem jeweiligen Controller aufgetreten ist. Die Ergebnisse werden auf dem Kommunikationsnetzwerk 24 an andere Geräte wie andere Controller und Aktoren im Kommunikationsnetz 24 übertragen. Beide Controller können eine Diagnosefunktion zur Überwachung von Fehlerzuständen in den anderen Controllern beinhalten, basierend auf der Beobachtung der Nachrichten, die der andere Controller im Netzwerk zur Rekonfiguration der Controller sendet, falls ein Fehler vorliegt.
  • Dieses traditionelle Dual-Duplex-Design, das die Redundanzausführung von kritischer Software im fehlerspezifischen System nutzt, verbraucht Systemressourcen und erhöht die Kosten durch teure rechnerische Ressourcen, die es verlangt. Das Dual-Duplex-Muster, wie es hier dargestellt ist, kann höchstens einen Controller-Ausfall verarbeiten und skaliert nicht mit steigenden Anforderungen an die Anzahl an Controller-Ausfällen, die in demselben Antriebszyklus toleriert werden müssen, was eine erhöhte Hardware (d.h. Redundanz) erfordern würde, was zu erhöhten Kosten führt. Darüber hinaus werden Ressourcen, die verwendet werden, entweder im Leerlauf verlassen oder können verwendet werden, um andere Funktionen auszuführen, die die vorhandene Hardware effizient nutzen können.
  • 2 veranschaulicht eine erste Ausführungsform einer modifizierten Duplexarchitektur zur Durchführung von Redundanzprüfungen. Die Hardwarearchitektur ist ähnlich derer in 1 und ähnliche Elementnummern werden genutzt. Der primäre Controller 12 beinhaltet die erste Verarbeitungseinheit 16 und die zweite Verarbeitungseinheit 18 und der sekundäre Controller 14 beinhaltet die erste Verarbeitungseinheit 20 und die zweite Verarbeitungseinheit 22. Die erste Verarbeitungseinheit 16 und die zweite Verarbeitungseinheit 18 führen die Funktion aus und die Funktionsergebnisse von jeder Verarbeitungseinheit werden in das Vergleichsmodul 25 eingegeben, um zu bestimmen, ob die von jeder Verarbeitungseinheit ausgeführten Funktionsergebnisse übereinstimmen. Wenn die Funktion aus jeder Verarbeitungseinheit stammt, wird die Bestimmung durchgeführt, dass der primäre Controller 12 unter normalen Betriebsbedingungen arbeitet. Es versteht sich, dass der Begriff „Übereinstimmung“ eine genaue Übereinstimmung oder eine im Wesentlichen enge Übereinstimmung beinhalten kann. Eine genaue Übereinstimmung ist definiert als die Vergleichsergebnisse identisch sind. Eine im Wesentlichen enge Übereinstimmung wird als die Vergleichsergebnisse definiert, wenn nicht gleich nahe genug, sodass eine maximale Abweichung zwischen den Vergleichsergebnissen erlaubt ist.
  • Der sekundäre Controller 14 arbeitet unter dieser Technik nicht unter den gleichen Bedingungen wie der primäre Controller 12. Wie in 2 gezeigt, wird nur die erste Verarbeitungseinheit 20 im sekundären Controller 14 zur Ausführung der Funktion verwendet. Die zweite Verarbeitungseinheit 22 befindet sich in einem nicht redundanten Zustand. Der Begriff nicht-redundanter Zustand ist definiert, als dass die Verarbeitungseinheit entweder im Leerlauf ist oder eine andere Funktion als die ausführt, die durch die von der ersten Verarbeitungseinheit ausgeführte Funktion ausgeführt wird. Infolgedessen wird die Funktion nicht von der zweiten Verarbeitungseinheit 22 des sekundären Controllers 14 ausgeführt, und daher wird keine Eingabe von der zweiten Verarbeitungseinheit 22 an das Vergleichsmodul 27 geliefert. Wie hierin dargelegt, kann die zweite Verarbeitungseinheit 22 des sekundären Controllers 14, wenn sie nicht verwendet wird, für andere Aufgaben verwendet werden oder kann alternativ nicht einmal als Teil des Systems vorhanden sein. Um eine Redundanzprüfung im Vergleichsmodul 27 des sekundären Controllers 14 durchzuführen, sind zum Vergleich zwei Funktionsergebnisse erforderlich. Da die zweite Verarbeitungseinheit 22 im sekundären Controller 14 nicht aktiv ist, muss anstelle des von der zweiten Verarbeitungseinheit 22 typischerweise erzeugten Funktionsergebnisses ein zweites Funktionsergebnis ergänzt werden. Um dem Vergleichsmodul 27 einen zweiten Eingang zu liefern, ist eine Kommunikationsverbindung 30 zwischen dem Vergleichsmodul 25 des primären Controllers 12 und dem Vergleichsmodul 27 des sekundären Controllers 14 gekoppelt. Es versteht sich, dass die Kommunikationsverbindung 30, wie sie zur Veranschaulichung als Kommunikationskanal zwischen den Controllern dargestellt ist. Für jede der hierin beschriebenen Ausführungsformen ist jeder der jeweiligen Controller direkt miteinander in Verbindung mit dem Kommunikationsnetzwerk 24 oder einzelnen Kommunikationsnetzen, um es den jeweiligen Controllern zu ermöglichen, direkt miteinander zu kommunizieren. Als Ergebnis kann jeder Controller ein jeweiliges funktionales Ergebnis direkt mit irgendeinem anderen Controller innerhalb des Steuersystems unter Verwendung des Kommunikationsnetzes wie gezeigt oder anderer Kommunikationsnetze kommunizieren. Die Kommunikationsverbindung 30 kann einen Switch, einen Broadcast-Bus, drahtlose (z. B. WiFi, Bluetooth) oder mehrere einzelne Netzwerke, wie beispielsweise ein überbrücktes lokales Netzwerk, beinhalten, ist aber nicht darauf beschränkt. kann die Kommunikationsverbindung 30 als ein dedizierter Kommunikationskanal implementiert werden, der direkt den primären Controller 12 und den sekundären Controller 14 zur Kommunikation koppelt; jedoch ist eine bevorzugte Kommunikationsmethode das Kommunikationsnetzwerk, da die Kommunikation zwischen den Controllern bereits über das Netzwerk im Steuersystem erfolgt und es sich um den kundenspezifischen Kommunikationsmodus zwischen den Controllern handelt. Es sei daran erinnert, dass ein Funktionsergebnis durch die erste Verarbeitungseinheit 16 des primären Controllers 12 mit einem Funktionsergebnis durch die zweite Verarbeitungseinheit 18 des sekundären Controllers 14 verglichen wird. Wenn die Funktionsergebnisse miteinander übereinstimmen, wird das Ergebnis der passenden Funktion identifiziert und als zweite Eingabe für das Vergleichsmodul 27 verwendet. Daher wird das Term-Matching-Funktionsergebnis hierin als das Funktionsergebnis von einem jeweiligen vorangehenden Controller verwendet, wobei beide Funktionsergebnis-Eingaben in das vorangehende Vergleichsmodul zueinander passen. Als Ergebnis wird das Matching-Funktionsergebnis als Eingang für einen nachfolgenden Controller verwendet.
  • Unter erneuter Bezugnahme auf 2 wird das Matching-Funktionsergebnis aus dem Vergleichsmodul 25 des primären Controllers 12 in das Vergleichsmodul 27 des sekundären Controllers 14 eingegeben. Das durch das Vergleichsmodul 25 des ersten Controllers ermittelte Matching-Funktionsergebnis liefert nicht nur Funktionsergebnisse, die überprüft werden, sondern auch die Datenintegrität wird durch das Vergleichsmodul 25 ermittelt. In dem sekundäre Controller 14 vergleicht das Vergleichsmodul 27 das von der ersten Verarbeitungseinheit 20 erzeugte Funktionsergebnis und das vom Vergleichsmodul 25 des primären Controllers 12 gelieferte Anpassungsfunktionsergebnis zur Bestimmung, ob ein Fehler vorliegt, basierend darauf, ob die jeweiligen Eingaben des zweiten Vergleichsmoduls 27 einander entsprechen. In Fällen, in denen ein Ergebnis nicht aus dem Vergleichsmodul 25 aufgrund eines Controller-Problems oder einer Kommunikationsproblematik gesendet wird (z. B. der Controller 12 ausfällt), dann wird ermittelt, ob die jeweiligen Eingaben zum zweiten Vergleichsmodul 27 verfügbar sind und/oder eine Übereinstimmung vorhanden ist. So kann beispielsweise das Ergebnis der ersten Verarbeitungseinheit 20 als Ausgabe des Vergleichsmoduls 27 verwendet werden, da eine maximale Anzahl an Ausfällen aufgetreten ist und daher keine zweite Berechnung erforderlich ist. Es sei daran erinnert, dass jede der Verarbeitungseinheiten dieselbe Softwarefunktion unter Verwendung der gleichen Sensordaten ausführt und wenn kein Fehler in einem jeweiligen Controller vorhanden ist, dann sollten die von jeder Verarbeitungseinheit ausgeführten Funktionsergebnisse übereinstimmen. Das durch ein jeweiliges Vergleichsmodul ermittelte Matching-Funktionsergebnis ist grundsätzlich die Funktionsergebnis-Eingabe zu dem jeweiligen Vergleichsmodul, da die Ergebnisse im Wesentlichen ähnlich sein sollten, wenn eine Übereinstimmung vorliegt. Durch die Verwendung des passenden Funktionsergebnisses des primären Controllers 12 als zweiter Eingang zum Vergleichsmodul 27 des sekundären Controllers 14 ist eine Ausführung durch die zweite Verarbeitungseinheit 22 des sekundären Controllers 14 nicht erforderlich. Infolgedessen wird die Nutzung der Systemressourcen reduziert und eine Verringerung der Verarbeitung um 25 % im Vergleich zum herkömmlichen Dual-Duplex-Ansatz erreicht.
  • 3 veranschaulicht eine zweite Ausführungsform einer modifizierten Duplexarchitektur zur Durchführung von Redundanzprüfungen. Die folgende Architektur bietet eine Verallgemeinerung von drei Controllern, die verwendet werden, um bis zu zwei Controller-Ausfälle zu tolerieren. Der primäre Controller 12, der sekundäre Controller 14 und ein Backup-Controller 32 (nachfolgend als der dritte Controller bezeichnet) werden in dem Steuersystem verwendet. Der dritte Controller 32 beinhaltet eine identische Architektur wie die anderen Controller. Der dritte Controller 32 beinhaltet eine erste Verarbeitungseinheit 34, eine zweite Verarbeitungseinheit 36 in einem Vergleichsmodul 38. Eine Kommunikationsverbindung 40 verbindet das Vergleichsmodul 27 des sekundären Controllers 14 und das Vergleichsmodul 38 des dritten Controllers 32. Wie zuvor dargelegt, sind die Kommunikationsverbindungen 30 und 40 vorzugsweise Teil des Kommunikationsnetzes 24 oder einzelner Kommunikationsnetze und sind zu illustrativen Zwecken dargestellt. Die jeweiligen Verarbeitungseinheiten und das Vergleichsmodul 38 im dritten Controller 32 funktionieren identisch mit den jeweiligen Verarbeitungseinheiten und dem Vergleichsmodul im sekundären Controller 14, wobei nur die erste Verarbeitungseinheit 34 die Funktion im dritten Controller 32 ausführt, während die zweite Verarbeitungseinheit 36 in einem nicht redundanten Zustand ist und für andere Aufgaben verwendet werden kann. Im dritten Controller 32 wird das Vergleichsfunktionsergebnis, das von dem Vergleichsmodul 27 des sekundären Controllers 14 erhalten wird, dem Vergleichsmodul 38 und dem dritten Controller 32 zur Verfügung gestellt. Das von der ersten Verarbeitungseinheit 34 des dritten Controllers 32 ermittelte Funktionsergebnis wird mit dem aus dem Vergleichsmodul 27 des sekundären Controllers 14 erhaltenen Matching-Funktionsergebnis verglichen, um zu bestimmen, ob eine Übereinstimmung vorliegt. Wenn eine Übereinstimmung vorliegt, wird ermittelt, dass der dritte Controller 32 unter normalen Betriebsbedingungen arbeitet. Wenn die jeweiligen Ergebnisse nicht übereinstimmen, wird festgestellt, dass ein Fehler im dritten Controller 32 vorliegt. Ähnlich der Konfiguration in 2 wird eine Verringerung der Verarbeitung erreicht, indem keine entsprechenden Verarbeitungseinheiten im sekundären Controller 14 und im dritten Controller 32 verwendet werden. Das heißt, für einen herkömmlichen Dual-Duplex-Ansatz würden alle sechs Verarbeitungseinheiten verwendet, wenn drei Controller verwendet würden. Bei der Nutzung des modifizierten Dual-Duplex-Ansatzes werden nur vier Verarbeitungseinheiten aus den sechs möglichen Verarbeitungseinheiten genutzt. Als Ergebnis wird eine Verringerung der Verarbeitung um 33 % im Vergleich zum herkömmlichen Dual-Duplex-Ansatz erzielt.
  • Unter Verwendung der hierin beschriebenen Technik erfordert die Bewältigung der N-Anzahl an Ausfällen N + 1-Controller, wobei N die Anzahl der Ausfälle ist, für deren Bewältigung das Steuersystem konzipiert ist. Im herkömmlichen Dual-Duplex-Ansatz müssen 2 + 2N-Ausführungen durchgeführt werden, während der modifizierte Dual-Duplex-Ansatz nur 2 + N-Ausführungen erfordert. Die Verringerung der Verarbeitung kann als N/(2 + 2N) verallgemeinert werden, wobei N die maximale Anzahl an Fehlern ist, die bewältigt werden müssen.
  • Wie zuvor beschrieben, kann jeder der jeweiligen Controller über das Kommunikationsnetzwerk 24 oder einzelne Kommunikationsnetze miteinander verbunden sein. Infolgedessen werden mehr Kommunikationskanäle verwendet, als tatsächlich in der Figur gezeigt sind, sodass jeder Controller direkt mit allen anderen Controllern in Verbindung steht, falls ein Zwischen-Backup-Controller ausfällt. Wenn daher zum Beispiel der sekundäre Controller 14 ausfällt oder ein nicht übereinstimmendes Ergebnis im sekundären Controller 14 identifiziert wird, stellt das Kommunikationsnetzwerk 24 oder einzelne Kommunikationsnetze eine direkte Kommunikation zwischen dem primären Controller 12 und dem dritten Controller 32. In einem derartigen Fall werden beispielsweise die Ergebnisse des Vergleichsmoduls 25 direkt dem Vergleichsmodul 38 des dritten Controllers 32 mitgeteilt und über ein jeweiliges Kommunikationsnetz als Eingabe verwendet. Zusätzlich kann eine andere Technik zum Übermitteln von Ergebnissen jeden Controller beinhalten, der sein Berechnungsergebnis auf dem Kommunikationsnetzwerk sendet, so dass jeder der anderen Controller mindestens eine Berechnungsberechnung aufweist, wenn der lokale Controller seine lokale Berechnung mit Ergebnissen seiner ersten Verarbeitungseinheit ausführt.
  • Das System beinhaltet einen Algorithmus zur Rekonfiguration von Controllern als primäre Controller oder Backup-Controller. Das heißt, wenn eine Bestimmung gemacht wird, dass der Fehler, der in einem der Controller auftritt, eine vorbestimmte Reihenfolge identifiziert wird, welcher Controller entweder als primärer Controller oder als designierter Backup-Controller bezeichnet wird. Wenn zum Beispiel der primäre Controller, der aktiv ist, ausfällt, wird ein Algorithmus ausgeführt, der identifiziert, welcher alternative Nicht-Fail-Controller rekonfiguriert ist, um als primärer Controller zu funktionieren. In ähnlicher Weise wird, wenn die Bestimmung durchgeführt wird, dass der sekundäre Controller 14, wie in 2 ausgefallen ist, identifiziert der Algorithmus, welcher jeweilige Controller als Backup-Controller an den primären Controller konfiguriert ist, wenn eine Vielzahl von Controllern verwendet wird.
  • Sollte ein Fehler auftreten, bei dem nur einer der drei Controller ausfällt, wird der nicht ausgefallene Controller als primärer Controller rekonfiguriert und es werden keine Backup-Controller verwendet. In diesem Szenario, da eine maximale Anzahl an Ausfällen, die toleriert wurden, erreicht worden ist, dann muss die Matching-Funktion nicht verwendet werden, sodass diese Funktion auf beide Kerne nicht erforderlich ist.
  • 4 veranschaulicht ein Beispiel eines ausgefallenen primären Controllers und einer Rekonfiguration eines Backup-Controllers. In 4 wird durch das Vergleichsmodul 25 ermittelt, dass ein Fehler im primären Controller 12 vorliegt, da die Funktionsergebnisse der ersten Verarbeitungseinheit 16 und der zweiten Verarbeitungseinheit 18 nicht übereinstimmen. Der primäre Controller 12 schlägt stillschweigend fehl und es wird kein Signal von dem primären Controller 12 ausgegeben, und daher ermitteln die anderen Controller auf diese Weise, dass der primäre Controller aufgrund eines Fehlens eines Signals oder einer Kommunikation ausgefallen ist. In anderen Fällen wird die Kommunikation an andere Controller und Vorrichtungen auf dem Kommunikationsnetzwerk 24 gesendet, dass ein Fehler im primären Controller 12 aufgetreten ist und dass der primäre Controller 12 stillschweigend ausfallen sollte. Infolgedessen kommunizieren keine anderen Controller Signale vom primären Controller 12. Weiterhin führt das hierin beschriebene Steuersystem auf jedem Betriebscontroller einen Algorithmus aus, um zu bestimmen, welcher Backup-Controller als nächster primärer Controller rekonfiguriert werden soll. Wie in 4 ist der sekundäre Controller 14 als primärer Controller rekonfiguriert. Daher sind die erste Verarbeitungseinheit 20 und die zweite Verarbeitungseinheit 22 betriebsbereit, um Daten von Sensoren zu erhalten und Funktionen auszuführen. In 4 werden die Funktionsergebnisse aus jeder jeweiligen Verarbeitungseinheit dem Vergleichsmodul 27 zur Verfügung gestellt. Die zuvor auf das Funktionsergebnis des Vergleichsmoduls 25 angewiesene Funktion ist nicht mehr angewiesen, und daher sind die Kommunikationen vom vorherigen primären Controller 12 ausgefallen. Der rekonfigurierte Controller 14 fungiert nun als primärer Controller und nutzt somit beide Funktionsergebnisse von beiden Verarbeitungseinheiten im sekundären Controller 14. Der dritte Controller 32 arbeitet weiterhin als Backup-Controller, wo nur die erste Verarbeitungseinheit 34 verwendet wird, um Funktionen auszuführen. Die Matching-Funktion ergibt sich aus dem nun als primärer Controller bezeichneten Vergleichsmodul 27 des rekonfigurierten Controllers 14 zum Vergleichsmodul 38 des dritten Controllers 32 zum Vergleich mit den von der ersten Verarbeitungseinheit 34 ermittelten Funktionsergebnissen. Es sollte verstanden werden, dass mehr Controller verwendet werden können, als hierin beschrieben, und dass diese Technik auf so viele Controller angewendet werden kann, wie das Steuersystem verwendet, wobei der ausgefallene primäre Controller in einem fehlersicheren Modus ausfällt und ein entsprechend designierter Sicherungscontroller als primärer Controller rekonfiguriert wird, und dass beide Verarbeitungseinheiten darin zur Ausführung von Funktionen verwendet werden. Alle anderen Controller setzen typische Operationen fort, bei denen nur eine Verarbeitungseinheit zur Ausführung von Funktionen verwendet wird und das übereinstimmende Funktionsergebnis von einem anderen sekundären Controller als Eingabe für das Vergleichsmodul verwendet wird. Dies geschieht, um Fehler in Backup-Controllern zu erkennen, um latente Fehler im System zu vermeiden. Sollte ein Fehler auftreten, bei dem nur einer der drei Controller ausfällt, wird der nicht ausgefallene Controller als primärer Controller rekonfiguriert und es werden keine Backup-Controller verwendet. In diesem Szenario, da eine maximale Anzahl an Ausfällen toleriert wurde, wurde erreicht, dass dann muss die passende Funktion nicht so ausgeführt werden, dass diese Funktion auf beiden Kerne nicht erforderlich ist.
  • 5 veranschaulicht ein Beispiel eines ausgefallenen Backup-Controllers. Unter Verwendung der gleichen Elementnummern arbeitet der primäre Controller 12 in einem nicht ausgefallenen Zustand. Der sekundäre (Backup-)Controller 14 fällt aus. Die ausgefallene Backup-Controller 14 wird ausfallen. Die Kommunikation vom ausgefallenen Backup-Controller 14 ist nicht verfügbar und wird praktisch aus dem Steuersystem entfernt. Wie zuvor beschrieben, steht jeder der Controller über das Kommunikationsnetzwerk 24 oder über separate Kommunikationsnetze in direkter Kommunikation miteinander. Infolgedessen steht der primäre Controller 12 in direkter Kommunikation mit dem dritten Controller 32 zum direkten Übertragen von Vergleichsergebnissen. Der dritte Controller 32 verwendet das Ergebnis der Eingaben von dem Vergleichsmodul 25 und der ersten Verarbeitungseinheit 34 zur Fehlererfassung. Dies geschieht, damit der dritte Controller 32 in der Lage ist, Fehler in seiner eigenen Berechnung zu erkennen, und in diesem ausgefallenen Zustand, für den der sekundäre Controller 14 ausgefallen ist und für den das Berechnungsform-Vergleichsmodul 27 nicht mehr verfügbar ist, stillschweigend auszufallen. Sollte ein Fehler auftreten, wenn zwei der drei Controller ausfallen, wird der nicht ausgefallene Controller als primärer Controller rekonfiguriert und es werden keine Backup-Controller verwendet. In diesem Szenario, da eine maximale Anzahl an Ausfällen, die toleriert wurden, erreicht worden ist, muss die Matching-Funktion nicht verwendet werden, sodass diese Funktion auf beide Kerne nicht erforderlich ist.
  • Während bestimmte Ausführungsformen der vorliegenden Erfindung in Einzelheiten beschrieben wurden, werden Fachleute auf dem Gebiet, auf das sich diese Erfindung bezieht, verschiedene alternative Entwürfe und Ausführungsformen für die Durchführung der Erfindung erkennen, wie durch die folgenden Patentansprüche bestimmt.

Claims (10)

  1. Modifiziertes Dual-Duplex-Fail-Betriebssteuersystem, umfassend: einen primären Controller, der Merkmale von Vorrichtungen steuert, während er unter Nicht-Fehler-Betriebsbedingungen arbeitet, wobei der primäre Controller umfasst: eine erste Verarbeitungseinheit, die eine Funktion ausführt, die Eingabedaten von Erfassungsvorrichtungen verwendet; eine zweite Verarbeitungseinheit, die gleichzeitig die Funktion ausführt, die die Eingabedaten von den Erfassungsvorrichtungen verwendet; ein erstes Vergleichsmodul, das das Funktionsergebnis der ersten Verarbeitungseinheit mit dem Funktionsergebnis der zweiten Verarbeitungseinheit vergleicht, um zu ermitteln, ob ein Fehler im ersten Controller vorliegt; einen zweiten Controller, umfassend: eine erste Verarbeitungseinheit, die die Funktion ausführt, die die Eingangsdaten von den Erfassungsvorrichtungen verwendet; eine zweite Verarbeitungseinheit, die in einem nicht redundanten Zustand arbeitet, wobei die zweite Verarbeitungseinheit die Funktion nicht im nicht redundanten Zustand ausführt; ein zweites Vergleichsmodul, das ermittelt, ob ein Fehler in dem zweiten Controller vorhanden ist; worin ein übereinstimmendes Funktionsergebnis, das durch das erste Vergleichsmodul des ersten Controllers identifiziert wird, in das zweite Vergleichsmodul des zweiten Controllers eingegeben wird, worin das zweite Vergleichsmodul ermittelt, ob ein Fehler im zweiten Controller vorhanden ist, wobei nur das durch das erste Vergleichsmodul identifizierte Matching-Funktionsergebnis und das von der ersten Verarbeitungseinheit des zweiten Controllers bestimmte Funktionsergebnis verwendet werden.
  2. Steuersystem nach Anspruch 1, worin ein Fehler, der in dem primären Controller erkannt wird, dazu führt, dass der primäre Controller ausgefallen ist und worin der zweite Controller als rekonfigurierter primärer Controller bezeichnet ist, worin die erste Verarbeitungseinheit und die zweite Verarbeitungseinheit des zweiten Controllers in der Lage sind, die Funktion auszuführen, um zu bestimmen, ob ein Fehler in dem zweiten Controller über das zweite Vergleichsmodul vorhanden ist.
  3. Steuersystem nach Anspruch 1, ferner umfassend eine Kommunikationsverbindung, die zwischen dem ersten Vergleichsmodul und dem zweiten Vergleichsmodul gekoppelt ist, worin das durch das erste Vergleichsmodul ermittelte Matching-Funktionsergebnis vom ersten Vergleichsmodul über die Kommunikationsverbindung an das zweite Vergleichsmodul übermittelt wird.
  4. Steuersystem nach Anspruch 1, weiterhin umfassend: mindestens einen dritten Controller, umfassend: eine erste Verarbeitungseinheit, die eine Funktion ausführt, die die Eingabedaten von den Erfassungsvorrichtungen verwendet; eine zweite Verarbeitungseinheit, die in einem nicht redundanten Zustand arbeitet, wobei die zweite Verarbeitungseinheit die Funktion nicht im nicht redundanten Zustand ausführt; ein drittes Vergleichsmodul, das ermittelt, ob ein Fehler in dem mindestens dritten Controller vorhanden ist; worin ein übereinstimmendes Funktionsergebnis, das durch ein entsprechendes Vergleichsmodul eines der vorhergehenden Controller identifiziert wird, in das dritte Vergleichsmodul des mindestens dritten Controllers eingegeben wird, das dritte Vergleichsmodul ermittelt, ob ein Fehler in dem mindestens dritten Controller vorhanden ist, wobei nur das übereinstimmende Funktionsergebnis verwendet wird, das durch das jeweilige Vergleichsmodul eines der vorhergehenden Controller identifiziert wird, und das Funktionsergebnis, das durch die dritte Verarbeitungseinheit des mindestens dritten Controllers ermittelt wird.
  5. Steuersystem nach Anspruch 4, worin ein Fehler, der im primären Controller erkannt wird, dazu führt, dass der primäre Controller ausgefallen ist und er sekundäre Controller als rekonfigurierter primärer Controller bezeichnet wird, worin die erste Verarbeitungseinheit und die zweite Verarbeitungseinheit des sekundären Controllers aktiv sind, um die Funktion auszuführen, um zu bestimmen, ob der Fehler in dem sekundären Controller über das zweite Vergleichsmodul vorhanden ist.
  6. Steuersystem nach Anspruch 5, worin das zweite Vergleichsmodul ermittelt, ob ein Fehler vorliegt, wobei der zweite Controller, der als rekonfigurierter primärer Controller auf der Grundlage der Funktion als Ergebnis der ersten Verarbeitungseinheit und der zweiten Verarbeitungseinheit des zweiten Controllers bezeichnet wird, worin das durch das zweite Vergleichsmodul identifizierte Matching-Funktionsergebnis dem dritten Vergleichsmodul zur Verfügung gestellt wird, worin das dritte Vergleichsmodul das Matching-Funktionsergebnis aus dem zweiten Vergleichsmodul im Zusammenwirken mit dem Funktionsergebnis von der ersten Verarbeitungseinheit des mindestens dritten Controllers verwendet, um zu bestimmen, ob ein Fehler in dem mindestens dritten Controller vorhanden ist.
  7. Steuersystem nach Anspruch 6 worin ein Fehler im sekundären Controller dazu führt, dass der sekundäre Controller ausgefallen ist, und worin der dritte Vergleich das Matching-Funktionsergebnis aus dem ersten Vergleichsmodul im Zusammenwirken mit dem Funktionsergebnis von der ersten Verarbeitungseinheit des dritten Controllers zur Ermittlung eines Fehlers im dritten Controller verwendet.
  8. Steuersystem nach Anspruch 4 worin jeder jeweilige Controller einen Dual-Core-Prozessor beinhaltet, wobei jeder Dual-Core-Prozessor den jeweiligen ersten Kern und den jeweiligen zweiten Kern in jedem Controller beinhaltet.
  9. Steuersystem nach Anspruch 4 worin jeder Controller zwei Single-Core-Prozessoren beinhaltet, wobei jeder jeweilige Kern in jedem Controller ein Single-Core-Prozessor ist.
  10. Steuersystem nach Anspruch 1 worin eine Anzahl an Steuergeräten, die in dem Steuersystem verwendet werden, durch eine Anzahl an Ausfällen ermittelt wird, die das Steuersystem tolerieren soll, worin die Anzahl an Controllern um eins größer ist als die Anzahl der Ausfälle, die das Steuersystem bewältigen soll.
DE102017106086.3A 2016-03-23 2017-03-21 Hybrid-dual-duplex fail-betriebsmuster und verallgemeinerung einer beliebigen anzahl an ausfällen Withdrawn DE102017106086A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/078,248 2016-03-23
US15/078,248 US10037016B2 (en) 2016-03-23 2016-03-23 Hybrid dual-duplex fail-operational pattern and generalization to arbitrary number of failures

Publications (1)

Publication Number Publication Date
DE102017106086A1 true DE102017106086A1 (de) 2017-09-28

Family

ID=59814291

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017106086.3A Withdrawn DE102017106086A1 (de) 2016-03-23 2017-03-21 Hybrid-dual-duplex fail-betriebsmuster und verallgemeinerung einer beliebigen anzahl an ausfällen

Country Status (3)

Country Link
US (1) US10037016B2 (de)
CN (1) CN107229534A (de)
DE (1) DE102017106086A1 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107438798A (zh) * 2016-08-12 2017-12-05 深圳市大疆创新科技有限公司 一种冗余控制方法、装置及***
US11099936B2 (en) * 2018-09-11 2021-08-24 Embraer S.A. Aircraft integrated multi system electronic architecture
US11106205B2 (en) * 2018-09-18 2021-08-31 Raytheon Technologies Corporation Vehicle control with functional redundancy
US11099563B2 (en) * 2018-12-19 2021-08-24 Zoox, Inc. Multi-controller synchronization
US11641395B2 (en) * 2019-07-31 2023-05-02 Stratus Technologies Ireland Ltd. Fault tolerant systems and methods incorporating a minimum checkpoint interval
CN111497762B (zh) * 2020-04-09 2021-08-06 东风汽车集团有限公司 一种用于汽车电子控制器的双cpu控制***及控制方法
CN112666908A (zh) * 2020-12-25 2021-04-16 苏州泰凯闻机电科技有限公司 一种铝制品回收预处理废水处理***及其工作方法
CN116841185B (zh) * 2023-09-01 2023-11-21 浙江大学 一种可高实时多层次动态重构的工业控制***架构

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2253867C3 (de) * 1972-11-03 1981-04-16 Robert Bosch Gmbh, 7000 Stuttgart Überwachungsschaltung für Antiblockierregelsysteme
US4656588A (en) * 1984-04-17 1987-04-07 Nissan Motor Company, Limited Anti-skid brake control system with a plurality of independently operative digital controllers
US5136704A (en) * 1989-06-28 1992-08-04 Motorola, Inc. Redundant microprocessor control system using locks and keys
DE19949051A1 (de) * 1999-10-11 2001-04-12 Bosch Gmbh Robert Verfahren und Vorrichtung zur Steuerung von Vorgängen in einem Fahrzeug
KR100947791B1 (ko) * 2001-12-11 2010-03-15 콘티넨탈 테베스 아게 운트 코. 오하게 멀티-코어 중복 제어 컴퓨터 시스템, 모터 차량의 안전에 중요한 어플리케이션을 위한 컴퓨터 네트워크, 및 그 용도
JP4155198B2 (ja) * 2004-01-19 2008-09-24 トヨタ自動車株式会社 車両の制御システムの異常検知装置
JP5528294B2 (ja) * 2010-10-20 2014-06-25 インターナショナル・ビジネス・マシーンズ・コーポレーション シミュレーション制御方法、システム及びプログラム
DE102011086530A1 (de) * 2010-11-19 2012-05-24 Continental Teves Ag & Co. Ohg Mikroprozessorsystem mit fehlertoleranter Architektur
CN102929157B (zh) * 2012-11-15 2015-10-21 哈尔滨工程大学 一种三冗余的船舶动力定位控制计算机***
JP6324127B2 (ja) * 2014-03-14 2018-05-16 三菱電機株式会社 情報処理装置、情報処理方法及びプログラム

Also Published As

Publication number Publication date
US10037016B2 (en) 2018-07-31
CN107229534A (zh) 2017-10-03
US20170277153A1 (en) 2017-09-28

Similar Documents

Publication Publication Date Title
DE102017106086A1 (de) Hybrid-dual-duplex fail-betriebsmuster und verallgemeinerung einer beliebigen anzahl an ausfällen
DE102017106087A1 (de) Fehlertoleranz-muster und schaltprotokoll für mehrere hot- und cold-standby-redundanzen
EP2641176B1 (de) Mikroprozessorsystem mit fehlertoleranter architektur
EP2550599B1 (de) Kontrollrechnersystem, verfahren zur steuerung eines kontrollrechnersystems, sowie verwendung eines kontrollrechnersystems
DE602005005631T2 (de) Versagenserfassungsvorrichtung für Fahrzeugsteuersystem
DE112018001544T5 (de) Fahrzeugsteuervorrichtung
DE102014102582A1 (de) Fehlertolerantes Steuerungssystem
DE102015110958A1 (de) Ausfallverwaltung in einem Fahrzeug
DE69925000T2 (de) Fehlertolerantes elektronisches bremssystem
DE102012102173A1 (de) Re-konfigurierbare Schnittstellen-basierende elektrische Architektur
DE102017218395A1 (de) Verfahren zur fehlerrobusten Regelung von hochautomatisierten Fahrzeugen
EP2078253A2 (de) Verfahren und vorrichtung zur fehlerverwaltung
DE102010013349A1 (de) Computersystem und Verfahren zum Vergleichen von Ausgangssignalen
DE102016107015A1 (de) Architektur für eine skalierbare Störungstoleranz in Systemen mit integrierter Ruhigstellung bei Ausfall und Funktionsfähigkeit bei Ausfall
DE102013113296A1 (de) Redundante Rechenarchitektur
EP3571593A1 (de) Redundante prozessorarchitektur
DE112020005382T5 (de) Motorantriebssystem
EP1615087B1 (de) Steuer- und Regeleinheit
DE112019007432T5 (de) Elektronische steuereinheit und programm
DE102017119418A1 (de) Betriebssicheres systemkonstruktionsmuster basierend auf softwarecode-migration
EP3983897B1 (de) Verfahren zum sicherstellen und aufrechterhalten der funktion eines sicherheitskritischen gesamtsystems
EP3341843B1 (de) Verfahren und vorrichtung zum überwachen eines zustandes einer elektronischen schaltungseinheit eines fahrzeugs
DE102011007467A1 (de) Mehrkernige integrierte Mikroprozessorschaltung mit Prüfeinrichtung, Prüfverfahren und Verwendung
DE102012212680A1 (de) Verfahren und System zur fehlertoleranten Steuerung von Stellgliedern für eine begrenzte Zeit auf der Grundlage von vorberechneten Werten
DE102017100384A1 (de) Fahrzeugsubsystem-kommunikationsarbitrierung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: MANITZ FINSTERWALD PATENT- UND RECHTSANWALTSPA, DE

Representative=s name: MANITZ FINSTERWALD PATENTANWAELTE PARTMBB, DE

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee