-
HINTERGRUND DER ERFINDUNG
-
Eine Ausführungsform betrifft fehlertolerante Steuerungssysteme.
-
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. Solche Systeme werden als fehlerstumme Systeme bezeichnet. Wenn ein Fehler erkannt wird, werden die Steuerungen für die Funktion abgeschaltet und die Funktion ist im System nicht mehr betriebsbereit.
-
Einige Systeme versuchen, Steuersysteme zu implementieren, die ein betriebssicheres 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 erster Controller ausfällt und stumm wird, wird ein zweiter Controller aktiviert und alle Stellglieder schalten um, um sich auf Anfragen vom zweiten Controller zu verlassen. Andere Arten von Systemen, die eine nicht-symmetrische Implementierung von Controllern nutzen, können doppelte Hardware- und Softwarefehler vermeiden. Jedoch ist in jedem Fall die Verwendung eines zweiten Controllers, der ausschließlich für den Zweck bestimmt ist, nur ein Backup-Controller für den primären Controller zu sein, ineffizient und potentiell kostspieliger in Bezug auf die Ressourcennutzung (z. B. Speicher- oder CPU-Nutzung).
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Ein Vorteil einer Ausführungsform ist die Verwendung eines Backup-Controllers, der den nichtflüchtigen Speicher des Backup-Controllers reduziert, indem Software für die Ausführung vom nichtflüchtigen Speicher des primären Controllers in den RAM des Backup-Controllers migriert wird. Die Migration von Softwarecode zum Backup-Controller reduziert die Verwendung von nichtflüchtigen Speicheranforderungen in betriebssicheren Architekturen für elektronische Steuergeräte, was wiederum die Kosten reduziert und die Wirkungsgrade im Prozessordesign erhöht. Diese Technik optimiert das nichtflüchtige Element, während es die Controller-Konsolidierung ermöglicht und erhöht, wodurch die Komponentenkosten gesenkt werden.
-
Eine Ausführungsform sieht ein betriebssicheres Steuersystem vor. Ein primärer Controller beinhaltet einen nichtflüchtigen Speicher und eine zentrale Verarbeitungseinheit zum Ausführen von Softwarecode, der im nichtflüchtigen Speicher des primären Controllers gespeichert ist. Der im nichtflüchtigen Speicher des primären Controllers gespeicherte Softwarecode enthält eine nicht-kritische Software und eine betriebssichere Software, die von der zentralen Verarbeitungseinheit des primären Controllers während Nicht-Fehlerzuständen und Fehlerzuständen ausgeführt wird. Ein Migrationscontroller enthält einen nichtflüchtigen Speicher, einen RAM und eine zentrale Verarbeitungseinheit. Der Migrationscontroller enthält Softwarecode, der im nichtflüchtigen Speicher des Migrationscontrollers gespeichert ist. Der im nichtflüchtigen Speicher des Migrationscontrollers gespeicherte und von der zentralen Verarbeitungseinheit des Migrationscontrollers ausgeführte Softwarecode ist einem jeweiligen System fest zugeordnet. Das jeweilige System befindet sich nicht unter der Steuerung des primären Controllers. In Reaktion auf eine Aktivierung eines Systembetriebes des primären Controllers, der während der Ausführung des Systembetriebes einen Backup-Controller erfordert, wird betriebssicherer Softwarecode, der im nichtflüchtigen Speicher des primären Controllers, der den Systembetrieb betrifft, gespeichert ist, in den RAM des Migrationscontrollers übertragen. Der Migrationscontroller arbeitet während der Ausführung des Systembetriebs im primären Controller vorübergehend als Backup-Controller.
-
Eine Ausführungsform sieht ein betriebssicheres Steuersystem vor. Ein Migrationscontroller enthält einen nichtflüchtigen Speicher, einen RAM und eine zentrale Verarbeitungseinheit. Der Migrationscontroller enthält Softwarecode, der im nichtflüchtigen Speicher des Migrationscontrollers gespeichert ist. Der im nichtflüchtigen Speicher des Migrationscontrollers gespeicherte und von der zentralen Verarbeitungseinheit des Migrationscontrollers ausgeführte Softwarecode ist einem jeweiligen System fest zugeordnet. Das jeweilige System befindet sich nicht unter der Steuerung eines primären Controllers eines anderen Systems. In Reaktion auf eine Aktivierung eines Systembetriebes des primären Controllers eines anderen Systems, der während der Ausführung des Systembetriebes einen Backup-Controller erfordert, wird betriebssicherer Softwarecode, der im nichtflüchtigen Speicher des primären Controllers des anderen Systems gespeichert ist, in den RAM des Migrationscontrollers übertragen. Der Migrationscontroller arbeitet während der Ausführung des Systembetriebs im primären Controller des anderen Systems vorübergehend als Backup-Controller.
-
Verfahren zur Rekonfiguration eines Controllers für betriebssichere Bedingungen. Ein Migrationscontroller wird ausgewählt, um betriebssicheren Softwarecode während eines Ausfalls eines primären Controllers eines anderen Systems zu übertragen. Der Migrationscontroller steht nicht unter der Steuerung des primären Controllers eines anderen Systems, das der primäre Controller steuert. Ein Systembetrieb des primären Controllers, der einen Backup-Controller benötigt, wird während der Ausführung des Systembetriebs im primären Controller aktiviert. Betriebssicherer Softwarecode in einem nichtflüchtigen Speicher des primären Controllers wird in einen RAM des Migrationscontrollers übertragen. Der Migrationscontroller enthält Softwarecode, der im nichtflüchtigen Speicher des Migrationscontrollers gespeichert ist, der einem anderen System zugeordnet ist, das sich vom System unterscheidet, das durch den primären Controller gesteuert wird. Im primären Controller wird ein Fehler erkannt. Der betriebssichere Softwarecode wird im RAM des Migrationscontrollers in Reaktion auf die Erkennung des Fehlers im primären Controller ausgeführt.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 ist ein architektonisches Blockdiagramm eines integrierten fehlerstummen und betriebssicheren Steuerungssystems.
-
2 ist ein Ablaufdiagramm für die Migration betriebssicherere Funktionssoftware vom primären Controller zum anderen Funktionscontroller.
-
3 veranschaulicht ein Blockdiagramm, das die Softwaremigration in den RAM des anderen Funktionscontrollers zeigt.
-
4 zeigt eine Zeitachse der Software-Migration und Rekonfiguration in den beiden Controllern.
-
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 nicht als gebunden durch eine ausdrückliche oder implizierte Theorie 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 und unter Bezugnahme auf symbolische Darstellungen von Vorgängen, Programmverarbeitungen und Funktionen beschrieben werden, die von verschiedenen Computerkomponenten oder Vorrichtungen durchgeführt werden können. Diese Vorgänge, Programme und Funktionen werden zuweilen 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 dafür konfiguriert sind, 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 der Steuerung 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 physischen, prozessorlesbaren Medium gespeichert, bei dem es sich um jedes Medium handeln kann, das in der Lage ist, Informationen zu speichern oder zu übertragen. 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 Sicherheitssteuerungsfunktionen in Controllern aufrechtzuerhalten, 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 darauf beschränkt zu sein, 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 ist ein architektonisches Blockdiagramm eines exemplarischen integrierten Steuersystems dargestellt. 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 architektonisches Blockdiagramm eines integrierten betriebssicheren Steuersystems dargestellt. Steuerungssysteme, einschließlich, jedoch nicht beschränkt auf Fahrzeuge, Flugzeuge und Schiffe, die sicherheitskritische Systeme oder autonome Systeme verwenden, erfordern fehlertolerante Gegenmaßnahmen, wenn ein Fehler innerhalb des Steuersystems auftreten sollte. Derartige Steuersysteme verwenden häufig zwei Controller, sodass, wenn ein Fehler (der aus einem Fehler resultiert) mit einem primären Controller auftritt, auf einfache Weise ein Backup-Controller aktiviert werden kann, um eine Funktion des Steuersystems zu steuern oder eine Steuerung für eine begrenzte Funktionalität der fehlerhaften Funktion bereitzustellen.
-
In 1 ist ein jeweiliges System gezeigt, das einen primären Controller 12 und einen anderen Funktionscontroller 14 (z. B. einen Migrationscontroller) enthält. Das hierin beschriebene exemplarische System ist fahrzeugbasiert, aber wie zuvor beschrieben, kann die Architektur auf Nicht-Fahrzeugsysteme anwendbar sein. Der primären Controller 12 beinhaltet mindestens eine zentrale Verarbeitungseinheit (CPU) 16 zum Ausführen der Software. Der primären Controller 12 beinhaltet ferner einen nichtflüchtigen Speicher (NVM, Non-volatile Memory) 18 zum Speichern unkritischen Software 19, fehlerstummer Software 20 und betriebssicherer Software 21. Alle Betriebsanleitungen für die Ausführung von Software während eines Nicht-Fehlerzustandes und während eines Fehlerzustandes sind im NVM 18 des primären Controllers 12 gespeichert. Der primäre Controller 12 enthält ferner einen RAM 22, um auf andere Daten oder Befehle zuzugreifen, die vorübergehend gespeichert werden.
-
Der andere Funktionscontroller 14 enthält eine ähnliche Architektur, die mindestens eine CPU 23, einen NVM 24 und einen RAM 26 umfasst. Der andere Funktionscontroller 14 ist ein Controller, der einem anderen System gewidmet ist oder von mehreren Systemen gemeinsam genutzt wird. In einem herkömmlichen System, bei dem es einen Backup-Controller gibt, der dem aktuellen System gewidmet ist, würde der dedizierte Backup-Controller dieselbe Betriebssoftware als auch die nicht-kritische Software, die fehlerstumme Software und die betriebssichere Software im NVM für die Ausführung von Operationen während eines Nicht-Fehlerzustandes und eines Fehlerzustandes haben. Wie hierin beschrieben ist der andere Funktionscontroller 14 einem anderen System gewidmet oder wird von einem anderen System gemeinsam genutzt. Wenn der NVM des primären Controllers nicht in der Lage wäre, zusätzliche Anweisungen zu speichern (d. h. die betriebssichere Backup-Software), dann wäre ein zusätzlicher bezeichneter Controller erforderlich, oder ein anderer Funktionscontroller müsste mit einem zusätzlichen NVM-Speicher aufgerüstet werden, was ineffizient wäre.
-
Um dieses Problem zu überwinden, wird Softwarecode-Migration und Rekonfiguration auf dem anderen Funktionscontroller 14 ausgeführt. Die betriebssichere Software des primären Controllers 12 wird in den RAM 26 des anderen Funktionscontrollers 14 übertragen, um es dem anderen Funktionscontroller 14 zu ermöglichen, Operationen des ausgefallenen Systems zu steuern, falls ein Fehler im primären Controller 12 auftritt.
-
Es wird ein Kommunikationsnetzwerk 27 verwendet, das es dem primären Controller 12 und dem anderen Funktionscontroller 14 ermöglicht, miteinander zu kommunizieren und den Softwarecode vom NVM 18 des primären Controllers 12 in den RAM 26 des anderen Funktionscontrollers 14 zu übertragen. 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. Das Kommunikationsnetz 27 ermöglicht es jedem der Controller und Sensoren/Stellgliedern, miteinander zu kommunizieren. Der primäre Controller 12 und der andere Funktionscontroller 14 verwenden das Kommunikationsnetzwerk 27 auch, um Daten zwischen den Sensoren 28 und den Stellgliedern 29 zu empfangen und zu übertragen.
-
2 zeigt ein Flussdiagramm, das sich auf die Migration von Software auf den anderen Funktionscontroller bezieht. In Block 51 wird eine Systemfunktion aktiviert, bei der ein Backup-Controller erforderlich ist. Beispiele solcher Systeme beinhalten, sind aber nicht beschränkt auf, adaptiven Fahrgeschwindigkeitsregelung, autonome Einparkunterstützung und Spurzentrierung.
-
In Block 52 wird in Reaktion auf die Freigabe eines Systembetriebs, der einen Backup-Controller erfordert, falls ein Fehler mit dem primären Controller auftritt, der Softwarecode vom primären Controller in den RAM des anderen Funktionscontrollers migriert. Der nichtflüchtige Speicher des anderen Funktionscontrollers verfügt über Softwarecode, der für ein anderes dediziertes System verwendet wird. Der Softwarecode, der vom primären Controller an den anderen Funktionscontroller übertragen und im RAM des anderen Funktionscontrollers gespeichert wird, bleibt im RAM des anderen Funktionscontrollers gespeichert, bis der gegenwärtig aktivierte Funktionsbetrieb deaktiviert ist.
-
In Schritt 53 wird die Rekonfiguration des anderen Funktionscontrollers für die Systemfunktion durchgeführt. Dies kann das Stoppen einiger oder aller Ausführungen der anderen Funktionen beinhalten, um zu ermöglichen, dass das betriebssichere Backup betriebsbereit wird und als Hot-Standby arbeitet. Dies ist akzeptabel, solange die andere Funktion keine kritische Software ist, die ausgeführt werden muss, während die im RAM gespeicherte und ausgeführte Systemfunktion aktiviert betriebsbereit gemacht wird.
-
In Schritt 54 wird eine Bestimmung durchgeführt, ob ein Fehler im primären Controller auftritt. Wenn kein Fehler auftritt, geht die Routine zu Schritt 56 über, andernfalls geht die Routine zu Schritt 55 über.
-
In Schritt 55 führt der andere Funktionscontroller in Reaktion auf einen erkannten Fehler im primären Controller den Softwarecode aus, der im RAM des anderen Funktionscontrollers gespeichert ist. Der andere Funktionscontroller unterhält den Betrieb der Systemfunktion, bis die Systemfunktion abgeschlossen ist oder bis ein Fahrer die Kontrolle über den autonomen Betrieb fortsetzen kann. Wird im anderen Funktionscontroller zusätzlich zum primären Controller ein Fehler erkannt, so kann der primäre Controller ihn erkennen und sofortige Maßnahmen ergreifen, wie zum Beispiel das Alarmieren des Fahrers, um die Kontrolle über den Betrieb zu übernehmen, oder eine selbständige Bewegung in einen sicheren Bereich (z. B. Straßenrand) und Betätigen verschiedener Sicherheitsfunktionen, die Warnsignale einschließen, aber nicht darauf beschränkt sind.
-
In Schritt 56 wird, bei einer sicheren Deaktivierung der Systemfunkton, der Softwarecode aus dem RAM entfernt. Wird eine nächste Systemfunktion aktiviert, die einen Backup-Controller benötigt, kann der andere Funktionscontroller, falls verfügbar, als Backup-Controller verwendet werden, zum Software-Code migriert und im RAM gespeichert wird.
-
Es versteht sich, dass mehr als ein Funktionscontroller als Backup-Controller verwendet werden kann. In diesem Fall kann je nach Verfügbarkeit ein jeweiliger Controller ausgewählt werden. Das heißt, wenn ein Controller derzeit von seinem dedizierten System genutzt wird und nicht als Backup-Controller genutzt werden kann, dann kann zu diesem Zeitpunkt ein anderer Funktionscontroller ausgewählt werden, der verfügbar ist.
-
3 zeigt ein Blockdiagramm, das den primären Controller 12, den anderen Funktionscontroller 14 und den jeweiligen Softwarecode zeigt, der im jeweiligen zugeordneten Speicher gespeichert ist.
-
Der primäre Controller 12 ist beispielsweise ein externes Objektberechnungsmodul (EOCM, External Object Calculating Module), das zum Erfassen von Objekten und zur Vermeidung von Kollisionen verwendet wird. Der Softwarecode ist permanent im NVM 18 des primären Controllers 12 gespeichert. Verschiedene Arten von Softwarecode, die jeweilige Funktionen regeln, werden als mit einer betriebssicheren Funktion oder einer fehlerstummen oder nicht kritischen Funktion verknüpft identifiziert. Beispiele für Software für fehlerstumme oder nicht kritische Funktionen umfassen die Kollisionsvermeidungssoftware 60 und die Karten/HMI-Software 62. Beispiele für Software für betriebssichere Funktionen umfassen die Situationsbewusstseinssoftware 64, die adaptive Geschwindigkeitssteuerungssoftware 66, die Fahrzeugdynamiksoftware 68 und die Spurzentrierungssteuerungssoftware 70.
-
Der andere Funktionscontroller 14 ist beispielsweise ein Videoverarbeitungsmodul(VPM-)Controller, der verwendet wird, um Video von verschiedenen Videogeräten eines Fahrzeugs zu verarbeiten. Der Softwarecode wird permanent im NVM 24 des primären Controllers 12 gespeichert, um Videoverarbeitungsoperationen zu steuern. Arten von Softwarecode, die im NVM 24 gespeichert sind, umfassen die Videoverarbeitungssoftware 72, die Fußgängererkennungssoftware 74, die Surround-View-Software 76, die Parkassistenzsoftware 78, die Nachtsichtsoftware 80 und die Spurerfassungssoftware 82. Diese Softwarecodes sind dem VPM für die Ausführung von Prozessen durch den VPM-Controller gewidmet. Während der NVM 24 eine dedizierte Software für die Videoverarbeitung enthält, wird Software vom EOCM-Controller über das Kommunikationsnetzwerk 27 zum RAM 26 des VPM-Controllers migriert und dort gespeichert. Wie gezeigt, wird nur die Software, die sich auf die betriebssicheren Funktionen des EOCM bezieht, in den RAM 26 des VPM-Controllers übertragen, was die Situationsbewusstseinssoftware 64, die adaptive Geschwindigkeitssteuerungssoftware 66, die Fahrzeugdynamiksoftware 68 und die Fahrspurzentrierungssteuerungssoftware 70 beinhaltet. Im Falle eines Ausfalls des primären Controllers 12 wird die Steuerung an den anderen Funktionscontroller 14 abgetreten, wobei der jeweilige Softwarecode, der sich auf im RAM 26 gespeicherte betriebssichere Funktionen bezieht, von der CPU 22 des anderen Funktionscontrollers 14 ausgeführt wird.
-
Infolgedessen können Kosten, Komponenten, einschließlich Kommunikationsleitungen und Komplexität reduziert werden, da kein Duplikat-Controller aufrechterhalten werden muss, der als Backup-Controller im Standby-Modus zugewiesen ist und auf einen Fehler im primären Controller wartet.
-
4 zeigt eine Zeitachse zum Ausführen von Softwarecode in jedem Controller. Die Zeitachse 92 repräsentiert die Controllerverarbeitung für den primären Controller, während die Zeitachse 94 eine Controllerverarbeitung für den Backup-Controller darstellt. Zum Zeitpunkt t0 verarbeiten beide Controller Software, die in ihrem jeweiligen NVM gespeichert ist, um ihre jeweiligen Systeme zu überwachen und zu betreiben. Im primären Controller repräsentiert die auf der Zeitachse 92 gezeigte und durch 96 dargestellte Funktionsausführung einen Softwarecode, der sich auf eine nicht kritische Funktionssoftware bezieht, während die auf der Zeitachse 92 gezeigte und durch 98 dargestellte Funktionsausführung einen Softwarecode darstellt, der sich auf betriebssichere Funktionen bezieht. Im anderen Funktionscontroller wird die Funktionsausführungssoftware im NVM des anderen Funktionscontrollers durch 100 dargestellt. Dieser jeweilige Softwarecode führt Funktionsoperationen aus, für deren Verarbeitung der andere Funktionscontroller dediziert ist.
-
Zum Zeitpunkt t1 wird die Softwarecode-Migration 102 im primären Controller und dem anderen Funktionscontroller gestartet. Die Softwarecode-Migration wird ausgelöst, wenn eine entsprechende Funktion vom primären Controller aktiviert wird, der als betriebssichere Funktion identifiziert wird. Betriebssichere Funktionen erfordern einen Backup-Controller, falls ein Fehler im primären Controller auftritt. In Reaktion auf die Ausführung der jeweiligen Funktion im primären Controller wird der Softwarecode vom NVM des primären Controllers in den RAM des anderen Funktionscontrollers migriert. Wenn der Softwarecode in den RAM des anderen Funktionscontrollers übertragen wird, wird eine Rekonfiguration des anderen Funktionscontrollers durchgeführt, um als ein Backup-Controller zu arbeiten, der den Softwarecode im RAM verwendet.
-
Zum Zeitpunkt t2 hält der primäre Controller die Ausführung von Softwarecode sowohl der betriebssicheren Funktionsoperationen und der nicht kritischen Funktionsoperationen aufrecht. Der andere Funktionscontroller wird rekonfiguriert, um die im RAM des anderen Funktionscontrollers gespeicherten betriebssicheren Funktionsoperationen 98 auszuführen. Der andere Funktionscontroller kann weiterhin den in seinem NVM gespeicherten Softwarecode 104 ausführen, wenn er sich auf im RAM gespeicherte Funktionsoperationen bezieht, oder er kann weiterhin den gesamten Softwarecode ausführen, wenn für die Ausführung des gesamten Softwarecodes genügend CPU-Kapazität vorhanden ist. Alternativ kann andere Funktionssoftware im NVM ausgeschaltet oder ein Teil davon ausgeschaltet werden. Wenn zum Beispiel der Softwarecode für die Spurzentrierungssteuerung im RAM des anderen Funktionscontrollers gespeichert ist und der Softwarecode für die Spurabtastung im NVM des anderen Funktionscontrollers gespeichert ist, führt der andere Funktionscontroller weiterhin eine Spurabtastung aus, die sich auf die betriebssicheren Funktionsoperationen bezieht. Der andere Funktionscontroller führt weiterhin den in seinem RAM gespeicherten Softwarecode aus, bis die jeweilige Funktionsoperation, die einen Backup-Controller erfordert, abgeschlossen oder ausgeschaltet 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.