[go: up one dir, main page]

DE102008024193A1 - System mit konfigurierbaren Funktionseinheiten und Verfahren - Google Patents

System mit konfigurierbaren Funktionseinheiten und Verfahren Download PDF

Info

Publication number
DE102008024193A1
DE102008024193A1 DE102008024193A DE102008024193A DE102008024193A1 DE 102008024193 A1 DE102008024193 A1 DE 102008024193A1 DE 102008024193 A DE102008024193 A DE 102008024193A DE 102008024193 A DE102008024193 A DE 102008024193A DE 102008024193 A1 DE102008024193 A1 DE 102008024193A1
Authority
DE
Germany
Prior art keywords
functional
functional units
functional unit
function
units
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
DE102008024193A
Other languages
English (en)
Inventor
Wilhard von Dr. Wendorff
Detlev Dr. Leisengang
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE102008024193A priority Critical patent/DE102008024193A1/de
Priority to US12/467,733 priority patent/US8375256B2/en
Publication of DE102008024193A1 publication Critical patent/DE102008024193A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/845Systems in which the redundancy can be transformed in increased performance

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

Die vorliegende Erfindung betrifft ein Verfahren sowie ein System zur Verarbeitung von Daten oder Signalen mit einer Anzahl von Funktionseinheiten, die jeweils eine oder mehrere Funktionen auf die Daten oder Signale anwenden können und über eine Verbindungsmatrix miteinander verbunden sind zum Austausch von Daten oder Signalen zwischen den Funktionseinheiten, wobei zumindest eine Funktionseinheit des Systems derart programmierbar und/oder konfigurierbar ist, dass sie eine bestimmte Funktion aus einer Anzahl unterschiedlicher Funktionen ausübt, und die Verbindungsmatrix derart programmiert und/oder konfiguriert wird, dass die Funktionseinheiten in einer bestimmten Konfiguration aus einer Anzahl unterschiedlicher Konfigurationen miteinander verbunden werden.

Description

  • 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 16 übereinander und die von den Funktionseinheiten 16 ausgeübten Funktionen 16 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 16 übereinander und die von den Funktionseinheiten 16 ausgeübten Funktionen 14 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]

Claims (31)

  1. Verfahren zur Verarbeitung von Daten oder Signalen mittels eines Systems umfassend eine Anzahl von Funktionseinheiten (1, 2, 3, 4, 5, 6), die jeweils eine oder mehrere Funktionen auf die Daten oder Signale anwenden können und über eine Verbindungsmatrix miteinander verbunden sind zum Austausch von Daten oder Signalen zwischen den Funktionseinheiten, dadurch gekennzeichnet, dass zumindest eine Funktionseinheit (1, 2, 3, 4, 5, 6) des Systems derart programmiert und/oder konfiguriert wird, dass sie eine bestimmte Funktion aus einer Anzahl unterschiedlicher Funktionen ausübt, und die Verbindungsmatrix derart programmiert und/oder konfiguriert wird, dass die Funktionseinheiten in einer bestimmten Konfiguration aus einer Anzahl unterschiedlicher Konfigurationen miteinander verbunden werden.
  2. Verfahren nach Anspruch 1, wobei das System durch eine erste Konfiguration und/oder Programmierung der Verbindungsmatrix und der Funktionseinheiten derart betrieben wird, dass mindestens zwei Funktionseinheiten die gleiche Funktion ausüben.
  3. Verfahren nach einem der vorangehenden Ansprüche, wobei das System durch eine zweite Konfiguration und/oder Programmierung der Verbindungsmatrix und der Funktionseinheiten derart betrieben wird, dass mehrfach erzeugte Funktionsergebnisse zu einer weiteren Funktionseinheit übermittelt werden, welche die Funktionsergebnisse miteinander vergleicht und eine Abweichung und/oder Fehlverhalten einer oder mehrerer Funktionseinheiten bzw. Verbindungen detektiert.
  4. Verfahren nach einem der vorangehenden Ansprüche, wobei das System durch eine zweite Konfiguration und/oder Programmierung der Verbindungsmatrix und der Funktionseinheiten derart betrieben wird, dass eine Funktion auf mindestens zwei Funktionseinheiten verteilt wird, zur Verkürzung der Ausführungszeit oder zur qualitativen und/oder quantitativen Funktionserweiterung.
  5. Verfahren nach einem der vorangehenden Ansprüche wobei das System durch eine dritte Konfiguration und/oder Programmierung der Verbindungsmatrix und der Funktionseinheiten derart betrieben wird, dass mindestens eine Funktionseinheit eine oder mehrere andere Funktionseinheiten ersetzt.
  6. Verfahren nach einem der vorangehenden Ansprüche, wobei zumindest eine programmierbare oder konfigurierbare Funktionseinheit und/oder die Verbindungsmatrix durch eine andere Funktionseinheit des Systems programmiert oder konfiguriert wird.
  7. Verfahren nach einem der vorangehenden Ansprüche, wobei zumindest eine Funktionseinheit und/oder die Verbindungsmatrix in Abhängigkeit von der Anwendung des Systems konfiguriert oder programmiert wird.
  8. Verfahren nach einem der vorangehenden Ansprüche, wobei zumindest eine Funktionseinheit und/oder die Verbindungsmatrix in Abhängigkeit vom Funktionsprodukt einer oder mehrerer anderer Funktionseinheiten konfiguriert oder programmiert wird.
  9. Verfahren nach einem der vorangehenden Ansprüche, wobei zumindest eine Funktionseinheit und/oder die Verbindungsmatrix während einer Entwicklungsphase, während eines operativen Betriebs und/oder bei Vorliegen einer fehlerhaften Funktion einer oder mehrerer Funktionseinheiten des Systems erneut programmiert oder konfiguriert wird.
  10. Verfahren nach einem der vorangehenden Ansprüche, wobei zumindest eine Funktionseinheit ein oder mehrere Eingangssignale oder Eingangsdaten in Abhängigkeit von ihrer Konfiguration und/oder Programmierung in ein oder mehrere Ausgangssignale oder Ausgangsdaten überführt.
  11. Verfahren nach dem vorangehenden Anspruch, wobei Eingangssignale oder Eingangsdaten der Funktionseinheit sowie Ausgangssignale oder Ausgangsdaten der Funktionseinheit in Abhängigkeit von der Konfiguration und/oder Programmierung der Verbindungsmatrix weitergeleitet werden.
  12. Verfahren nach einem der vorangehenden Ansprüche, wobei zumindest eine Funktionseinheit und/oder die Verbindungsmatrix einmalig oder mehrfach während eines operativen Betriebs des Systems programmiert oder konfiguriert wird.
  13. Verfahren nach einem der vorangehenden Ansprüche, wobei die Konfiguration oder Programmierung zumindest einer Funktionseinheit und/oder der Verbindungsmatrix statisch oder dynamisch erfolgt.
  14. Verfahren nach einem der vorangehenden Ansprüche, wobei die von den Funktionseinheiten des Systems durchgeführten Funktionen eine oder mehrere der folgenden Aktionen umfasst: – Erzeugung und/oder Erkennung eines Zustands oder einer Kombinationen von Zuständen; – Erzeugung und/oder Erkennung eines Ereignis oder einer Kombinationen von Ereignissen; – Erkennung einer Fehlfunktion oder eines Fehlers; oder – Speicherung eines Zustandes oder eines Ereignisses.
  15. Verfahren nach einem der vorangehenden Ansprüche, wobei zumindest eine Funktionseinheit und/oder die Verbindungsmatrix mit einer solchen Funktion und/oder Konfiguration konfiguriert oder programmiert wird, welche die Funktionen des Systems qualitativ und/oder quantitativ erweitert.
  16. Verfahren nach einem der vorangehenden Ansprüche, wobei sowohl Daten als auch Konfigurationen zwischen zwei oder mehreren Funktionseinheiten des Systems gleichzeitig und/oder sequentiell übergeben werden.
  17. Verfahren nach einem der vorangehenden Ansprüche, wobei eine erste Anzahl von Funktionseinheiten des Systems ihre Funktion unabhängig von der Funktion anderer Funktionseinheiten ausüben und eine zweite Anzahl von Funktionseinheiten des Systems ihre Funktion in Abhängigkeit von der Funktion anderer Funktionseinheiten ausüben.
  18. Verfahren nach einem der vorangehenden Ansprüche, wobei eine erste Anzahl der Funktionseinheiten des Systems mit einer solchen Konfiguration und/oder Funktion konfiguriert oder programmiert wird, welche die Funktionalität oder den Funktionsumfang des Systems erweitert, und eine zweite Anzahl der Funktionseinheiten des Systems mit einer solchen Konfiguration und/oder Funktion konfiguriert oder programmiert wird, die eine Redundanz erzeugt oder steigert.
  19. Verfahren nach einem der vorangehenden Ansprüche, wobei eine erste Anzahl der Funktionseinheiten des Systems mit einer solchen Konfiguration und/oder Funktion konfiguriert oder programmiert wird, die sich von den Funktionen anderer Funktionseinheiten unterscheidet, und eine ein zweite Anzahl der Funktionseinheiten mit einer solchen Konfiguration und/oder Funktion konfiguriert oder programmiert wird, welche die Funktionen anderer Funktionseinheiten überprüft, und eine dritte Anzahl von Funktionseinheiten mit einer solchen Konfiguration und/oder Funktion konfiguriert oder programmiert wird, die zur Erzeugung von Redundanzen dienen kann.
  20. System zur Verarbeitung von Daten oder Signalen mit einer Anzahl von Funktionseinheiten (1, 2, 3, 4, 5, 6), die jeweils eine oder mehrere Funktionen auf die Daten oder Signalen anwenden können und über eine Verbindungsmatrix miteinander verbunden sind zum Austausch von Daten oder Signalen zwischen den Funktionseinheiten, dadurch gekennzeichnet, dass zumindest eine Funktionseinheit (1, 2, 3, 4, 5, 6) des Systems derart programmierbar und/oder konfigurierbar ist, dass sie eine bestimmte Funktion aus einer Anzahl unterschiedlicher Funktionen ausüben kann, und die Verbindungsmatrix derart programmierbar und/oder konfigurierbar ist, dass die Funktionseinheiten in einer bestimmten Konfiguration aus einer Anzahl unterschiedlicher Konfigurationen miteinander verbunden werden können.
  21. Verfahren nach Anspruch 20, wobei die Verbindungsmatrix eine Anzahl von elektrischen Verbindungen zwischen Eingängen und Ausgängen der konfigurierbaren Funktionseinheiten zum Austausch von Daten oder Signalen zwischen den Funktionseinheiten umfasst.
  22. System nach einem der Ansprüche 20 oder 21, wobei zumindest eine Funktionseinheit und/oder die Verbindungsmatrix durch eine andere Funktionseinheit des Systems programmierbar oder konfigurierbar ist.
  23. System nach einem der Ansprüche 20 bis 22, wobei zumindest eine Funktionseinheit und/oder die Verbindungsmatrix in Abhängigkeit von der Applikation des Systems und/oder der Anforderung an die Redundanz und/oder an den Funktionsumfang des Systems programmierbar oder konfigurierbar ist.
  24. System nach einem der Ansprüche 20 bis 23, wobei zumindest eine Funktionseinheit und/oder die Verbindungsmatrix in Abhängigkeit vom Funktionsprodukt einer oder mehrerer anderer Funktionseinheiten des Systems programmierbar oder konfigurierbar ist.
  25. System nach einem der Ansprüche 20 bis 24, wobei zumindest eine Funktionseinheit und/oder die Verbindungsmatrix mit einer solchen Konfiguration und/oder Funktion konfigurierbar oder programmierbar ist, dass eine Funktionseinheit die Funktionsprodukte oder Ausgangssignale anderer Funktionseinheiten miteinander vergleicht.
  26. System nach einem der Ansprüche 20 oder 25, wobei zumindest eine Funktionseinheit während einer Entwicklungsphase, während eines operativen Betriebs und/oder bei Vorliegen einer unkorrekten bzw. fehlerhaften Funktion einer oder mehrerer Funktionseinheiten des Systems konfigurierbar ist.
  27. System nach einem der Ansprüche 20 bis 26, wobei zumindest eine Funktionseinheit und/oder die Verbindungsmatrix einmalig oder mehrfach während eines operativen Betriebs des Systems programmierbar oder konfigurierbar ist.
  28. System nach einem der Ansprüche 20 bis 27, wobei zur funktionalen Absicherung des Systems zumindest eine Funktionseinheit einfach oder mehrfach konfigurierbar redundant implementiert ist.
  29. System nach einem der Ansprüche 20 bis 28, wobei eine Anzahl von Funktionseinheiten des Systems die zumindest eine Funktionseinheit alternativ konfigurierbar redundant implementiert ist.
  30. System nach einem der Ansprüche 20 bis 29, wobei die Funktionseinheiten und/oder die Verbindungsmatrix des Systems als elektronische Schaltkreise, integrierte Schaltkreise und/oder Prozessoren ausgebildet sind.
  31. System nach einem der Ansprüche 20 bis 30, wobei die Funktionseinheiten als Eingabeeinheiten, Ausgabeeinheiten, Speichereinheiten und/oder Logikeinheiten des Systems ausgebildet sind.
DE102008024193A 2008-05-19 2008-05-19 System mit konfigurierbaren Funktionseinheiten und Verfahren Withdrawn DE102008024193A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102008024193A DE102008024193A1 (de) 2008-05-19 2008-05-19 System mit konfigurierbaren Funktionseinheiten und Verfahren
US12/467,733 US8375256B2 (en) 2008-05-19 2009-05-18 System with configurable functional units and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102008024193A DE102008024193A1 (de) 2008-05-19 2008-05-19 System mit konfigurierbaren Funktionseinheiten und Verfahren

Publications (1)

Publication Number Publication Date
DE102008024193A1 true DE102008024193A1 (de) 2009-12-03

Family

ID=41253652

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102008024193A Withdrawn DE102008024193A1 (de) 2008-05-19 2008-05-19 System mit konfigurierbaren Funktionseinheiten und Verfahren

Country Status (2)

Country Link
US (1) US8375256B2 (de)
DE (1) DE102008024193A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019204646A1 (de) * 2019-04-02 2020-10-08 Brose Fahrzeugteile SE & Co. Kommanditgesellschaft, Würzburg Integrierte Schaltungsanordnung und Steuergerät

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4442644B2 (ja) * 2007-06-15 2010-03-31 株式会社デンソー パイプライン演算装置
DE102011084534A1 (de) * 2010-10-18 2012-04-19 Continental Teves Ag & Co. Ohg Fehlersichere Parkbremse für Kraftfahrzeuge
US8635492B2 (en) 2011-02-15 2014-01-21 International Business Machines Corporation State recovery and lockstep execution restart in a system with multiprocessor pairing
US8671311B2 (en) 2011-02-15 2014-03-11 International Business Machines Corporation Multiprocessor switch with selective pairing
US8930752B2 (en) 2011-02-15 2015-01-06 International Business Machines Corporation Scheduler for multiprocessor system switch with selective pairing
KR101533081B1 (ko) * 2014-09-26 2015-07-03 성균관대학교산학협력단 저전력과 신뢰성을 동시에 확보하기 위한 이중화 대응 장치, 이중화 시스템 및 이중화 구성 설정 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0185704A1 (de) 1984-06-22 1986-07-02 American Telephone & Telegraph Konfigurierbares duales verarbeitungssystem und verfahren zu seinem betrieb.
DE19800311A1 (de) 1998-01-07 1999-07-08 Itt Mfg Enterprises Inc Elektronische, digitale Einrichtung
KR20020033254A (ko) 2000-10-30 2002-05-06 구자홍 이중화 프로세서의 흐름 제어장치 및 방법
US20020157071A1 (en) * 2001-04-13 2002-10-24 Schiefele Walter P. Method for creating circuit redundancy in programmable logic devices
US6772368B2 (en) 2000-12-11 2004-08-03 International Business Machines Corporation Multiprocessor with pair-wise high reliability mode, and method therefore
US6973608B1 (en) * 2001-07-06 2005-12-06 Agere Systems Inc. Fault tolerant operation of field programmable gate arrays

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6408402B1 (en) * 1994-03-22 2002-06-18 Hyperchip Inc. Efficient direct replacement cell fault tolerant architecture
US6035416A (en) * 1997-10-15 2000-03-07 International Business Machines Corp. Method and apparatus for interface dual modular redundancy
US7328414B1 (en) * 2003-05-13 2008-02-05 Qst Holdings, Llc Method and system for creating and programming an adaptive computing engine

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0185704A1 (de) 1984-06-22 1986-07-02 American Telephone & Telegraph Konfigurierbares duales verarbeitungssystem und verfahren zu seinem betrieb.
DE19800311A1 (de) 1998-01-07 1999-07-08 Itt Mfg Enterprises Inc Elektronische, digitale Einrichtung
KR20020033254A (ko) 2000-10-30 2002-05-06 구자홍 이중화 프로세서의 흐름 제어장치 및 방법
US6772368B2 (en) 2000-12-11 2004-08-03 International Business Machines Corporation Multiprocessor with pair-wise high reliability mode, and method therefore
US20020157071A1 (en) * 2001-04-13 2002-10-24 Schiefele Walter P. Method for creating circuit redundancy in programmable logic devices
US6973608B1 (en) * 2001-07-06 2005-12-06 Agere Systems Inc. Fault tolerant operation of field programmable gate arrays

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
STRUNK, Jochen: Entwicklung eines Software-Frameworks zur Unterstützung dynamisch rekonfigurierbarer Hardware auf Basis von Virtex-II Pro FPGAs. Chemnitz: Technische Universität Chemnitz, 31.8.2005 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019204646A1 (de) * 2019-04-02 2020-10-08 Brose Fahrzeugteile SE & Co. Kommanditgesellschaft, Würzburg Integrierte Schaltungsanordnung und Steuergerät

Also Published As

Publication number Publication date
US8375256B2 (en) 2013-02-12
US20100042871A1 (en) 2010-02-18

Similar Documents

Publication Publication Date Title
EP1917592B1 (de) Rechnersystems mit wenigstens zwei ausführungseinheiten und einer vergleichseinheit sowie verfahren zu dessen steuerung
DE102008024193A1 (de) System mit konfigurierbaren Funktionseinheiten und Verfahren
EP3475824B1 (de) Verfahren und vorrichtung zur redundanten datenverarbeitung
EP0104635A2 (de) Verfahren und Anordnung zum Prüfen eines digitalen Rechners
EP2907072A1 (de) Verfahren zur steuerung eines getrennten ablaufs von verknüpften programmblöcken und steuergerät
WO2010049339A1 (de) Vorrichtung und verfahren zur generierung redundanter, aber unterschiedlicher maschinencodes aus einem quellcode zur verifizierung für ein sicherheitskritisches system
DE102004037713A1 (de) Verfahren, Betriebssystem und Rechengerät zum Abarbeiten eines Computerprogramms
WO2004092972A2 (de) Programmgesteuerte einheit und verfahren
DE102013021231A1 (de) Verfahren zum Betrieb eines Assistenzsystems eines Fahrzeugs und Fahrzeugsteuergerät
EP1810139B1 (de) Verfahren, betriebssystem und rechengerät zum abarbeiten eines computerprogramms
EP4420002A1 (de) Datenverarbeitungsnetzwerk zur datenverarbeitung
DE102022208087A1 (de) Verfahren zum Überprüfen einer Verarbeitung von Nutzdaten
EP1359485B1 (de) Steuer- und Überwachungssystem
EP2228723B1 (de) Verfahren zur Fehlerbehandlung eines Rechnersystems
DE102005054587A1 (de) Programmgesteuerte Einheit und Verfahren zum Betreiben derselbigen
WO2006045782A2 (de) Verfahren und vorrichtung zur umschaltung zwischen betriebsmodi eines multiprozessorsystems durch wenigstens ein externes signal
WO2006015955A2 (de) Verfahren zur fehlerregistrierung und entsprechendes register
DE102004051967A1 (de) Verfahren, Betriebssystem und Rechengerät zum Abarbeiten eines Computerprogramms
WO2016206847A1 (de) Verfahren und vorrichtung zum absichern einer programmzählerstruktur eines prozessorsystems und zum überwachen der behandlung einer unterbrechungsanfrage
DE102009009730B4 (de) Lokale Timer-Zelle deren Verwendung und Verfahren zum Betreiben eines Moduls
EP2248021B1 (de) Anordnung zur überprüfung eines programmspeichers einer recheneinheit
DE102005037226A1 (de) Verfahren und Vorrichtung zur Festlegung eines Startzustandes bei einem Rechnersystem mit wenigstens zwei Ausführungseinheiten durch markieren von Registern
EP1774417B1 (de) Verfahren und vorrichtung zum überwachen des ablaufs eines steuerprogramms auf einem rechengerät
DE102023003675A1 (de) Verfahren zum Betreiben eines Computersystems
DE102010031017A1 (de) Verfahren zur Überwachung des Programmablaufs eines Prozessors

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R082 Change of representative

Representative=s name: VIERING, JENTSCHURA & PARTNER MBB PATENT- UND , DE

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