-
Die
vorliegenden Ausführungen betreffen elektronische Datenverarbeitungs-Systeme
mit konfigurierbaren Funktionseinheiten. Es sind elektronische Datenverarbeitungs-Systeme
bekannt, die eine Anzahl von Funktionseinheiten umfassen. Diese Funktionseinheiten
können beispielsweise in Halbleiter-Bauelementen implementiert
sein, die integrierte Schaltkreise umfassen, welche die betreffenden Funktionen
ausführen können. Es sind beispielsweise Mikrocontroller-
bzw. Mikroprozessor-Systeme bekannt, die eine oder mehrere (zentrale)
Steuer- bzw. Recheneinheiten (CPU) aufweisen. Die CPU oder die CPUs
können in Verbindung mit einer oder mehreren Speicher-Einrichtungen,
z. B. einer Programm- und einer Datenspeichereinrichtung, unterschiedliche
Aufgaben oder Programme durchführen bzw. unterschiedliche
Funktionen erfüllen.
-
Systemintegrität
und die Möglichkeit, ein unrichtig oder fehlerhaft arbeitendes
System zu erkennen, ist in vielen Einsatzbereichen elektronischer
Datenverarbeitungs-Systeme wichtig. Eine zuverlässige Funktionsweise
ist besonders bei elektronischen Datenverarbeitungs-Systemen von
Bedeutung, die beispielsweise lebenserhaltende Funktionen steuern bzw. überwachen
oder observierende Aufgaben erfüllen. Solche Systeme verfügen
deshalb über Sicherheitsfunktionen, die beim Auftreten
einer Fehlfunktion vom System ausgeführt werden, mit dem Ziel,
einen sicheren Systemzustand zu erreichen oder aufrecht zu halten.
-
Das
Erkennen unrichtig oder fehlerhaft arbeitender Systeme und das gegebenenfalls
Aktivieren von Sicherheitsfunktionen, wird in der Regel durch die
Implementierung von Redundanz bewerkstelligt, wodurch die Funktionsfähigkeit
getestet bzw. eine Fehlfunktion des Systems erkannt werden kann.
Redundanz bedeutet in dem vorliegenden Zusammenhang, dass das System
die gleiche Funktion mehrfach ausübt, so dass durch einen
Vergleich der entsprechenden Funktionsprodukte ein Fehlverhalten bzw.
eine Fehlfunktion betreffender Funktionseinheiten des Systems erkannt
werden kann.
-
Es
können drei Klassen von Redundanzen unterschieden werden.
Eine erste Klasse von Redundanz, die zum Testen der Funktionsfähigkeit
bzw. zur Erkennung einer Fehlfunktion des Systems verwendet werden
kann, ist die zeitliche Redundanz. Bei der Anwendung der zeitlichen
Redundanz wird eine Funktion zu unterschiedlichen Zeitpunkten in
der Regel auf der selben Implementierung ausgeführt und das
entsprechende Funktionsverhalten des Systems miteinander verglichen.
Dies kann beispielsweise die Ausführung einer Funktion
während der Entwicklungszeit des Systems sein, die mit
der Ausführung der Funktion unter normalen Betriebsbedingungen bzw.
im Feld verglichen wird, was auch als sogenannte Test Routine bezeichnet
wird.
-
Eine
zweite Klasse von Redundanz, die zum Testen der Funktionsfähigkeit
bzw. zur Erkennung einer Fehlfunktion des Systems verwendet werden kann,
ist die örtliche Redundanz. Zur Anwendung der örtliche
Redundanz wird eine Systemressource beispielsweise an unterschiedlichen
Orten mehrfach implementiert und damit die Ausführung auf
gleicher Implementierung. Dadurch kann dieselbe Funktion des Systems
auf mehreren Ressourcen ausgeführt und das Funktionsverhalten des
Systems verglichen werden. Auf diese Weise kann beispielsweise die Funktionsfähigkeit
synchronisierter Doppelprozessorsysteme in automobiler Fahrdynamikregelungen getestet
werden.
-
Eine örtliche
Redundanz kann beispielsweise eingerichtet werden, indem zwei oder
mehrere Ressourcen bzw. Funktionseinheiten eines Systems dieselbe
Funktion ausüben und deren Funktionsprodukte miteinander
verglichen werden. Bei einer Übereinstimmung der von den
Funktionseinheiten gelieferten Funktionsprodukte kann auf eine korrekte Funktion
des Systems geschlossen werden, und bei einer Abweichung der von
den Funktionseinheiten gelieferten Funktionsprodukte kann auf eine
Fehlfunktion des Systems geschlossen werden.
-
Eine
dritte Klasse von Redundanz, die zum Testen der Funktionsfähigkeit
bzw. zur Erkennung einer Fehlfunktion des Systems verwendet werden kann,
ist die funktionale Redundanz. Bei der Anwendung der funktionalen
Redundanz wird eine Systemfunktionalität auf unterschiedliche
Art und Weise mehrfach implementiert. Zur Fehlererkennung werden
diese funktional ähnlichen Implementierungen miteinander
verglichen, ob diese ein zueinander stimmiges bzw. übereinstimmendes
oder ein abweichendes Verhalten zeigen.
-
Jede
dieser drei Redundanz-Klassen verursacht einen zusätzlichen
Ressourcenaufwand im elektronischen System, z. B. Prozessorleistung,
digital Gatter, zusätzliche Bandbreite oder zusätzliche Leitungen.
Da die in einem System erforderlichen Redundanzen stark von der
Anwendung bzw. der Applikation des elektronischen Systems abhängen, können
applikationsspezifische Entwicklungen folgende Probleme mit sich
bringen:
Zum einen kann eine applikationsspezifische Entwicklung
auf Grund der verringerten Komplexität im Gegensatz zu
einer applikationsübergreifenden Entwicklung die Zahl der
systematischen und zufälligen Fehler reduzieren. Jedoch
kann auch die statistische Wahrscheinlichkeit bei einer applikationsübergreifenden
Entwicklung im Gegensatz zu einer applikationsspezifischen Entwicklung
vergrößert werden, durch eine Vielzahl unterschiedlicher
Einsatzfelder bzw. Einsatzgebiete, systematische Fehler zu erkennen und
adäquate Maßnahmen zu deren Vermeidung zu ergreifen.
Zum anderen können viele solcher applikationsspezifischen
Entwicklungen die Entwicklungszeit und die Kosten der Entwicklung
und des Betriebes erhöhen.
-
Mehrfach
vorhandene örtlich redundante Einrichtungen arbeiten üblicherweise
nach denselben synchron ausgeführten Programmen und Algorithmen
sowie nach Maßgabe der gleichen Eingangsgrößen;
dabei arbeiten sie jedoch prinzipiell unabhängig voneinander,
z. B. mit MIMD („Multiple Instruction Multiple Data”).
Zur Funktionssteigerung werden häufig redundante Systeme
aufgebaut, wobei die Systemfunktionalität statisch oder
dynamisch auf die redundanten Ressourcen verteilt bzw. zur Verfügung
gestellt werden kann. Solche redundanten Systeme arbeiten entweder
unabhängig und gleichberechtigt, z. B. mit MIMD („Multiple
Instructions Multiple Data”) oder sequenziell hierarchisch,
z. B. in der Art von Koprozessoren.
-
Eine
Strategie zur Absicherung elektronischer Datenverarbeitungs-Systeme
war es bisher, die Ressourcen redundant zu implementieren und teilweise
auch mehrfach zu implementieren. So beschreiben beispielsweise die Druckschriften
DE 19800311 A1 und
KR 2002033254 die mehrfache
Implementierung der wesentlichen digitalen Steuerungs- bzw. Regelungseinrichtungen.
Dabei können auch Prinzipien der örtlichen Redundanz
(doppelter Prozessorkern) und der funktionalen Redundanz (Parität
bzw. „ECC Fehlerkorrektur Speicherredundanz) angewendet
werden.
-
Es
sind redundante Systeme bekannt, die ein Umschalten von örtlichen
redundanten Ressourcen in zwei verschiedene Konfigurationen erlauben. Beispielsweise
offenbart die Druckschrift
US 6772368 ein
System, bei dem in einer Konfiguration zwei örtlich redundante
Systeme vollständig autark arbeiten und in einer anderen
Konfiguration wiederum vollständig parallel synchronisiert
arbeiten. Dabei besteht jedoch nicht die Möglichkeit des
gegenseitigen Ersetzens der Ressourcen (sogenannter „Hot Swap”)
oder des Mischens unterschiedlicher Redundanz-Klassen, speziell
der funktionalen mit der örtlichen Redundanz.
-
Es
sind ferner redundante Systeme bekannt, deren Redundanz sich im
Falle eines Systemausfalls gegenseitig ersetzen kann. Das Ziel liegt
dabei darin, die Verfügbarkeit des Systems zu erhöhen.
So beschreibt beispielsweise die Druckschrift
EP 0185704 ein System, bei dem redundante
Prozessoren unabhängig voneinander Algorithmen und Programme ausführen
(MIMD: „Multiple Instructions Multiple Data”).
Falls ein Teil der Funktionseinheiten bzw. Prozessoren der Systeme
ausfällt, übernehmen die noch funktionsfähigen
Funktionseinheiten bzw. Prozessoren zusätzlich die Aufgaben
des ausgefallenen Funktionseinheiten bzw. Prozessoren. Diese Funktionsübergabe
wird auch als Konfigurierbarkeit bezeichnet. Die Konfigurierbarkeit
lässt jedoch keinen Betrieb des Systems zu, bei dem konfigurierbare
Fehler erkannt oder alternative Funktionen gefördert werden.
-
Die
vorliegende Erfindung schlägt deshalb ein elektronisches
Datenverarbeitungs-System bzw. ein Verfahren vor, bei dem die Ressourcen
von elektronischen Datenverarbeitungs-Systemen derart gestaltet
werden, dass sie konfigurierbar redundant implementiert werden können.
Dazu können die Ressourcen bzw. Funktionseinheiten des
Datenverarbeitungs-Systems auf unterschiedliche Funktionen konfiguriert
bzw. programmiert werden. Ferner kann eine Verbindungsmatrix, welche
die Eingänge und Ausgänge der Ressourcen bzw.
Funktionseinheiten des Datenverarbeitungs-Systems miteinander verbindet, auf
unterschiedliche Weise konfiguriert bzw. programmiert werden, so
dass sich unterschiedliche Verbindungen zwischen den Funktionseinheiten
ergeben. Die Konfiguration kann dabei dynamischer oder statischer
Natur sein und kann während der Entwicklungsphase bzw.
während der operativen Phase des Systems stattfinden.
-
Die
vorliegende Erfindung kann auf elektronische Datenverarbeitungs-Systeme
angewendet werden, die aus einem oder mehreren Funktionseinheiten
aufgebaut sind. Das elektronische Datenverarbeitungs-System kann
beispielsweise in einer Anzahl von Halbleiter-Bauelementen implementiert sein,
während die Funktionseinheiten in Form von integrierten
Schaltkreisen oder Prozessoren ausgebildet sein können.
-
Als
Funktionseinheit wird in diesem Zusammenhang ein elektronischer
Schaltkreis verstanden, der ein oder mehrere Eingangssignale in
ein oder mehrere Ausgangssignale überführt. Die
Zeit zwischen der Bereitstellung der Eingangssignale und der erzeugten
Ausgangssignale wird im Folgenden als Ausführungszeit bezeichnet.
Die Erzeugung der Ausgangssignale in Abhängigkeit der Eingangssignale
wird im Folgenden als Funktion bezeichnet.
-
Verschiedenen
Applikationen bzw. Anwendungen eines elektronischen Datenverarbeitungs-Systems
können unterschiedliche Anforderung an die Redundanz und/oder
die Performance des Systems stellen. Solche elektronischen Datenverarbeitungs-Systeme
können auf unterschiedliche Weise in einem Halbleiter-Bauelement
oder einem Halbleiter-Modul mit mehreren Bauelementen implementiert
sein.
-
Gemäß einer
Ausführungsform umfasst die vorliegende Erfindung folgende
Komponenten:
- 1. Mindestens ein integrierter
Schaltkreis bzw. Baustein mit einer Anzahl konfigurierbarer Funktionseinheiten
sowie
- 2. Eingänge und Ausgänge der konfigurierbaren Funktionseinheiten,
die über eine Verbindungsmatrix konfigurierbar miteinander
verbunden werden können.
- 3. Diese Verbindungsmatrix umfasst eine Anzahl von elektrischen
Verbindungen zwischen den Eingängen und Ausgängen
der konfigurierbaren Funktionseinheiten zum Austausch von Daten oder
Signalen zwischen den Funktionseinheiten. Die Verbindungsmatrix
ist derart konfigurierbar bzw. programmierbar, dass
- 4. ein und derselbe Schaltkreis durch unterschiedliche Konfigurationen
der Verbindungsmatrix und der Funktionseinheiten alternativ auf
zwei oder mehrere der folgenden Weisen betrieben werden können:
a.
Zwei oder mehr Funktionseinheiten erzeugen dieselbe oder die gleiche
Funktion. Dabei ist die Verbindungsmatrix derart konfiguriert, dass
die mehrfach erzeugten Funktionsergebnisse zu einer weiteren Funktionseinheit
geschaltet werden, welche diese miteinander vergleicht und ein Fehlverhalten
einer oder mehreren Funktionseinheiten bzw. Verbindungen erkannt
werden können, womit eine Redundanz für die betreffende
Systemfunktion eingerichtet wird. Dabei kann die Redundanz beispielsweise örtlicher,
zeitlicher und/oder funktionaler Art sein.
b. Diese zwei oder
mehr Funktionseinheiten und die Verbindungsmatrix zwischen den Funktionseinheiten
können so konfiguriert werden, dass die Systemfunktion
derart auf die zwei oder mehr Funktionseinheiten verteilt wird,
dass eine Verkürzung der Ausführungszeit erreicht
wird oder eine qualitativen und/oder quantitativen Erweiterung der
Funktion oder der Funktionen erfolgt, wodurch eine Funktionserweiterung
erzielt werden kann.
c. Diese zwei oder mehr Funktionseinheiten
können ferner eine oder mehrere andere Funktionseinheiten
ersetzen. Dabei können sie zum Beispiel eine ähnliche
oder gleiche Funktion aufweisen wie die ersetze oder die ersetzten
Funktionseinheiten, sie können jedoch auch eine gänzlich verschiedene
Funktion zeigen oder besitzen, um beispielsweise die Fehlertoleranz
zu kontrollieren oder eine Fehlersicherheit einzurichten.
-
Gemäß einem
Aspekt der vorliegenden Erfindung können folglich Vergleichsfunktionen
synchroner redundanter Systeme so konfiguriert bzw. programmiert
werden, um sie alternativ funktionserweiternd verwenden zu können.
Nach einem weiteren Aspekt der vorliegenden Erfindung können
zur funktionalen Absicherung von elektronischen Datenverarbeitungs-Systemen,
d. h. zur Steigerung einer zuverlässigen Funktionsweise
des Systems, die elektronischen Ressourcen des Systems konfigurierbar
redundant implementiert werden.
-
Gemäß einer
Ausführungsform der vorliegenden Erfindung können
zur Absicherung eines elektronischen Datenverarbeitungs-Systems
dessen elektronischen Ressourcen auch mehrfach konfigurierbar redundant
implementiert werden. Gemäß noch einer weiteren
Ausführungsform der vorliegenden Erfindung können
zur funktionalen Absicherung eines elektronischen Datenverarbeitungs-Systems dessen
elektronischen Ressourcen alternativ konfigurierbar redundant implementiert
werden.
-
Bei
einer alternativen Konfigurierbarkeit der Redundanzen kann beispielsweise
ein erster Teil der Konfigurationen auf die Steigerung der Funktionalität des
Systems gerichtet sein, um beispielsweise die Leistung (Performanz)
des Systems zu erhöhen, und ein zweiter Teil der Konfigurationen
kann auf die Steigerung der Redundanz gerichtet sein, um unrichtiges bzw.
fehlerhaftes Systemverhalten zu erkennen. Dazu kann beispielsweise
die oben beschriebene funktionale oder örtliche Redundanz
verwendet werden.
-
Die
Konfiguration des Systems kann beispielsweise während der
Entwicklung bzw. Design des Systems stattfinden. Alternativ kann
die Konfiguration des Systems auch während des Betriebs
bzw. im Feld durch den Endnutzer erfolgen. Dazu kann in der Dokumentation
eines Systems angegeben sein, wie dessen Konfiguration vorgenommen
werden kann. Unterschiedliche Redundanzen des Systems kann zu abweichender
Funktionsweise bzw. abweichendem Verhalten des Systems vor und nach
einer Konfiguration führen.
-
Im
Folgenden wird die Erfindung anhand eines bevorzugten Ausführungsbeispiels
und der beigefügten Zeichnungen näher erläutert.
In den Zeichnungen zeigt:
-
1 eine
schematische Darstellung der Konfiguration einer Funktionseinheit
zur Steigerung des Funktionsumfangs eines Systems gemäß einer Ausführungsform
der vorliegenden Erfindung;
-
2 eine
schematische Darstellung der Konfiguration von Funktionseinheiten
zur Funktionserweiterung eines Systems gemäß einer
weiteren Ausführungsform der vorliegenden Erfindung;
-
3 eine
schematische Darstellung des zeitlichen Verlaufs einer Konfiguration
von Funktionseinheiten zur Funktionserweiterung eines Systems gemäß einer
weiteren Ausführungsform der vorliegenden Erfindung;
-
4 eine
schematische Darstellung der Konfiguration von Funktionseinheiten
zur Steigerung der Fehlererkennung des Systems gemäß einer
weiteren Ausführungsform der vorliegenden Erfindung; und
-
5 eine
schematische Darstellung des zeitlichen Verlaufs einer Konfiguration
von Funktionseinheiten zur Steigerung der Fehlererkennung gemäß einer
weiteren Ausführungsform der vorliegenden Erfindung.
-
1 zeigt
ein Beispiel zur Konfiguration einer Funktionseinheit zur Steigerung
des Funktionsumfangs eines Systems gemäß einer
Ausführungsform der vorliegenden Erfindung. Die Funktionseinheit
ist in 1 als gestricheltes Rechteck dargestellt und kann
beispielsweise ein Prozessor oder ein integrierter Schaltkreis sein,
der zur Durchführung elektronischer Daten- oder Signalverarbeitung ausgebildet
ist. Die Funktionseinheit kann beispielsweise eine Systemkomponente
der folgenden Art sein:
- 1. Prozessoren
- 2. Eingabeeinheiten
- 3. Ausgabeeinheiten
- 4. Speichereinheiten
- 5. Logikeinheiten
-
In
einer ersten Konfiguration können die Funktionseinheiten
der Steigerung des Funktionsumfangs dienen. Dies kann beispielsweise
durch unabhängige Operation der Funktionseinheiten erreicht werden.
-
Die
von der Funktionseinheit des Systems durchgeführten Funktionen
können beispielsweise eine oder mehrere der folgenden Aktionen
beinhalten:
- 1. Zustandserzeugung oder Zustandserkennung eines
Zustands oder einer Kombinationen von Zuständen;
- 2. Ereigniserzeugung oder Ereigniserkennung eines Ereignis oder
einer Kombinationen von Ereignissen;
- 3. Erkennung eines Fehlers oder einer Fehlfunktion des Systems;
- 4. Speicherung eines Zustandes oder Ereignisses;
- 5. oder andere Funktionen
-
Bei
dem in 1 dargestellten Beispiel ist die Funktionseinheit
so konfiguriert, dass der Funktionseinheit ein Eingangssignal zugeführt
wird, auf das die Funktionseinheit eine bestimmte Funktion anwendet
und das Funktionsprodukt als Ausgangssignal abgibt. Das Ausgangssignal
entspricht demnach der Funktion des Eingangssignals, d. h.
- Ausgangssignal
= Funktion (Eingangssignal) bzw.
- Ausgangssignal = f (Eingangssignal)
-
Dabei
muss das Eingangssignal oder das Ausgangssignal nicht explizit,
d. h. von außerhalb der Funktionseinheit zugeführt
werden bzw. die Funktionseinheit explizit, d. h. nach außen
die Funktionseinheit verlassen. Alternativ kann die Funktionseinheit
auch so konfiguriert sein, dass das Eingangssignal implizit, d.
h. innerhalb der Funktionseinheit wieder zugeführt wird
bzw. das Ausgangssignal kann auch implizit, d. h. innerhalb der
Funktionseinheit weitergeleitet wird, wie durch die unteren Pfeile
in 1 angedeutet. So kann beispielsweise die Zeit durch
ein zugeführtes Taktsignal o. ä. implizit einer Funktionseinheit
zugeführt werden oder explizit die Funktionseinheit verlassen.
Selbstverständlich kann die Funktion auch einen nicht linearen
Charakter aufweisen oder z. B. Zustandsdaten mit einbeziehen.
-
Es
können auch zwei oder mehrere Funktionseinheiten dieselbe
Funktion ausüben bzw. zur Verfügung stellen, wenn
sie für alle vorkommenden Eingangsignale identische Ausgangssignale
erzeugen. Darüber hinaus können zwei oder mehrere Funktionseinheiten
die gleiche Funktion ausüben bzw. zur Verfügung
stellen, wenn für alle vorkommenden Eingangssignale ähnliche
Ausgangssignale erzeugt werden. Die Ausgangssignale einer Funktionseinheit
können Daten oder Konfigurationen für andere Funktionseinheiten
enthalten. Diese Daten oder Konfigurationen für andere
Funktionseinheiten können das Produkt der Funktion sein,
welche die Funktionseinheit anwendet.
-
Erfindungsgemäß können
eine oder mehrere dieser Funktionseinheiten so konfiguriert oder
programmiert werden, dass sie beispielsweise auf eine oder mehrere
der folgenden Weisen betrieben werden können:
- 1. Die Funktionseinheiten erzeugen dieselbe oder die gleiche
Funktion wie eine oder mehrere andere Funktionseinheiten. Somit
kann durch einen Vergleich dieser zwei oder mehr Funktionsprodukte
ein Fehlverhalten dieser oder einer der anderen Funktionseinheiten
erkannt werden, womit eine Redundanz geschaffen wird. Dabei kann
diese Redundanz beispielsweise örtlicher, zeitlicher und/oder
funktionaler Art sein.
- 2. Die Funktionseinheiten überprüfen, ob zwei oder
mehr Funktionseinheiten untereinander dieselbe oder die gleiche
Funktion zeigen oder besitzen (Fehlererkennung). Dabei kann diese
Fehlererkennung beispielsweise auf örtlicher, zeitlicher und/oder
auf funktionaler Redundanz beruhen.
- 3. Die Funktionseinheiten erweitern die Performance des Systems.
Unter einer Erweiterung der Leistung (Performanz) wird hier entweder
eine Verkürzung der Ausführungszeit einer Funktion verstanden
oder eine qualitativen und/oder quantitativen Erweiterung der Funktionen
des Systems (Funktionserweiterung).
- 4. Die Funktionseinheiten ersetzen eine oder mehrere andere
Funktionseinheiten. Dabei zeigen die Funktionseinheiten zum Beispiel
eine ähnliche oder gleiche Funktion wie die ersetzte Funktionseinheit
oder die ersetzten Funktionseinheiten. Die Funktionseinheiten können
auch eine andere Funktion zeigen oder ausüben (Fehlertoleranz,
Fehlersicherheit) als die ersetzte Funktionseinheit oder die ersetzten
Funktionseinheiten.
-
Nach
einem weiteren Aspekt der vorliegenden Erfindung kann die Konfigurierbarkeit
und/oder Programmierbarkeit einer Funktionseinheit beispielsweise
zu einem der folgenden Zeitpunkte vorgesehen sein:
- 1. Während der Entwicklungsphase des Systems, beispielsweise
durch die physikalische konfigurierte Implementierung eines entsprechenden Schaltkreises
in einem der Halbleiter-Bauelemente des Systems während
der Herstellung, und/oder
- 2. während des Betriebs des Systems im Anwendungseinsatz
bzw. im Feld, beispielsweise durch eine entsprechende applikationsgesteuerte
Konfiguration des betreffenden Schaltkreises, und/oder
- 3. bei Vorliegen einer unkorrekten bzw. fehlerhaften Funktion
einer oder mehrerer Funktionseinheiten des Systems.
-
In
dem vorliegenden Zusammenhang bedeutet die Konfiguration oder Programmierung
einer Funktionseinheit, dass die Funktionseinheit eine Konfiguration
oder Programmierung erhält, welche die Funktionseinheit
in der Art verändert, dass diese dazu veranlasst bzw. befähigt
wird eine bestimmte Funktion auszuüben, d. h. eine bestimmte
Funktion auf eingehende Signale oder Daten anzuwenden und das entsprechende
Funktionsprodukt als ausgehende Signale oder Daten auszugeben.
-
Die
Konfiguration oder Programmierung der Funktionseinheiten kann beispielsweise
folgendermaßen erfolgen:
- 1. Statisch,
d. h. sie kann einmal, z. B. nach jedem Systemstart, festgelegt
werden und bleibt danach unveränderlich, oder
- 2. Dynamisch, d. h. sie kann in Abhängigkeit eines Ereignisses
oder Zustandes im Laufe des Systembetriebs veränderlich
sein.
-
Nach
der vorliegenden Erfindung kann bei einer statischen Konfiguration
eine konfigurierbar redundant implementierte Funktionseinheit durch
eine andere Funktionseinheit einmal und unveränderlich konfiguriert
werden. Bei einer dynamischen Konfiguration kann eine konfigurierbar
redundant implementierte Funktionseinheit durch eine andere Funktionseinheit
immer wieder neu konfiguriert und beispielsweise auf veränderte
Anforderungen oder Randbedingungen des Systems angepasst werden.
-
Die
vorliegende Erfindung kann in einer Vielzahl von Applikationen eingesetzt
werden, die zwei oder mehr verschiedene Umfänge bzw. Anforderungen
an Performanz-, Fehlererkennungs- und Redundanz-Eigenschaften erfüllen
sollen. Aufgrund der erfindungsgemäßen Konfigurierbarkeit
redundanter Funktionseinheiten mit ähnlichen Funktionen,
die jedoch einen unterschiedlichen Funktionsumfang aufweisen können,
kann ein und dasselbe System unterschiedlich konfiguriert werden.
-
Ein
erfindungsgemäßer Schaltkreis mit einer Anzahl
von Funktionseinheiten kann durch eine veränderte Konfigurierung
der Verbindungsmatrix zwischen den Funktionseinheiten sowie optional
durch eine veränderte Konfiguration der Funktionseinheiten in
einer Vielzahl von Applikationen eingesetzt werden, welche zwei
oder mehr unterschiedliche Umfänge an Performanz-, Fehlererkennungs-
und Redundanz-Eigenschaften erfordern.
-
In 2 ist
ein Beispiel der Konfiguration von Funktionseinheiten zur Steigerung
der Funktionserweiterung eines Systems gemäß einer
weiteren Ausführungsform der vorliegenden Erfindung gezeigt.
In einer ersten Konfiguration dienen die Funktionseinheiten 1, 2 und 3 der
Steigerung des Funktionsumfangs des Systems, d. h. der Steigerung
der Anzahl der von dem System ausgeführten Funktionen,
z. B. pro Zeiteinheit. Dies kann beispielsweise durch eine unabhängige
Operation der Funktionseinheiten 1, 2, 3 erfolgen.
-
Anhand
des in 2 gezeigten Ausführungsbeispiels der
vorliegenden Erfindung soll ein Schaltkreis beschrieben werden,
der folgende 6 Funktionseinheiten besitzt.
- 1.
Funktionseinheit 1 und Funktionseinheit 2 sind Timereinheiten
welche jeweils ein Pulsweitenmoduliertes Signal erzeugen können.
- 2. Funktionseinheit 3 führt beispielsweise
eine Funktion aus, die Pulse zählen und Pulsweitensignale
vergleichen kann.
- 3. Funktionseinheit 4 und Funktionseinheit 5 sind jeweils
Mikrocontroller, die beispielsweise ein Programm in einem Instruktionsspeicher
abarbeiten können.
- 4. Funktionseinheit 6 führt beispielsweise
eine Funktion aus, welche Daten auf Plausibilität überprüfen
sowie Daten bewegen kann (intelligente DMA).
-
Bei
dem in 2 gezeigten Ausführungsbeispiel sind
somit mehrere Funktionseinheiten 1, 2, 3, 4, 5, 6 vorgesehen,
die über Signalleitungen miteinander verbunden sind, die
schematisch durch Pfeile dargestellt sind. Die Signalleitungen stellen
eine Verbindungsmatrix dar, über die Eingänge
und Ausgänge Funktionseinheiten miteinander verbunden sind. Erfindungsgemäß kann
diese Verbindungsmatrix mit einer Anzahl von Signalleitungen auf
unterschiedliche Weise konfiguriert bzw. programmiert werden, so dass
sich unterschiedliche Verbindungen zwischen den Funktionseinheiten
ergeben. Die Verbindungsmatrix kann beispielsweise in Abhängigkeit
von Anwendungsfall des Systems bzw. Schaltkreises oder in Abhängigkeit
eines Ereignisses oder Zustandes konfiguriert bzw. programmiert
werden.
-
Die
vierte Funktionseinheit 4 kann beispielsweise die Messdaten
der dritten Funktionseinheit 3 lesen, diese Messdaten filtern,
zusammen führen, konvertieren und die Messdaten in eine
sechste Funktionseinheit 6 übertragen. Ferner
kann die vierte Funktionseinheit 4 Daten aus der sechsten
Funktionseinheit 6 lesen, diese ausgelesenen Daten verarbeiten
und konvertieren und auf deren Grundlage die erste und zweite Funktionseinheit 1, 2 derart
konfigurieren bzw. programmieren, dass die erste und/oder die zweite
Funktionseinheit 1, 2 dementsprechend veränderte
zeitliche Signale generieren.
-
Eine
fünfte Funktionseinheit 5 kann beispielsweise
Daten aus der sechsten Funktionseinheit 6 lesen und durch
entsprechende Steueralgorithmen und Modellen veränderte
Daten erzeugen, die wiederum an die sechste Funktionseinheit 6 übertragen und
dort gespeichert werden können.
-
Die
sechste Funktionseinheit 6 kann nunmehr bei Vorliegen von
neuen Daten aus der fünften Funktionseinheit 5 die
Ausübung von Funktionen in der vierten Funktionseinheit 4 anstoßen
bzw. veranlassen (triggern), was durch den schmalen Pfeil zwischen
der vierten und der sechsten Funktionseinheit angedeutet ist. Die
sechste Funktionseinheit 6 kann ferner bei Vorliegen von
neuen Daten aus der vierten Funktionseinheit 4 die Ausübung
von Funktionen in der fünften Funktionseinheit 5 anstoßen
(triggern) bzw. veranlassen, was durch den schmalen Pfeil zwischen
der fünften und der sechsten Funktionseinheit angedeutet
ist. Die sechste Funktionseinheit 6 kann auch die Speicherung
von Daten und das Triggern bzw. Veranlassen von datenabhängigen
Funktionen in der vierten und/oder fünften Funktionseinheit 5 ermöglichen.
-
Die
in 2 dargestellte Ausführungsform der vorliegenden
Erfindung wird nachfolgend anhand eines Anwendungsbeispiels eines
elektronischen Signalverarbeitungs-Systems zur Steuerung eines Verbrennungsmotors
erläutert. Dabei erzeugt eine Funktionseinheit 1 ein
erstes periodisches zeitliches Signal, z. B. das Signal zur Ansteuerung
eines Ventils für die Einspritzung von Kraftstoff in den/die
Zylinder eines Verbrennungsmotors. Eine weitere Funktionseinheit 2 erzeugt
ein zweites unabhängiges zeitliches Signal, z. B. zur Ansteuerung
einer Zündspule zur Erzeugung eines Zündfunkens
in dem Verbrennungsmotor. Eine dritte Funktionseinheit 3 bestimmt
und zählt ein drittes zeitliches Signal, z. B. das Winkelstellungssignal
der Kurbelwelle des Verbrennungsmotors, das von einem Winkelsensor
erfasst wird. Diese drei Funktionseinheiten 1, 2 und 3 können
unabhängig voneinander arbeiten und erweitern so die System-Funktionalität
sowie die System-Performanz, d. h. sie steigern die Anzahl der von
dem System durchgeführten Funktionen pro Zeiteinheit und
erhöhen damit die Arbeitsgeschwindigkeit des Systems. Derselbe
integrierte Schaltkreis, wie in 2 dargestellt, kann
nach der vorliegenden Erfindung durch Veränderung der Verbindungsmatrix
und Konfiguration der Funktionseinheiten auch für eine
sicherheitsrelevante Anwendung umkonfiguriert werden.
-
In 3 ist
der zeitliche Verlauf einer Konfiguration zur Steigerung der Funktionserweiterung
eines Systems gemäß einer Ausführungsform
der vorliegenden Erfindung dargestellt. Dabei sind auf der y-Achse
die einzelnen Funktionseinheiten 1–6 übereinander
und die von den Funktionseinheiten 1–6 ausgeübten
Funktionen 1–6 im zeitlichen Verlauf
der X-Achse dargestellt. Im ersten Zeitabschnitt wendet beispielsweise
die dritte Funktionseinheit 3 eine Funktion 3 an,
während im zweiten Zeitabschnitt die dritte Funktionseinheit 3 die
Funktion 3 und gleichzeitig eine vierte Funktionseinheit 4 eine
weitere Funktion 4 ausübt. Zwischen dem ersten
und dem zweiten Zeitabschnitt übergibt die dritte Funktionseinheit 3 der
vierten Funktionseinheit 4 Daten oder eine Konfiguration,
was durch den Pfeil durch den Übergang zwischen den ersten
und zweiten Zeitabschnitt angedeutet ist.
-
Bei
der in 3 dargestellten Ausführungsform können
eine erste und zweite Funktionseinheit 1, 2 sowohl
zeitlich als auch funktional parallel arbeiten, während
eine dritte, vierte, fünfte und sechste Funktionseinheit 3, 4, 5, 6 zeitlich
hintereinander und synchron zueinander arbeiten können
und damit die System-Funktionalität erweitern. Bei der
in 3 gezeigten Ausführungsform können
beispielsweise dieselben Funktionseinheiten 1, 2, 3, 4, 5, 6 von
anderen Funktionseinheiten je nach Bedarf der Anwendung jeweils
unterschiedlich konfiguriert bzw. programmiert werden, was durch
Pfeile zwischen den Funktionseinheiten angedeutet ist. Demnach können
sowohl Daten als auch Konfigurationen zwischen den Funktionseinheiten 1, 2, 3, 4, 5 und 6 übergeben
werden.
-
Wie
aus dem Zeitdiagramm der 3 zu entnehmen ist, kann die Übergabe
von Daten oder Konfigurationen zwischen den Funktionseinheiten 1, 2, 3, 4, 5 und 6 sowohl
gleichzeitig als auch zu unterschiedlichen Zeitpunkten geschehen.
Ferner kann eine Funktionseinheit Daten oder Konfigurationen an eine
oder mehrere Funktionseinheiten gleichzeitig oder sequentiell übergeben.
Darüber hinaus können mehrere Funktionseinheiten
Daten oder Konfigurationen gleichzeitig oder sequentiell von einer
Funktionseinheit erhalten.
-
4 zeigt
eine weitere Ausführungsform der vorliegenden Erfindung,
bei der eine Konfiguration von Funktionseinheiten eines Systems
zur Steigerung der Fehlererkennung durchgeführt werden kann.
Die in 4 dargestellte Ausführungsform der vorliegenden
Erfindung wird nachfolgend anhand eines Anwendungsbeispiels eines
elektronischen Datenverarbeitungs-Systems zur Steuerung eines Bremskraftverstärkers
in einem Kraftfahrzeug erläutert.
-
Bei
dieser Ausführungsform können eine erste und zweite
Funktionseinheit 1, 2 dasselbe Signal erzeugen,
z. B. zur Ansteuerung eines Auslassventils für einen Radbremszylinder.
Dies kann beispielsweise dann erforderlich sein, wenn durch übermäßige
Bremsung eines blockierenden Rades ein Druckabbau im Radbremszylinder
erreicht werden muss. Die erste und zweite Funktionseinheit 1, 2 üben
daher die gleiche Funktion aus, so dass die zweite Funktionseinheit 2 im
Bezug auf die erste Funktionseinheit 1 redundant ist. Die
von der ersten und zweiten 1, 2 Funktionseinheit
erzeugten Signale sollen beispielsweise synchron und zeitlich periodisch
erfolgen.
-
Eine
dritte Funktionseinheit 3 kann die zeitliche Synchronität
der beiden – von der ersten und zweiten 1, 2 Funktionseinheit
erzeugten – redundanten Signale vergleichen. Dies geschieht
beispielsweise durch Zählen des Abstandes von Signalflanken, die
in den beiden von der ersten und zweiten Funktionseinheit 1, 2 erzeugten
Signalen vorhanden sind. Eine vierte und fünfte Funktionseinheit 4, 5 können beispielsweise
gleichzeitig die erste und zweite Funktionseinheit 1, 2,
konfigurieren was durch die Pfeile von der vierten und fünften
Funktionseinheit 4, 5 zu der ersten und zweiten
Funktionseinheit 1, 2 angedeutet ist. Auf diese
Weise ist die fünfte Funktionseinheit 5 im Bezug
auf die vierte Funktionseinheit 4 redundant. Eine sechste
Funktionseinheit 6 kann dabei die Konfigurationssignale
der vierten und fünften Funktionseinheit 4, 5 miteinander
vergleichen.
-
In
den beiden in 2 und in 4 dargestellten
Ausführungsbeispielen bzw. Anwendungsbeispielen der vorliegenden
Erfindung kann die beschriebene Konfigurierung der Verbindungsmatrix mit
einer Anzahl von Signalleitungen sowie die Konfigurierung der Funktionseinheiten
des integrierten Schaltkreises zu folgenden Zeitpunkten vorliegen oder
verändert werden:
- 1. während
der Entwicklungsphase, beispielsweise durch entsprechende physikalische
Implementierung des Schaltkreises,
- 2. während des Betriebs im Feld, beispielsweise durch
entsprechende applikationsgesteuerte Konfiguration des Schaltkreises,
- 3. und/oder bei Vorliegen einer unkorrekten Funktion einer oder
mehrere Funktionseinheiten.
-
Die
Konfigurierbarkeit kann dabei folgender Art sein:
- 1.
statisch, d. h. sie braucht nur ein einziges Mal festgelegt und
kann danach unveränderlich sein, oder
- 2. dynamisch, d. h. sie kann in Abhängigkeit eines Ereignisses
oder Zustandes veränderbar sein.
-
5 zeigt
den zeitlichen Verlauf einer Konfiguration von Funktionseinheiten
zur Steigerung der Fehlererkennung gemäß einer
Ausführungsform der vorliegenden Erfindung. Dabei sind
auf der y-Achse die einzelnen Funktionseinheiten 1–6 übereinander und
die von den Funktionseinheiten 1–6 ausgeübten Funktionen 1–4 im
zeitlichen Verlauf der X-Achse dargestellt. Im ersten Zeitabschnitt
führen beispielsweise die vierte und fünfte Funktionseinheit 4, 5 eine Funktion 1 aus,
während im zweiten Zeitabschnitt gleichzeitig die erste
und zweite Funktionseinheit 1, 2 die Funktion 3 sowie
eine sechste Funktionseinheit 6 eine weitere Funktion 2 ausüben.
Zwischen dem ersten und dem zweiten Zeitabschnitt übergeben
die vierte und fünfte Funktionseinheiten 4, 5 der
ersten und zweiten Funktionseinheiten 1, 2 sowie
an die sechste Funktionseinheit 6 Daten oder Konfigurationen,
was durch die Pfeile durch den Übergang zwischen den ersten
und zweiten Zeitabschnitt dargestellt ist.
-
Dabei
dienen jeweils die erste und zweite Funktionseinheit 1, 2 bzw.
die vierte und fünfte Funktionseinheit 4, 5 nicht
einer Erweiterung des Funktionsumfangs, sondern einer redundanten
Funktions-Implementierung, was durch das Attribut „Redundant” und
durch den beide Funktionseinheiten umschließenden Rahmen
gekennzeichnet ist. Die dritte und sechste Funktionseinheit 3, 6 stellen
selbst keine Funktion zur Verfügung, sondern dienen lediglich
der Überprüfung auf Fehler, was durch das Attribut „Überprüfung” gekennzeichnet
ist. Die beiden ersten (Funktion 1), die vierte und die
fünfte Funktionseinheiten (Funktion 3) können
die Systemfunktion erweitern, was durch das Attribut „Redundant
oder Funktions-erweiternd” gekennzeichnet ist. Bei dem
in 5 dargestellten Ausführungsbeispiel wirken
die erste und die zweite Funktionseinheit 1 und 2 redundant
oder funktionserweiternd. Somit können die Funktionseinheiten 1, 2 so
konfiguriert werden, dass sie zu einer Steigerung der Fehlererkennung
im System, zu einer Funktions-Erweiterung oder zu einer Leistungs-
bzw. Performanz-Erweiterung des Systems beitragen.
-
Die
zuletzt beschriebene Ausführungsform der vorliegenden Erfindung
zeigt auch, dass diese auch eine Architektur-Implementierung beliebiger Mischsysteme
erlaubt, bei der ein Teil der Funktionseinheiten für eine
Funktions-Erweiterung, ein zweiter Teil der Funktionseinheiten zur
Funktions-Überprüfung und ein dritter Teil der
Funktionseinheiten zur Erzeugung von Redundanzen dienen kann. Auf
diese Weise kann diese System-Architektur auch bei solchen Applikationen
Verwendung finden, die nur für Teilfunktionen einer Redundanz
bedürfen, während andere Teilfunktionen nicht
redundant konfiguriert werden.
-
Ferner
kann diese Architektur mit einer Konfiguration von Funktionseinheiten
zur Steigerung der Fehlererkennung auch dazu verwendet werden, um Dreifach-Redundanzen
oder höhere Mehrfach-Redundanzen im System zu erzeugen.
Auch wenn bei den oben beschriebenen Ausführungsbeispielen oder
Anwendungsbeispielen der vorliegenden Erfindung eine bestimmte Anzahl
von Funktionseinheiten 1, 2, 3, 4, 5 oder 6 dargestellt
wurden, kann der erfindungsgemäße Schaltkreis
eine beliebige Anzahl von Funktionseinheiten 1, 2, 3,
..., n umfassen, die jeweils gleiche oder unterschiedliche Funktionen
ausüben können.
-
Während
in der vorliegenden Beschreibung bestimmte exemplarische Ausführungsformen
im Detail beschrieben und in den beigefügten Zeichnungen
dargestellt wurden, sind solche Ausführungsformen lediglich
illustrativ zu verstehen und nicht einschränkend für
den Schutzbereich der Erfindung auszulegen. Es wird deshalb darauf
hingewiesen, dass verschiedene Modifikationen an den beschriebenen,
dargestellten oder anderen Ausführungsformen der Erfindung
vorgenommen werden können, ohne von dem durch die beigefügten
Ansprüche definierten Schutzumfang und dem Kern der Erfindung abzuweichen.
-
- 1
- erste
Funktionseinheit
- 2
- zweite
Funktionseinheit
- 3
- dritte
Funktionseinheit
- 4
- vierte
Funktionseinheit
- 5
- fünfte
Funktionseinheit
- 6
- sechste
Funktionseinheit
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste
der vom Anmelder aufgeführten Dokumente wurde automatisiert
erzeugt und ist ausschließlich zur besseren Information
des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen
Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt
keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- - DE 19800311
A1 [0010]
- - KR 2002033254 [0010]
- - US 6772368 [0011]
- - EP 0185704 [0012]