DE102012011872A1 - Steuervorrichtung mit einer Bus-Diagnosefunktion - Google Patents

Steuervorrichtung mit einer Bus-Diagnosefunktion Download PDF

Info

Publication number
DE102012011872A1
DE102012011872A1 DE201210011872 DE102012011872A DE102012011872A1 DE 102012011872 A1 DE102012011872 A1 DE 102012011872A1 DE 201210011872 DE201210011872 DE 201210011872 DE 102012011872 A DE102012011872 A DE 102012011872A DE 102012011872 A1 DE102012011872 A1 DE 102012011872A1
Authority
DE
Germany
Prior art keywords
register
address
bus diagnostic
data
bus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE201210011872
Other languages
English (en)
Other versions
DE102012011872B4 (de
Inventor
Koji Eba
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.)
Okuma Corp
Original Assignee
Okuma Corp
Okuma Machinery Works Ltd
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 Okuma Corp, Okuma Machinery Works Ltd filed Critical Okuma Corp
Publication of DE102012011872A1 publication Critical patent/DE102012011872A1/de
Application granted granted Critical
Publication of DE102012011872B4 publication Critical patent/DE102012011872B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/221Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test buses, lines or interfaces, e.g. stuck-at or open line faults

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

Eine Steuervorrichtung wird bereitgestellt, bei welcher sicherheitsbezogene Teile und nicht-sicherheitsbezogene Teile gemischt sind und welche einen Übertragungsfehler an einem Datenbus und einem Adressenbus nur detektiert, wenn der Prozessor auf die sicherheitsbezogenen Teile zugreift. In einer integrierten Schaltung (6a) der Steuervorrichtung sind ein Datenbusdiagnoseregister (12), welches einen Wert von dem sicherheitsbezogenen Register speichert, wenn eine CPU (1a) auf das sicherheitsbezogene Register zugreift, ein Adressenbusdiagnoseregister (13), welches einen Wert von einem Adressenbus speichert, wenn die CPU (1a) auf das sicherheitsbezogene Register zugreift und ein Busdiagnoseadressenkomparator (14) vorgesehen, welcher dem Datenbusdiagnoseregister (12) und dem Adressenbusdiagnoseregister (13) ein Busdiagnosesignal (CHKBUS) (15) zuführt, um den Wert von dem sicherheitsbezogenen Register in dem Datenbusdiagnoseregister (12) und den Wert von dem Adressenbus in dem Adressenbusdiagnoseregister (13), nur dann zu speichern, wenn die CPU (1a) auf das sicherheitsbezogene Register zugreift.

Description

  • PRIORITÄTSINFORMATION
  • Diese Anmeldung beansprucht die Priorität der japanischen Patentanmeldung Nr. 2011-173357 , die am 8. August 2011 eingereicht wurde und hierin durch Bezugnahme in ihrer Gesamtheit aufgenommen wird.
  • HINTERGRUND
  • Technisches Gebiet
  • Die vorliegende Erfindung bezieht sich auf eine Steuervorrichtung mit einer Bus-Diagnosefunktion und insbesondere auf ein Verfahren zum Detektieren eines Transferfehlers an einem Bus in einer Steuervorrichtung, bei welcher sicherheitsbezogene Teile und nicht-sicherheitsbezogene Teile gemischt sind.
  • Verwandte Technik
  • Bei einer Steuervorrichtung mit sicherheitsbezogenen Teilen wird, wenn ein Prozessor (englisch: central processing unit, CPU) und eine integrierte Schaltung in den sicherheitsbezogenen Teilen enthalten sind, zum Vermeiden des Auftretens von gefährlichen Vorgängen wegen des Auftretens einer falschen Übertragung von sicherheitsbezogenen Daten, die zwischen diesen Elementen ausgetauscht werden, allgemein ein Paritätsbit oder ein ECC-Bit an einem Datenbus des Prozessors angefügt, um einen Datentransferfehler zu diagnostizieren. Um eine solche Diagnose auszuführen, muss innerhalb des Prozessors eine Diagnosefunktion, wie zum Beispiel eine Paritätsüberprüfung, vorgesehen sein. Die meisten eingebetteten Hochleistungsprozessoren, die in neuerer Zeit entwickelt worden sind, haben jedoch nicht eine Diagnosefunktion wie die Paritätsüberprüfung an einem externen Datenbus und daher kann das oben beschriebene Verfahren nicht verwendet werden. Die sicherheitsbezogenen Teile beziehen sich auf eine Schaltung und einen Softwarebereich, welche eine funktionale Sicherheit ausüben, um das Auftreten eines mechanischen Vorgangs, der für einen Benutzer gefährlich ist, durch einen fehlerhaften Vorgang eines Systems aufgrund einer falschen oder fehlerhaften Manipulation zu vermeiden.
  • 6 ist ein Blockdiagramm, das eine beispielhafte Konfiguration einer Steuervorrichtung des Stands der Technik zeigt, die eine Paritätsverarbeitungsschaltung eines CPU-Bus innerhalb eines IC-Gehäuses einer CPU 1b, welche ein Prozessor ist, aufweist. Bei dieser beispielhaften Konfiguration sind in dem Gehäuse der CPU 1b eine Paritätserzeugungsschaltung 30, welche eine Parität 31 für alle Datenbits an einem Datenbus 2 berechnet, wenn Daten an eine integrierte Schaltung 6c geschrieben werden, welche eine externe Vorrichtung ist, und eine Paritätsfehlerdetektionsschaltung 32 vorgesehen, welche die Übereinstimmung zwischen den Daten an dem Datenbus 2 und der Parität 31 überprüft, wenn Daten von der integrierten Schaltung 6c gelesen werden, und welche einen Fehler an einer CPU-Kern berichtet, wenn eine Abnormalität detektiert wird. Bei einer solchen CPU, die eine eingebaute Paritätsüberprüfungsfunktion hat, wie in 6 gezeigt, ist eine Paritätsfehlerdetektionsschaltung 33, welche einen Paritätsfehler von den Daten an dem Datenbus 2, welche einen Eingangs-/Ausgangspuffer 7 passiert haben, und die Parität 31 detektiert, innerhalb der integrierten Schaltung 6c vorgesehen, um das Schreiben von fehlerhaften Daten in einer Gruppe von Registern 34 zu verhindern, wenn ein Schreib-Steuersignal WRN4 eingeht. In Bezug auf das Lesen der Werte von den Registern 34 durch die CPU 1b ist zusätzlich eine Paritätserzeugungsschaltung 35 vorgesehen, welche die Parität von den Daten berechnet, die von den Registern 34 ausgegeben werden, und, wenn die Daten von den Registern 34 gelesen sind, bestätigt die CPU 1b, dass kein Fehler in der Paritätsfehlerdetektionsschaltung 32 detektiert ist, um zu bestätigen, dass es keinen Fehler während des Datentransfers gibt und dass die Registerinhalte genau gelesen sind. Wenn ein Fehler auftritt, führt die CPU einen Wiederholungsvorgang aus oder bewertet, dass die Steuerung nicht normal ausgeführt werden kann, und schreitet zu einem Vorgang zum Vermeiden von Gefahren fort.
  • 7 ist ein Blockdiagramm von einer Ausführung des Stands der Technik, welche ein Schaltungsversagen innerhalb der integrierten Schaltung oder einen Übertragungsfehler von Daten detektiert, an Stelle einer Detektion von Übertragungsfehlern von dem Datenbus und dem Adressenbus, wie in der vorliegenden Erfindung berücksichtigt. Bei dieser beispielhaften Ausführung hält ein Register, welches in der Gruppe von Registern 34 enthalten ist, Daten, die von einer CPU 1c geschrieben sind, ähnlich zu RAM, und gibt den gehaltenen Wert in dem Leseprozess aus. Die Register 34 speichern die Paritäten, welche von einer Paritätserzeugungsschaltung 36 berechnet sind, in Kombination mit den geschriebenen Daten von der CPU 1c, und in dem Leseprozess überprüft eine Paritätsfehlerdetektionsschaltung 37 die Übereinstimmung der gespeicherten Daten und der Parität. Wenn es eine Abnormalität gibt, wird eine Unterbrechungsanordnung 38 an die CPU 1C gesendet, um zu berichten, dass ein Fehler aufgetreten ist. Die CPU 1c detektiert das Auftreten des Fehlers an dem Register in dem Unterbrechungsprozess und führt einen Prozess aus, der zum Retten der Sicherheit geeignet ist.
  • Die Patentdokumente 1 und 2 offenbaren Techniken des Stands der Technik, welche ein Versagen innerhalb der integrierten Schaltung detektieren, ähnlich zu 7. Das Patentdokument 3 offenbart eine Technik, bei welcher zum Detektieren eines Bit-Fehlers eines entfernten Transmissionsabschnitts von einem digitalen Eingangssignal das digitale Eingangssignal invertiert und übertragen wird, und die übertragenen Daten werden mit nicht-invertierten Daten verglichen, um einen Fehler zu detektieren. Das Patentdokument 4 offenbart in Anspruch 5 eine Technik, bei welcher Daten, die über zwei Busse übertragen werden, und Bit-invertierte Daten an der Ausgangsseite der Vorrichtung verglichen werden und eine Ausgabe erlaubt wird.
  • [Verweise auf Stand der Technik]
  • [Patentdokumente]
    • [Patentdokument 1] JP 2010-272089 A
    • [Patentdokument 2] JP 7-121398 A
    • [Patentdokument 3] JP 3-288949 A
    • [Patentdokument 4] JP 8-328602 A
  • Bei der Steuervorrichtung des Stands der Technik, die in 6 gezeigt ist, sind die Paritätserzeugungsschaltung und die Paritätsfehlerdetektionsschaltung innerhalb der CPU erforderlich. Bei den meisten eingebetteten Hochleistungs-CPU der letzten Jahre sind jedoch das Paritätsbit und das ECC-Bit nicht an dem Datenbus und dem Adressenbus angehängt und es ist daher schwierig, Übertragungsfehler an dem Datenbus und dem Adressenbus unter Verwendung des allgemeinen eingebetteten Prozessors zu detektieren. Andererseits offenbaren die Patentschriften 1 bis 4 Ausführungen, bei denen eine Schaltung zum Detektieren der Übertragungsfehler an dem Datenbus und dem Adressenbus zu einer integrierten Schaltung hinzugefügt ist, die durch dem Datenbus und dem Adressenbus mit der CPU verbunden ist, um die Übertragungsfehler an den Datenbus und den Adressbus zu detektieren. Bei diesen Ausführungen arbeitet die Schaltung zum Detektieren des Übertragungsfehlers jedoch ohne zwischen den sicherheitsbezogenen Teilen und den nicht-sicherheitsbezogenen Teilen zu unterscheiden, und daher ist es bei einem System, bei dem ein Prozess, der auf die nicht-sicherheitsbezogenen Teile bezogen ist, innerhalb der Prozessroutine der CPU gemischt wird, der CPU nicht möglich gewesen, das Detektieren des Übertragungsfehlers von dem Datenbus und dem Adressenbus auszuführen, wenn der Prozess, der auf die sicherheitsbezogenen Teile bezogen ist, ausgeführt wird, und das Detektieren des Übertragungsfehlers von dem Datenbus und dem Adressenbus nicht auszuführen, wenn der Prozess, der auf die nicht-sicherheitsbezogenen Teile bezogen ist, ausgeführt wird.
  • Ein Vorteil der vorliegenden Erfindung ist das Bereitstellen einer Steuervorrichtung, die eine integrierte Schaltung, welche ein sicherheitsbezogenes Register, welches ein zu sicherheitsbezogenen Teilen gehörendes Register ist, und ein normales Register, welches zu nicht-sicherheitsbezogenen Teilen gehört, hat, und einen zentralen Prozessor aufweist, wobei es möglich ist, einen Übertragungsfehler an dem Datenbus und dem Adressenbus nur wenn der Prozessor auf das sicherheitsbezogene Register zugreift, zu detektieren.
  • KURZFASSUNG
    • (1) Gemäß einem Aspekt der vorliegenden Erfindung ist eine Steuervorrichtung vorgesehen, die eine Datenbusdiagnosefunktion umfasst und aufweist: eine integrierte Schaltung und einen Prozessor, welcher zu der integrierten Schaltung über einen Datenbus verbunden ist, wobei: die integrierte Schaltung weist ein sicherheitsbezogenes Register, auf welches durch den Prozessor zugegriffen wird und welches Daten speichert, die einen Betriebszustand von vorbestimmten sicherheitsbezogenen Teilen definieren, ein nicht-sicherheitsbezogenes Register, auf welches durch den Prozessor zugegriffen wird und welches Daten speichert, die einen Betriebszustand von vorbestimmten nicht-sicherheitsbezogenen Teile definieren, ein Datenbusdiagnoseregister und einen Busdiagnoseadressenkomparator auf; basierend auf einer Adresse einer Zieladresse von dem Prozessor liefert der Busdiagnoseadressenkomparator ein Busdiagnosesignal an das Datenbusdiagnoseregister, wenn die Zieladresse von dem Prozessor das sicherheitsbezogene Register ist, und der Busdiagnoseadressenkomparator liefert nicht das Busdiagnosesignal an das Datenbusdiagnoseregister, wenn die Zieladresse von dem Prozessor das nicht-sicherheitsbezogene Register ist; das Datenbusdiagnoseregister, welches das Busdiagnosesignal von dem Busdiagnoseadressenkomparator erhält, speichert Daten, die in dem sicherheitsbezogenen Register gespeichert sind; und nachdem die Daten, die in dem sicherheitsbezogenen Register gespeichert sind, in dem Datenbusdiagnoseregister gespeichert sind, liest der Prozessor die Daten, die in dem Datenbusdiagnoseregister gespeichert sind, und die Daten, die in dem sicherheitsbezogenen Register gespeichert sind, und vergleicht die Daten, die in dem Datenbusdiagnoseregister gespeichert sind, und die Daten, die in dem sicherheitsbezogenen Register gespeichert sind, um einen Übertragungsfehler an dem Datenbus zu detektieren.
    • (2) Gemäß einem weiteren Aspekt der vorliegenden Erfindung ist, vorzugsweise bei der Steuervorrichtung mit der Datenbusdiagnosefunktion von (1), eine Mehrzahl an Datenbusdiagnoseregistern in der integrierten Schaltung vorgesehen, welche einer Anzahl an Unterbrechungsleveln, das heißt Unterbrechungsstufen, von dem Prozessor entspricht, und die integrierte Schaltung weist weiterhin auf: eine Unterbrechungslevelspeichereinheit, welche Daten speichert, die einen Unterbrechungslevel anzeigen, wenn der Prozessor auf das sicherheitsbezogene Register zugreift; und eine Auswahlschaltung, welche einen von der Mehrzahl an Datenbusdiagnoseregistern auswählt, basierend auf Daten, die in der Unterbrechungslevelspeichereinheit gespeichert sind, und welche das Busdiagnosesignal, das von dem Busdiagnoseadressenkomparator zugeführt ist, an das ausgewählte Datenbusdiagnoseregister zuführt.
    • (3) Gemäß einem weiteren Aspekt der vorliegenden Erfindung ist eine Steuervorrichtung mit einer Adressenbusdiagnosefunktion vorgesehen, welche aufweist: eine integrierte Schaltung und einen Prozessor, der mit der integrierten Schaltung durch einen Adressenbus verbunden ist, wobei: die integrierte Schaltung weist ein sicherheitsbezogenes Register auf, auf welches durch den Prozessor zugegriffen wird und welches Daten speichert, die einen Betriebszustand von vorbestimmten sicherheitsbezogenen Teilen definieren, ein nicht-sicherheitsbezogenes Register, auf welches durch den Prozessor zugegriffen wird und welches Daten speichert, die einen Betriebszustand von vorbestimmten nicht-sicherheitsbezogenen Teilen definieren, ein Adressenbusdiagnoseregister und einen Busdiagnoseadressenkomparator aufweist; basierend auf einer Adresse von einer Zieladresse von dem Prozessor führt der Busdiagnoseadressenkomparator ein Busdiagnosesignal dem Adressenbusdiagnoseregister zu, wenn die Zieladresse von dem Prozessor das sicherheitsbezogene Register ist, und führt nicht das Busdiagnosesignal dem Adressenbusdiagnoseregister zu, wenn die Zieladresse von dem Prozessor das nicht-sicherheitsbezogene Register ist; das Adressenbusdiagnoseregister, welches das Busdiagnosesignal von dem Busdiagnoseadressenkomparator erhält, speichert eine Adresse von dem sicherheitsbezogenen Register, die von dem Prozessor zugeführt wird; und nachdem die Adresse des sicherheitsbezogenen Registers in dem Adressenbusdiagnoseregister gespeichert worden ist, liest der Prozessor die Adresse, die in dem Adressenbusdiagnoseregister gespeichert ist, und vergleicht die Adresse, die in dem Adressenbusdiagnoseregister gespeichert ist, und die Adresse von dem sicherheitsbezogenen Register, um einen Übertragungsfehler an dem Adressenbus zu detektieren.
    • (4) Gemäß einem weiteren Aspekt der vorliegenden Erfindung, bevorzugt bei der Steuervorrichtung mit der Adressenbusdiagnosefunktion von (3), sind eine Mehrzahl von Adressenbusdiagnoseregistern in der integrierten Schaltung vorgesehen, welche einer Anzahl an Unterbrechungsleveln des Prozessors entspricht, und die integrierte Schaltung weist außerdem auf: eine Unterbrechungslevelspeichereinheit, welche Daten, die einen Unterbrechungslevel anzeigen, speichert, wenn der Prozessor auf das sicherheitsbezogene Register zugreift; und eine Auswahlschaltung, welche eines von der Mehrzahl an Adressenbusdiagnoseregistern auswählt, basierend auf Daten, die in der Unterbrechungslevelspeichereinheit gespeichert sind, und welche das Busdiagnosesignal, welches von dem Busdiagnoseadressenkomparator zugeführt wird, an das ausgewählte Adressenbusdiagnoseregister zuführt.
    • (5) Gemäß einem weiteren Aspekt der vorliegenden Erfindung ist eine Steuervorrichtung mit einer Datenbus- und einer Adressenbusdiagnosefunktion vorgesehen, welche aufweist: eine integrierte Schaltung und einen Prozessor, welcher mit der integrierten Schaltung über einen Datenbus und einen Adressenbus verbunden ist, wobei: die integrierte Schaltung weist ein sicherheitsbezogenes Register, auf welches durch den Prozessor zugegriffen wird und welches Daten speichert, die einen Betriebszustand von vorbestimmten sicherheitsbezogenen Teilen definieren, ein nicht-sicherheitsbezogenes Register, auf welches durch den Prozessor zugegriffen wird und welches Daten speichert, die einen Betriebszustand von vorbestimmten nicht-sicherheitsbezogenen Teilen definieren, ein Datenbusdiagnoseregister, ein Adressenbusdiagnoseregister und einen Busdiagnoseadressenkomparator auf; basierend auf einer Adresse von einer Zieladresse von dem Prozessor führt der Busdiagnoseadressenkomparator ein Busdiagnosesignal dem Datenbusdiagnoseregister und dem Adressenbusdiagnoseregister zu, wenn die Zieladresse von dem Prozessor das sicherheitsbezogene Register ist, und er führt das Busdiagnosesignal nicht dem Datenbusdiagnoseregister und dem Adressenbusdiagnoseregister zu, wenn die Zieladresse von dem Prozessor das nicht-sicherheitsbezogene Register ist; das Datenbusdiagnoseregister, welches das Busdiagnosesignal von dem Busdiagnoseadressenkomparator erhält, speichert Daten, die in dem sicherheitsbezogenen Register gespeichert sind; das Adressenbusdiagnoseregister, welches das Busdiagnosesignal von dem Busdiagnoseadressenkomparator erhält, speichert eine Adresse von dem sicherheitsbezogenen Register, welche von dem Prozessor zugeführt ist; und nachdem die Daten, die in dem sicherheitsbezogenen Register gespeichert sind, in dem Datenbusdiagnoseregister gespeichert worden sind und die Adresse von dem sicherheitsbezogenen Register in dem Adressenbusdiagnoseregister gespeichert worden ist, liest der Prozessor die Daten, die in dem Datenbusdiagnoseregister gespeichert sind, die Adresse, die in dem Adressenbusdiagnoseregister gespeichert ist, und die Daten, die in dem sicherheitsbezogenen Register gespeichert sind, vergleicht die Daten, die in dem Datenbusdiagnoseregister gespeichert sind, und die Daten, die in dem sicherheitsbezogenen Register gespeichert sind, um einen Übertragungsfehler an dem Datenbus zu detektieren, und vergleicht die Adresse, die in dem Adressenbusdiagnoseregister gespeichert ist, und die Adresse von dem sicherheitsbezogenen Register, um einen Übertragungsfehler an dem Adressenbus zu detektieren.
    • (6) Gemäß einem weiteren Aspekt der vorliegenden Erfindung, vorzugsweise bei der Steuervorrichtung mit der Datenbus- und der Adressenbusdiagnosefunktion von (5), sind eine Mehrzahl von den Datenbusdiagnoseregistern und eine Mehrzahl von den Adressenbusdiagnoseregistern in der integrierten Schaltung vorgesehen, welche einer Anzahl an Unterbrechungsleveln des Prozessors entsprechen, und die integrierte Schaltung weist weiterhin auf: eine Unterbrechungslevelspeichereinheit, welche Daten speichert, die einen Unterbrechungslevel anzeigen, wenn der Prozessor auf das sicherheitsbezogene Register zugreift; und eine Auswahlschaltung, welche eines von der Mehrzahl an Datenbusdiagnoseregistern auswählt und eines von der Mehrzahl an Adressenbusdiagnoseregistern auswählt, basierend auf Daten, die in der Unterbrechungslevelspeichereinheit gespeichert sind, und welche das Busdiagnosesignal, das von dem Busdiagnoseadressenkomparator zugeführt wird, an ein Paar zuführt, welches aus dem ausgewählten Datenbusdiagnoseregister und dem ausgewählten Adressenbusdiagnoseregister besteht.
  • Mit den oben beschriebenen Ausführungen werden ein Wert, der in dem sicherheitsbezogenen Register gespeichert ist, und ein Wert von dem Adressenbus bei einem Zugriff des Prozessors auf das sicherheitsbezogene Register, welches seine Adresse in dem Busdiagnoseadressenkomparator im Voraus registriert hat, in dem Datenbusdiagnoseregister beziehungsweise in dem Adressenbusdiagnoseregister gespeichert. Sodann werden der Wert, der in dem Datenbusdiagnoseregister gespeichert ist, und der Wert, der in dem sicherheitsbezogenen Register gespeichert ist, gelesen und verglichen, so dass ein Übertragungsfehler an dem Datenbus detektiert werden kann. In gleicher Weise werden der Wert, der in dem Adressenbusdiagnoseregister gespeichert ist, und der Adressenwert von den sicherheitsbezogenen Teilen verglichen, so dass ein Übertragungsfehler an dem Adressenbus detektiert werden kann.
  • Bei den oben beschriebenen Ausführungen werden zusätzlich verschiedene Datenbusdiagnoseregister und verschiedene Adressenbusdiagnoseregister für verschiedene Unterbrechungslevel benutzt und der Diagnoseprozess von den sicherheitsbezogenen Teilen kann für die Mehrzahl an Unterbrechungsleveln unabhängig ausgeführt werden. Wenn die Übertragungsfehler an dem Datenbus und an dem Adressenbus für eine Mehrzahl an Unterbrechungsleveln zu detektieren sind, kann deshalb das Programm von dem Diagnoseprozess leicht erzeugt werden, ohne die Verarbeitungsinhalte von anderen Unterbrechungsleveln zu berücksichtigen.
  • [Vorteilhafte Wirkungen]
  • Gemäß verschiedenen Aspekten der vorliegenden Erfindung ist es bei einer Steuervorrichtung mit einer integrierten Schaltung, welche ein sicherheitsbezogenes Register, das zu sicherheitsbezogenen Teilen gehört, und ein nicht-sicherheitsbezogenes Register, das zu nicht-sicherheitsbezogenen Teilen gehört, aufweist, und mit einem Prozessor möglich, die Übertagungsfehler an dem Datenbus und dem Adressenbus nur zu detektieren, wenn der Prozessor auf das sicherheitsbezogene Register zugreift.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Diagramm, welches einen beispielhaften Aufbau von einer Steuervorrichtung mit einer Datenbus- und einer Adressenbusdiagnosefunktion gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung zeigt.
  • 2 ist ein Diagramm, das ein beispielhaftes Flussdiagramm von einem Prozess einer CPU bei der bevorzugten Ausführungsform von 1 zeigt.
  • 3 ist ein Diagramm, welches einen beispielhaften Aufbau von einer Steuervorrichtung mit einer Datenbus- und einer Adressenbusdiagnosefunktion gemäß einer weiteren bevorzugten Ausführungsform der vorliegenden Erfindung zeigt.
  • 4 ist ein Diagramm, das einen beispielhaften detaillierten Aufbau von Busdiagnoseregistern einer CPU, die in 3 dargestellt sind, zeigt.
  • 5 ist ein Diagramm, das ein beispielhaftes Flussdiagramm von einem Prozess einer CPU bei der bevorzugten Ausführungsform, die in 3 dargestellt ist, zeigt.
  • 6 ist ein Diagramm, das eine beispielhafte Busdiagnoseschaltung des Stands der Technik zeigt.
  • 7 ist ein Diagramm, das eine beispielhafte Registerversagensdiagnoseschaltung des Stands der Technik zeigt.
  • DETAILLIERTE BESCHREIBUNG
  • 1 ist ein Diagramm, das ein beispielhafter Aufbau von einer Steuervorrichtung mit einer Datenbus- und einer Adressenbusdiagnosefunktion gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung zeigt.
  • Die Steuervorrichtung mit der Datenbus- und der Adressenbusdiagnosefunktion gemäß der vorliegenden Ausführungsform umfasst eine CPU 1a, welche ein Prozessor ist, einen Datenbus 2, einen Adressenbus 3 und eine integrierte Schaltung 6a. Die integrierte Schaltung 6a umfasst ein Datenbusdiagnoseregister 12, das als ein Datenbusdiagnoseregister fungiert, ein Adressenbusdiagnoseregister 13, das als ein Adressenbusdiagnoseregister fungiert, einen Busdiagnoseadressenkomparator 14, N Register von einem sicherheitsbezogenen Register 1 bis zu einem sicherheitsbezogenen Register N (Bezugszeichen 818N), welche als sicherheitsbezogene Register fungieren, M Register von einem normalen Register 1 bis zu einem normalen Register M (Bezugszeichen 919M), welche als nicht-sicherheitsbezogene Register fungieren, einen Eingangs-/Ausgangspuffer 7, welcher vorübergehend einen Wert speichert, der eingegeben/ausgegeben wird, einen Adressendecoder 10, welcher ein Register, auf welches zugegriffen werden soll, durch einen Wert von dem Adressenbus auswählt, und einen Datenauswähler 11, welcher eines von einer Mehrzahl an Eingangssignalen auswählt und das ausgewählte Signal ausgibt.
  • Die CPU 1a, die sicherheitsbezogenen Register 1–N (Bezugszeichen 818N), die normalen Register 1–M (Bezugszeichen 919M), das Datenbusdiagnoseregister 12 und der Datenauswähler 11 sind miteinander verbunden durch den Datenbus 2 über den Eingangs-/Ausgangspuffer 7. In gleicher Weise sind das Datenbusdiagnoseregister 12 und der Datenauswähler 11 durch den Datenbus 2 verbunden.
  • Die CPU 1a, der Adressendecoder 10, der Busdiagnoseadressenkomparator 14 und das Adressenbusdiagnoseregister 13 sind miteinander verbunden durch den Adressenbus 3. Zusätzlich sind die CPU 1a, der Busdiagnoseadressenkomparator 14 und der Adressendecoder 10 auch miteinander verbunden durch Steuerleitungen zum Übertragen eines Schreibsteuersignals (WRN) 4 und eines Lesesteuersignals (RDN) 5, zusätzlich zur Verbindung durch den Adressenbus 3.
  • Der Busdiagnoseadressenkomparator 14, das Datenbusdiagnoseregister 12 und das Adressenbusdiagnoseregister 13 sind miteinander verbunden durch eine Steuerleitung zum Übertragen eines Busdiagnosesignals (CHKBUS) 15.
  • Der Adressendecoder 10, sie sicherheitsbezogenen Register 1–N (Bezugszeichen 818N) und die normalen Register 1–M (Bezugszeichen 919M) sind miteinander verbunden durch Steuerleitungen zum Übertragen der Ausgaben von dem Adressendecoder 10 (WRS1–WRSN, WRN1–WRNM) an die Register. Zusätzlich sind der Adressendecoder 10 und der Datenauswähler 11 verbunden durch eine Steuerleitung zum Übertragen eines Registerauswahlsignals (REGSEL) 16 zum Auswählen von einer aus einer Mehrzahl an Eingaben von dem Datenauswähler 11.
  • Der Datenauswähler 11, die sicherheitsbezogenen Register 1–N (Bezugszeichen 818N) und die normalen Register 1–M (Bezugszeichen 919M) sind miteinander verbunden durch den Datenbus 2, so dass die Ausgaben von den Registern an den Datenauswähler 11 eingegeben werden.
  • Der Busdiagnoseadressenkomparator 14 speichert darin die Adressen von den sicherheitsbezogenen Registern 1–N (Bezugszeichen 818N) und, wenn er von der CPU 1a das Schreibsteuersignal (WRN) 4 oder das Lesesteuersignal (RDN) 5 für eines der sicherheitsbezogenen Register 1–N (Bezugszeichen 818N) erhält, gibt er das Busdiagnosesignal (CHKBUS) 15 an das Datenbusdiagnoseregister 12 und an das Adressenbusdiagnoseregister 13 aus. Wenn der Busdiagnoseadressenkomparator 14 von der CPU 1a das Schreibsteuersignal (WRN) 4 oder das Lesesteuersignal (RDN) 5 für die normalen Register 1–M (Bezugszeichen 919M) erhält, gibt der Busdiagnoseadressenkomparator 14 das Busdiagnosesignal (CHKBUS) 15 nicht an das Datenbusdiagnoseregister 12 und an das Adressenbusdiagnoseregister 13 aus. Bei einer Ausführung, bei welcher der Busdiagnoseadressenkomparator 14 das Busdiagnosesignal (CHKBUS) 15 nur ausgibt, wenn der Busdiagnoseadressenkomparator 14 das Lesesteuersignal (RDN) 5 von der CPU 1a erhält, wird es möglich, die Übertragungsfehler an dem Datenbus und an dem Adressenbus zu detektieren, aber bei einer Ausführung, bei welcher das Busdiagnosesignal (CHKBUS) 15 auch ausgegeben wird, wenn das Schreibsteuersignal (WRN) 4 von der CPU 1a erhalten wird, kann ein Wert, der in das sicherheitsbezogene Register geschrieben ist und von der CPU 1a gehalten wird, während der Detektion der Übertragungsfehler an dem Datenbus und an dem Adressenbus genutzt werden, wenn die CPU 1a Daten in das sicherheitsbezogene Register schreibt, und daher kann der Prozess verkürzt werden, indem ein Vorgang von einem Prozess der CPU 1a des Lesens des Werts, der in dem sicherheitsbezogenen Register gespeichert ist, weggelassen wird.
  • Das Datenbusdiagnoseregister 12 fungiert als ein Register, welches Ausgabedaten DBOUT von dem Datenauswähler 11 speichert, wenn es das Busdiagnosesignal (CHKBUS) 15 von dem Busdiagnoseadressenkomparator 14 erhält. Bei der vorliegenden Ausführungsform ist das Datenbusdiagnoseregister 12 dazu eingerichtet, alle Bits von dem gespeicherten Wert von DBOUT zu invertieren und den resultierenden Wert auszugeben. Das Adressenbusdiagnoseregister 13 fungiert als ein Register, welches einen Adressenwert speichert, der von der CPU 1a eingegeben wird, wenn das Busdiagnosesignal (CHKBUS) 15 von dem Busdiagnoseadressenkomparator 14 erhalten wird.
  • Der Datenauswähler 11 hat eine Funktion auf das Registerauswahlsignal (REGSEL) 16, das von dem Adressendecoder 10 übertragen wird, Bezug zu nehmen, um eine von der Mehrzahl an Eingaben von dem Datenauswähler 11 auszuwählen und die ausgewählte Eingabe auszugeben.
  • Der Busdiagnoseadressenkomparator 14 gibt das Busdiagnosesignal (CHKBUS) 15 an das Datenbusdiagnoseregister 12 nicht nur aus, wenn das Schreibsteuersignal (WRN) 4 erhalten wird, sondern auch, wenn das Lesesteuersignal (RDN) 5 erhalten wird, weil die sicherheitsbezogenen Register Register enthalten, die Eingaben gewidmet sind, und es eine Möglichkeit gibt, dass auf das Register von anderen Schaltungen innerhalb der integrierten Schaltung 6a und von einer Schaltung außerhalb der integrierten Schaltung 6a zugegriffen wird, und es eine Möglichkeit gibt, dass, selbst wenn die CPU 1a nicht den Schreibprozess an einem bestimmten sicherheitsbezogenen Register ausführt, die Werte, die von dem bestimmten sicherheitsbezogenen Register zu verschiedenen Zeiten gelesen werden, nicht die gleichen sind.
  • 2 ist ein Diagramm, das ein beispielhaftes Flussdiagramm von einem Prozess der CPU 1a in der vorliegenden Ausführungsform zeigt. Wie in der 2 durch die Schritte S219 bis S223 dargestellt, arbeiten zwei Unterbrechungsprozesse, welche unterschiedlichen Unterbrechungslevel haben, bei der vorliegenden Ausführungsform an der CPU 1a. Sicherheitseingabe-/Ausgabeprozesse 1–N, welche Dateneingabe-/Ausgabeprozesse für die sicherheitsbezogenen Register 1–N (Bezugszeichen 818N) sind, werden nur auf der Seite des Unterbrechungslevels von 1 ausgeführt. Die Priorität des Unterbrechens ist so, dass Level 2 eine höhere Priorität als Level 1 hat. Wenn ein Prozess des Unterbrechungslevels von 2 während eines Prozesses des Unterbrechungslevel von 1 auftritt, wird daher der Prozess von dem Unterbrechungslevel von 2 mit einer höheren Priorität ausgeführt. Wenn andererseits ein Prozess von dem Unterbrechungslevel von 1 während einem Prozess von dem Unterbrechungslevel von 2 auftritt, wird der Prozess von dem Unterbrechungslevel von 1 nicht gestartet, bis der Prozess von dem Unterbrechungslevel von 2 abgeschlossen ist. Ein detaillierter Prozessablauf von dem Sicherheitseingabe-/Ausgabeprozess 1 ist von dem Schritt S201 bis Schritt S218 dargestellt. Der detaillierte Prozessablauf von dem Sicherheitseingabe-/Ausgabeprozess 1 wird nun mit Bezug auf die 1 und 2 beschrieben.
  • Zunächst werden die S201–S218 von dem Sicherheitseingabe-/Ausgabeprozess 1 umrissen. Bei den Schritten S201–S203 wird eine Abnormalität des sicherheitsbezogenen Registers detektiert. In den Schritten S204–S206 wird ein Übertragungsfehler an dem Datenbus 2, wenn die CPU 1a Daten in das sicherheitsbezogene Register 1 (Bezugszeichen 81) schreibt, detektiert. In den Schritten S207–S209 wird ein Übertragungsfehler an dem Adressenbus 3 detektiert, wenn die CPU 1a Daten in das sicherheitsbezogene Register 1 (Bezugszeichen 81) schreibt. In den Schritten S210–S213 wird ein Übertragungsfehler an dem Datenbus 2 detektiert, wenn die CPU 1a Daten von dem sicherheitsbezogenen Register 1 (Bezugszeichen 81) liest. In den Schritten S214–S16 wird ein Übertragungsfehler an dem Adressenbus 3 detektiert, wenn die CPU 1a Daten von dem sicherheitsbezogenen Register 1 (Bezugszeichen 81) liest. Die Schritte werden nun detailliert beschrieben.
  • In Schritt S201 schreibt die CPU 1a einen Wert (zum Beispiel „aaa”) von einem Ausgabeport SOUT1 von der CPU 1a in das sicherheitsbezogene Register 1 (Bezugszeichen 81). In diesem Vorgang erhält der Busdiagnoseadressenkomparator 14 das Schreibsteuersignal (WRN) 4 von der CPU 1a, vergleicht die Adressen von den sicherheitsbezogenen Registern 1–N (Bezugszeichen 818N), die in dem Busdiagnoseadressenkomparator 14 gespeichert sind, und die Adresse von dem sicherheitsbezogenen Register 1 (Bezugszeichen 81), welche eine Adresse von dem Schreibzielregister ist und von der CPU 1a übertragen ist, bewertet, dass der Prozess ein Schreibprozess von Daten an das Register der sicherheitsbezogenen Teile ist, und gibt das Busdiagnosesignal (CHKBUS) 15 an das Datenbusdiagnoseregister 12 und an das Adressenbusdiagnoseregister 13 aus.
  • Der Adressendecoder 10 nimmt auf die Adresse von dem sicherheitsbezogenen Register 1 (Bezugszeichen 81) Bezug, welche die Adresse von dem Schreibzielregister ist, die von der CPU 1a übertragen ist, und gibt an den Datenauswähler 11 das Registerauswahlsignal (REGSEL) 16 aus, um eine Auswahl von der Eingabe von dem sicherheitsbezogenen Register 1 (Bezugszeichen 81) und eine Ausgabe der ausgewählten Eingabe anzuordnen. Gemäß dieser Anordnung wählt der Datenauswähler, der das Registerauswahlsignal (REGSEL) 16 erhält, die Eingabe von dem sicherheitsbezogenen Register 1 (Bezugszeichen 81) aus und gibt die ausgewählte Eingabe aus.
  • Wenn das Datenbusdiagnoseregister 12 das Busdiagnosesignal (CHKBUS) 15 von dem Busdiagnoseadressenkomparator 14 erhält, speichert das Datenbusdiagnoseregister 12 den Wert von SOUT1 („aaa”), der in dem sicherheitsbezogenen Register 1 (Bezugszeichen 81) gespeichert ist und der ein Wert ist, der von dem Datenauswähler 11 ausgegeben ist. Wenn das Adressenbusdiagnoseregister 13 das Busdiagnosesignal (CHKBUS) 15 von dem Busdiagnoseadressenkomparator 14 erhält, speichert das Adressenbusdiagnoseregister 13 eine Adresse (zum Beispiel „AAA”) von dem sicherheitsbezogenen Register 1 (Bezugszeichen 81), die von der CPU 1a übertragen ist.
  • In Schritt S202 liest die CPU 1a den Wert („aaa”), der in dem sicherheitsbezogenen Register 1 (Bezugszeichen 81) gespeichert ist, durch den Datenauswähler 11 und den Eingangs-/Ausgangspuffer 7 und speichert den gelesenen Wert in einem Register R1 innerhalb der CPU 1a. Ähnlich zu dem Prozess in Schritt S201 empfängt in diesem Prozess der Busdiagnoseadressenkomparator 14 das Lesesteuersignal (RDN) 5 von der CPU 1a und gibt das Busdiagnosesignal (CHKBUS) 15 an das Datenbusdiagnoseregister 12 und an das Adressenbusdiagnoseregister 13 aus, so dass der Wert („aaa”), der in dem sicherheitsbezogenen Register 1 (Bezugszeichen 81) gespeichert ist, in dem Datenbusdiagnoseregister 12 gespeichert wird, und die Adresse („AAA”) von dem sicherheitsbezogenen Register 1 (Bezugszeichen 81) wird in dem Adressenbusdiagnoseregister 13 gespeichert.
  • In Schritt S203 überprüft die CPU 1a, ob der Wert von SOUT1 und der Wert, der in R1 gespeichert ist, gleich sind oder nicht. Wenn der Wert von SOUT1 und der Wert, der in R1 gespeichert ist, gleich sind, wird bewertet, dass das sicherheitsbezogene Register 1 (Bezugszeichen 81) normal ist, und der Prozess schreitet zu Schritt S204 fort. Wenn andererseits der Wert von SOUT1 und der Wert, der in R1 gespeichert ist, voneinander unterschiedlich sind, wird bewertet, dass es eine Abnormalität in dem sicherheitsbezogenen Register 1 (Bezugszeichen 81) gibt, und der Prozess schreitet zu einem Ausnahmeprozess 1 (Schritt S217) fort, in welchem ein Wiederholversuchsprozess, ein Gefahrvermeidungsprozess oder ähnliches ausgeführt wird.
  • In Schritt S204 liest die CPU 1a über den Datenauswähler 11 und den Eingangs-/Ausgangspuffer 7 den Wert („aaa”), der in dem Datenbusdiagnoseregister 12 in Schritt S201 gespeichert wurde, und speichert den gelesenen Wert in einem Register R2 innerhalb der CPU 1a. Weil das Datenbusdiagnoseregister 12 bei der vorliegenden Ausführungsform alle Bits von dem gespeicherten Wert invertiert und den resultierenden Wert ausgibt, ist der Wert, der in R2 gespeichert ist, ein Wert, bei dem alles Bits von dem Wert, der in dem Datenbusdiagnoseregister 12 gespeichert ist, invertiert sind. Um den Wert, der in R2 gespeichert ist, auf den gleichen Wert zu setzen wie der Wert, der in dem Datenbusdiagnoseregister 12 gespeichert ist, invertiert in Schritt S205 die CPU 1a alle Bits von dem Wert, der in R2 gespeichert ist.
  • In Schritt S206 überprüft die CPU 1a, ob der Wert, der in dem Register R1 innerhalb der CPU 1a gespeichert ist, und der Wert, der in dem Register R2 innerhalb der CPU 1a gespeichert ist, gleich sind oder nicht. Wenn der Wert, der in dem Register R1 gespeichert ist, und der Wert, der in dem Register R2 gespeichert ist, gleich sind, wird bewertet, dass es keinen Übertragungsfehler an dem Datenbus 2 gibt, wenn die CPU 1a Daten in das sicherheitsbezogene Register 1 (Bezugszeichen 81) schreibt, und der Prozess schreitet zu Schritt S207 fort. Wenn andererseits der Wert, der in dem Register R1 gespeichert ist, und der Wert, der in dem Register R2 gespeichert ist, voneinander verschieden sind, wird bewertet, dass es einen Übertragungsfehler an dem Datenbus 2 gibt und der Prozess schreitet zu dem Ausnahmeprozess 1 (Schritt S217) fort.
  • In Schritt S207 speichert die CPU 1a die Adresse („AAA”) von dem sicherheitsbezogenen Register 1 (Bezugszeichen 81) in dem Register R1 von der CPU 1a. In Schritt S208 speichert die CPU 1a in dem Register R2 von der CPU 1a die Adresse („AAA”) von dem sicherheitsbezogenen Register 1 (Bezugszeichen 81), die in dem Adressenbusdiagnoseregister 13 in Schritt S201 gespeichert wurde.
  • In Schritt S209 überprüft die CPU 1a, ob der Wert, der in dem Register R1 innerhalb der CPU 1a gespeichert ist, und der Wert, der in dem Register R2 gespeichert ist, gleich sind oder nicht. Wenn der Wert, der in dem Register R1 gespeichert ist, und der Wert, der in dem Register R2 gespeichert ist, gleich sind, wird bewertet, dass es keinen Übertragungsfehler an dem Adressenbus 3 gibt, wenn die CPU 1a Daten in das sicherheitsbezogene Register 1 (Bezugszeichen 81) schreibt, und der Prozess schreitet zu Schritt S210 fort. Wenn andererseits der Wert, der in dem Register R1 gespeichert ist, und der Wert, der in dem Register R2 gespeichert ist, voneinander verschieden sind, wird bewertet, dass es einen Übertragungsfehler an dem Adressenbus 3 gibt, und der Prozess schreitet zu dem Ausnahmeprozess 1 (Schritt S217) fort.
  • In Schritt S210 liest die CPU 1a einen Wert (zum Beispiel „bbb”), der in dem sicherheitsbezogenen Register 2 (Bezugszeichen 82) gespeichert ist, und speichert den gelesenen Wert in einem Eingangsport SIN1 von der CPU 1a. Mit einem Prozess ähnlich zu Schritt S201 wird in diesem Prozess der Wert („bbb”), der in dem sicherheitsbezogenen Register 2 (Bezugszeichen 82) gespeichert ist, in dem Datenbusdiagnoseregister 12 gespeichert und eine Adresse (zum Beispiel „BBB”) von dem sicherheitsbezogenen Register 2 (Bezugszeichen 82) wird in dem Adressenbusdiagnoseregister 13 gespeichert.
  • In Schritt S211 liest die CPU 1a den Wert („bbb”), der in dem Datenbusdiagnoseregister 12 in Schritt S210 gespeichert wurde, und speichert den gelesenen Wert in dem Register R2 innerhalb der CPU 1a. Weil in der vorliegenden Ausführungsform das Datenbusdiagnoseregister 12 alle Bits von dem gespeicherten Wert invertiert und den resultierenden Wert ausgibt, ist der Wert, der in R2 gespeichert ist, ein Wert, bei dem alle Bits von dem Wert, der in dem Datenbusdiagnoseregister 12 gespeichert ist, invertiert sind. Um den Wert, der in R2 gespeichert ist, auf den gleichen Wert zu setzen, wie der Wert, der in dem Datenbusdiagnoseregister 12 gespeichert ist, invertiert in Schritt S212 die CPU 1a alle Bits von dem Wert, der in R2 gespeichert ist.
  • In Schritt S213 überprüft die CPU 1a, ob der Wert, der in dem Register R1 innerhalb der CPU 1a gespeichert ist, und der Wert, der in dem Register R2 gespeichert ist, gleich sind oder nicht. Wenn der Wert, der in dem Register R1 gespeichert ist, und der Wert, der in dem Register R2 gespeichert ist, gleich sind, wird bewertet, dass es keinen Übertragungsfehler an dem Datenbus 2 gibt, wenn die CPU 1a die Daten von dem sicherheitsbezogenen Register 2 (Bezugszeichen 82) liest, und der Prozess schreitet zu Schritt S214 fort. Wenn andererseits der Wert, der in dem Register R1 gespeichert ist, und der Wert, der in dem Register R2 gespeichert ist, voneinander verschieden sind, wird bewertet, dass es einen Übertragungsfehler an dem Datenbus 2 gibt, und der Prozess schreitet zu einem Ausnahmeprozess 2 (Schritt S218) fort.
  • In Schritt S214 speichert die CPU 1a die Adresse („BBB”) von dem sicherheitsbezogenen Register 2 (Bezugszeichen 82) in dem Register R1 von der CPU 1a. In Schritt S215 speichert die CPU 1a in dem Register R2 von der CPU 1a die Adresse („BBB”) von dem sicherheitsbezogenen Register 2 (Bezugszeichen 82), die in dem Adressenbusdiagnoseregister 13 in Schritt S210 gespeichert wurde.
  • In Schritt S216 überprüft die CPU 1a, ob der Wert, der in dem Register R1 innerhalb der CPU 1a gespeichert ist, und der Wert, der in dem Register R2 gespeichert ist, gleich sind oder nicht. Wenn der Wert, der in dem Register R1 gespeichert ist, und der Wert, der in dem Register R2 gespeichert ist, gleich sind, wird bewertet, dass es keinen Übertragungsfehler an dem Adressenbus 3 gibt, wenn die CPU 1a Daten von dem sicherheitsbezogenen Register 2 (Bezugszeichen 82) liest, und der Prozess schreitet zu Schritt S220 fort. Wenn andererseits der Wert, der in dem Register R1 gespeichert ist und der Wert, der in dem Register R2 gespeichert ist, voneinander verschieden sind, wird bewertet, dass es einen Übertragungsfehler an dem Adressenbus 3 gibt, und der Prozess schreitet zu dem Ausnahmeprozess 2 (Schritt S218) fort.
  • Wenn der Prozess von Schritt S216 abgeschlossen ist, ist der Sicherheitseingabe-/Ausgabeprozess 1 abgeschlossen und der Prozess schreitet zu Schritt S220 fort.
  • In Schritt S220 schreibt die CPU 1a einen Wert in das normale Register 1 (Bezugszeichen 91), welches ein Register von den nicht-sicherheitsbezogenen Teilen ist. Weil die Adresse von dem normalen Register 1 nicht in dem Busdiagnoseadressenkomparator 14 gespeichert ist, gibt bei diesem Prozess der Busdiagnoseadressenkomparator 14 das Busdiagnosesignal (CHKBUS) 15 nicht an das Datenbusdiagnoseregister 12 und an das Adressenbusdiagnoseregister 13 aus. Deswegen werden der Wert, der in das normale Register 1 (Bezugszeichen 91) geschrieben ist, und die Adresse von dem normalen Register 1 nicht in dem Datenbusdiagnoseregister 12 und dem Adressenbusdiagnoseregister 13 gespeichert, und die Diagnoseprozesse von dem Datenbus 2 und dem Adressenbus 3 werden nicht ausgeführt.
  • Wie beschrieben, werden gemäß der vorliegenden Ausführungsform, wenn die CPU 1a auf das Register der nicht-sicherheitsbezogenen Teile zugreift, die Übertragungsfehler an dem Datenbus 2 und dem Adressenbus 3 nicht diagnostiziert, und die Übertragungsfehler an dem Datenbus 2 und dem Adressenbus 3 werden nur diagnostiziert, wenn die CPU 1a auf das Register der sicherheitsbezogenen Teile zugreift. Selbst in Fällen, in denen eine integrierte Schaltung, bei welcher die sicherheitsbezogenen Teile und die nicht-sicherheitsbezogenen Teile gemischt sind, und eine CPU verwendet werden, welche eine CPU-Prozessroutine hat, in welcher ein Prozess von den sicherheitsbezogenen Teilen und ein Prozess von den nicht-sicherheitsbezogenen Teilen gemischt sind, können deshalb die Übertragungsfehler an dem Datenbus und dem Adressenbus nur detektiert werden, wenn die CPU auf das Register der sicherheitsbezogenen Teile zugreift.
  • Bei der vorliegenden Ausführungsform werden die Übertragungsfehler an dem Datenbus und dem Adressenbus detektiert. Alternativ kann eine Ausführung eingesetzt werden, bei welcher das Adressenbusdiagnoseregister 13 von der Struktur der vorliegenden Ausführungsform weggelassen ist und nur der Übertragungsfehler an dem Datenbus detektiert wird. Alternativ kann eine Ausführung eingesetzt werden, bei welcher das Datenbusdiagnoseregister 12 von der Struktur der vorliegenden Ausführungsform weggelassen ist und nur der Übertragungsfehler an dem Adressenbus detektiert wird.
  • Zudem wird bei der vorliegenden Ausführungsform der Sicherheitseingabe-/Ausgabeprozess an dem Unterbrechungslevel von 1, welcher eine niedrigere Unterbrechungspriorität hat, ausgeführt, aber alternativ kann der Prozess innerhalb eines Unterbrechungslevels von 2 ausgeführt werden. Wenn der Sicherheitseingabe-/Ausgabeprozess an beiden Unterbrechungsleveln auszuführen ist, würden die Werte, die in den Diagnoseregistern in dem Sicherheitseingabe-/Ausgabeprozess von dem Unterbrechungslevel von 1 gespeichert sind, während dem Sicherheitseingabe-/Ausgabeprozess von dem Unterbrechungslevel von 2 überschrieben werden. Deshalb kann bei der vorliegenden Ausführungsform der Sicherheitseingabe-/Ausgabeprozess nicht an beiden Unterbrechungsleveln platziert werden.
  • 3 ist ein Diagramm, das eine beispielhafte Struktur von einer Steuervorrichtung zeigt, die Datenbus- und Adressenbusdiagnosefunktionen gemäß einer anderen bevorzugten Ausführungsform der vorliegenden Erfindung hat. Bei dieser Ausführungsform sind die zusammensetzenden Elemente bis auf eine Gruppe von Busdiagnoseregistern 21 der CPU und bis auf das Unterbrechungslevelregister 20, die später beschrieben werden, identisch zu denen der oben beschriebenen Ausführungsform und daher werden die Erläuterungen nicht wiederholt.
  • Eine integrierte Schaltung 6b, die in 3 gezeigt ist, weist zusätzlich zu den Elementen von der integrierten Schaltung 6a, die in 1 gezeigt ist, Busdiagnoseregister 21 der CPU und ein Unterbrechungslevelregister 20 auf, welche als eine Unterbrechungslevelspeichereinheit fungiert, welche einen Wert speichert, der einen momentanen Unterbrechungslevel der CPU 1a anzeigt. Das Datenbusdiagnoseregister 12 und das Adressenbusdiagnoseregister 13 von der integrierten Schaltung 6a, die in 1 gezeigt ist, sind in den Busdiagnoseregistern 21 der CPU enthalten, wie im Folgenden beschrieben werden wird.
  • 4 ist ein Diagramm, das eine beispielhafte Ausführung von den Busdiagnoseregistern 21 der CPU zeigt. Die Ausführung der Busdiagnoseregister 21 der CPU, die in 4 gezeigt ist, ist eine beispielhafte Ausführung für einen Fall, bei dem eine Anzahl an Unterbrechungsleveln der CPU 1a 4 ist.
  • Die Busdiagnoseregister 21 der CPU umfassen eine Auswahlschaltung 22, die einen Decoder 210, welcher einen Wert von dem Unterbrechungslevelregister 20 liest, den gelesenen Wert decodiert und den resultierenden Wert ausgibt, und UND-Gatter 211214 enthält, die in einer Anzahl identisch zu der Anzahl an Unterbrechungsleveln von der CPU 1a vorhanden sind, Datenbusdiagnoseregister 1–4 (Bezugszeichen 220223), die in einer Anzahl identisch zu der Anzahl an Unterbrechungsleveln von der CPU 1a vorgesehen sind, Adressenbusdiagnoseregister 1–4 (Bezugszeichen 215218), die in einer Anzahl identisch zu der Anzahl an Unterbrechungsleveln von der CPU 1a vorgesehen sind, einen Datenauswähler 1 (Bezugszeichen 224) und einen Datenauswähler 2 (Bezugszeichen 219).
  • Die Auswahlschaltung 22, die Datenbusdiagnoseregister 1–4 (Bezugszeichen 220223) und die Adressenbusdiagnoseregister 1 bis 4 (Bezugszeichen 215218) sind miteinander verbunden durch eine Steuerleitung zum Übertragen des Busdiagnosesignals (CHKBUS) 15.
  • Der Datenauswähler 1 (Bezugszeichen 224) und die Datenbusdiagnoseregister 1–4 (Bezugszeichen 220223) sind verbunden durch den Datenbus 2 in solch einer Weise, dass die Ausgaben von den Registern an den Datenauswähler 1 (Bezugszeichen 224) eingegeben werden. Zusätzlich sind der Datenauswähler 2 (Bezugszeichen 219) und die Adressenbusdiagnoseregister 1–4 (Bezugszeichen 215218) über den Datenbus 2 in solch einer Weise verbunden, dass die Ausgaben von den Registern an den Datenauswähler 2 (Bezugszeichen 219) eingegeben werden.
  • Das Unterbrechungslevelregister 20, die Auswahlschaltung 22, der Datenauswähler 1 (Bezugszeichen 224) und der Datenauswähler 2 (Bezugszeichen 219) sind miteinander verbunden durch eine Steuerleitung zum Übertragen eines momentanen Unterbrechungslevels von der CPU.
  • Die Auswahlschaltung 22 weist eine Funktion zum Bezugnehmen auf einen Wert von einem momentanen Unterbrechungslevel von der CPU 1a, welches von dem Unterbrechungslevelregister 20 übertragen ist, auf, um eines von den Datenbusdiagnoseregistern 220223 und eines von den Adressenbusdiagnoseregistern 215218 auszuwählen, und um das Busdiagnosesignal (CHKBUS) 15, das von dem Busdiagnoseadressenkomparator 14 erhalten wird, an das ausgewählte Datenbusdiagnoseregister und das ausgewählte Adressenbusdiagnoseregister zu übertragen. Wenn zum Beispiel das Unterbrechungslevel von der CPU 1a 1 ist, wählt die Auswahlschaltung 22 das Datenbusdiagnoseregister 1 und das Adressenbusdiagnoseregister 1 aus, und wenn der Unterbrechungslevel von der CPU 1a 2 ist, wählt die Auswahlschaltung 22 das Datenbusdiagnoseregister 2 und das Adressenbusdiagnoseregister 2 aus. In dieser Weise werden das Datenbusdiagnoseregister und das Adressenbusdiagnoseregister als ein Paar entsprechend dem momentanen Unterbrechungslevel von der CPU 1a ausgewählt.
  • Der Datenauswähler 1 (Bezugszeichen 224) und der Datenauswähler 2 (Bezugszeichen 219) haben eine Funktion zur Bezugnahme auf den Wert von dem momentanen Unterbrechungslevel der CPU 1a, welcher von dem Unterbrechungslevelregister 20 übertragen wird, um einen einer Mehrzahl von Eingaben zum Datenauswähler 1 (Bezugszeichen 224) und zum Datenauswähler 2 (Bezugszeichen 219) auszuwählen und um die ausgewählte Eingabe auszugeben. Wenn zum Beispiel der Unterbrechungslevel von der CPU 1a 1 ist, wählt der Datenauswähler 1 (Bezugszeichen 224) und der Datenauswähler 2 (Bezugszeichen 219) Werte aus, welche von dem Datenbusdiagnoseregister 1 und dem Adressenbusdiagnoseregister 1 eingegeben werden, und geben die ausgewählten Werte aus, und wenn der Unterbrechungslevel von der CPU 1a 2 ist, wählen der Datenauswähler 1 (Bezugszeichen 224) und der Datenauswähler 2 (Bezugszeichen 219) Werte aus, welche von dem Datenbusdiagnoseregister 2 und dem Adressenbusdiagnoseregister 2 eingegeben werden, und geben die ausgewählten Werte aus.
  • 5 ist ein Diagramm, das ein beispielhaftes Flussdiagramm von einem Prozess der CPU 1a bei der vorliegenden Ausführungsform zeigt. Die Schritte S501 bis S517 und S520 bis S531 in 5 werden nun für Bereiche beschrieben, die verschieden zu der oben beschriebenen auf 2 basierenden Beschreibung sind. Bei der vorliegenden Ausführungsform ist ein Fall beschrieben, in dem ein Unterbrechungsprozess von Level 2 in der CPU 1a auftritt, wenn Schritt S501 an dem Unterbrechungslevel von 1 abgeschlossen ist.
  • In Schritt S501 an dem Unterbrechungslevel von 1 schreibt die CPU 1a einen Wert (zum Beispiel „ccc”) von einem Ausgabeport SOUT1 von der CPU 1a in das sicherheitsbezogene Register 1 (Bezugszeichen 81). In diesem Prozess erhält der Busdiagnoseadressenkomparator 14 von der CPU 1a das Schreibsteuersignal (WRN) 4 für das sicherheitsbezogene Register 1 (Bezugszeichen 81) und gibt das Busdiagnosesignal (CHKBUS) 15 an die Auswahlschaltung 22 innerhalb der Busdiagnoseregister 21 der CPU aus. Die Auswahlschaltung 22 liest den Wert, der den momentanen Unterbrechungslevel (Level 1) der CPU 1a angibt, von dem Unterbrechungslevelregister 20 und decodiert den gelesenen Wert und gibt ihn aus, um das Datenbusdiagnoseregister 1 (Bezugszeichen 220) und das Adressenbusdiagnoseregister 1 (Bezugszeichen 215) auszuwählen. Das Busdiagnosesignal (CHKBUS) 15 wird dem ausgewählten Datenbusdiagnoseregister 1 (Bezugszeichen 220) und dem Adressenbusdiagnoseregister 1 (Bezugszeichen 215) zugeführt, der Wert („ccc”) von SOUT1 wird in dem Datenbusdiagnoseregister 1 (Bezugszeichen 220) gespeichert und eine Adresse (zum Beispiel „CCC”) von dem sicherheitsbezogenen Register 1 (Bezugszeichen 81) wird in dem Adressenbusdiagnoseregister 1 (Bezugszeichen 215) gespeichert.
  • Wenn ein Unterbrechungsprozess von Level 2 in der CPU 1a nach Schritt S501, an dem der Unterbrechungslevel 1 abgeschlossen ist, auftritt, wird der Unterbrechungsprozess von Level 2 gestartet (Schritte S526–S531).
  • In Schritt S526 wird, um ein Rückkehren zu dem Prozess des ursprünglichen Unterbrechungslevels nach Abschluss des Unterbrechungsprozesses von Level 2 zu ermöglichen, der Wert des Unterbrechungslevels zu der Zeit, wenn der Unterbrechungsprozess von Level 2 auftritt, in einem Stapel gespeichert. Bei der vorliegenden Ausführungsform ist der Unterbrechungslevel zu der Zeit, wenn der Unterbrechungsprozess von Level 2 aufgetreten ist, 1 und daher wird ein Wert, der den Unterbrechungslevel von 1 angibt, in dem Stapel gespeichert. In Schritt S527 wird ein Wert, der angibt, dass der momentane Unterbrechungslevel von der CPU 1a 2 ist, in dem Unterbrechungslevelregister 20 gespeichert.
  • Im Schritt S528 wird ein Sicherheitseingabe-/Ausgabeprozess 5 gestartet. Die Inhalte von dem Prozess des Sicherheitseingabe-/Ausgabeprozesses 5 sind gleich denen des Sicherheitseingabe-/Ausgabeprozesses 1. In Schritt S501 an dem Unterbrechungslevel von 2 schreibt die CPU 1a einen Wert (zum Beispiel „ddd”) von dem Ausgabeport SOUT1 von der CPU 1a in das sicherheitsbezogene Register 5 (Bezugszeichen 85). In diesem Prozess erhält der Busdiagnoseadressenkomparator 14 das Schreibsteuersignal (WRN) 4 für das sicherheitsbezogene Register 5 (Bezugszeichen 85) von der CPU 1a und gibt das Busdiagnosesignal (CHKBUS) an die Auswahlschaltung 22 in den Busdiagnoseregistern 21 der CPU aus. Die Auswahlschaltung 22 liest den Wert von dem momentanen Unterbrechungslevel (Level 2) der CPU 1a aus dem Unterbrechungslevelregister 20 und decodiert den gelesenen Wert und gibt ihn aus, um das Datenbusdiagnoseregister 2 (Bezugszeichen 221) und das Adressenbusdiagnoseregister 2 (Bezugszeichen 216) auszuwählen. Das Busdiagnosesignal (CHKBUS) 15 wird dem ausgewählten Datenbusdiagnoseregister 2 (Bezugszeichen 221) und dem Adressenbusdiagnoseregister 2 (Bezugszeichen 216) zugeführt, der Wert („ddd”) von SOUT1 wird in dem Datenbusdiagnoseregister 2 (Bezugszeichen 221) gespeichert und die Adresse („DDD”) von dem sicherheitsbezogenen Register 5 (Bezugszeichen 85) wird in dem Adressenbusdiagnoseregister 2 (Bezugszeichen 216) gespeichert.
  • Wie beschrieben wird, wenn der Unterbrechungslevel von der CPU 1a 2 ist, der Wert von dem Ausgabeport SOUT1 der CPU 1a in dem Datenbusdiagnoseregister 2 (Bezugszeichen 221) gespeichert, der Wert von der Adresse von dem sicherheitsbezogenen Register 5 (Bezugszeichen 85) wird in dem Adressenbusdiagnoseregister 2 (Bezugszeichen 216) gespeichert und die Werte von dem Datenbusdiagnoseregister 1 (Bezugszeichen 220) und dem Adressenbusdiagnoseregister 2 (Bezugszeichen 215) werden nicht überschrieben.
  • Die auf Schritt S516 folgenden Prozesse sind ähnlich denen, die oben mit Bezug auf 2 beschrieben wurden und werden nicht erneut beschrieben werden. In dem Sicherheitseingabe-/Ausgabeprozess an dem Unterbrechungslevel von 2 greift die CPU 1a auf keine anderen Datenbusdiagnoseregister und Adressenbusdiagnoseregister als das Datenbusdiagnoseregister 2 (Bezugszeichen 221) und das Adressenbusdiagnoseregister 2 (Bezugszeichen 216) zu. Deswegen werden die Werte, die in dem Datenbusdiagnoseregister 1 (Bezugszeichen 220) und dem Adressenbusdiagnoseregister 1 (Bezugszeichen 215) gespeichert sind, nicht überschrieben. Wenn der Sicherheitseingabe-/Ausgabeprozess 5 abgeschlossen ist und der Prozess von dem Unterbrechungslevel von 2 zu Schritt S531 fortschreitet, ist der Prozess von dem Unterbrechungslevel von 2 abgeschlossen und der Prozess von dem Unterbrechungslevel von 1 wird wieder aufgenommen.
  • Weil wie oben beschrieben die Werte, die in dem Datenbusdiagnoseregister 1 (Bezugszeichen 220) und dem Adressenbusdiagnoseregister 1 (Bezugszeichen 215), in Schritt S501 an dem Unterbrechungslevel von 1 gespeichert sind, nicht überschrieben werden und unverändert bleiben, kann der Sicherheitseingabe-/Ausgabeprozess 1, welcher an dem Unterbrechungslevel von 1 zu einem Teil vor dem Start von dem Prozess des Unterbrechungslevels von 2 abgelaufen ist, fortgesetzt werden. In dieser Weise kann bei der vorliegenden Ausführungsform der Sicherheitseingabe-/Ausgabeprozess an einer Mehrzahl von Unterbrechungsleveln unabhängig ausgeführt werden.
  • Bei der vorliegenden Ausführungsform kann außerdem eine Ausführung eingesetzt werden, bei welcher die Adressenbusdiagnoseregister 1–4 (Bezugszeichen 215218) von der Struktur der vorliegenden Ausführungsform weggelassen sind und allein der Übertragungsfehler an dem Datenbus detektiert wird. Alternativ kann eine Ausführung eingesetzt werden, bei welcher die Datenbusdiagnoseregister 1–4 (Bezugszeichen 220223) von der Struktur der vorliegenden Ausführungsform weggelassen sind und allein der Übertragungsfehler an dem Adressenbus detektiert wird.
  • 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
    • JP 2011-173357 [0001]
    • JP 2010-272089 A [0007]
    • JP 7-121398 A [0007]
    • JP 3-288949 A [0007]
    • JP 8-328602 A [0007]

Claims (6)

  1. Steuervorrichtung, welche eine Datenbusdiagnosefunktion hat und aufweist: eine integrierte Schaltung und einen Prozessor, der mit der integrierten Schaltung über einen Datenbus verbunden ist, dadurch gekennzeichnet: dass die integrierte Schaltung ein sicherheitsbezogenes Register, auf welches durch den Prozessor zugegriffen wird und welches Daten speichert, die einen Betriebszustand von vorbestimmten sicherheitsbezogenen Teilen speichert, ein nicht-sicherheitsbezogenes Register, auf welches durch den Prozessor zugegriffen wird und welches Daten speichert, die einen Betriebszustand von vorbestimmten nicht-sicherheitsbezogenen Teilen speichert, ein Datenbusdiagnoseregister und einen Busdiagnoseadressenkomparator aufweist; dass basierend auf einer Adresse von einer Zieladresse des Prozessors der Busdiagnoseadressenkomparator ein Busdiagnosesignal dem Datenbusdiagnoseregister zuführt, wenn die Zieladresse des Prozessors das sicherheitsbezogene Register ist, und er nicht das Busdiagnosesignal dem Datenbusdiagnoseregister zuführt, wenn die Zieladresse des Prozessors das nicht-sicherheitsbezogene Register ist; dass das Datenbusdiagnoseregister bei Erhalt des Busdiagnosesignals von dem Busdiagnoseadressenkomparator Daten speichert, die in dem sicherheitsbezogenen Register gespeichert sind; und dass nachdem die Daten, die in dem sicherheitsbezogenen Register gespeichert sind, in dem Datenbusdiagnoseregister gespeichert sind, der Prozessor die Daten, die in dem Datenbusdiagnoseregister gespeichert sind, und die Daten, die in dem sicherheitsbezogenen Register gespeichert sind, liest, und die Daten, die in dem Datenbusdiagnoseregister gespeichert sind, und die Daten, die in dem sicherheitsbezogenen Register gespeichert sind, zum Detektieren eines Übertragungsfehlers an dem Datenbus vergleicht.
  2. Steuervorrichtung mit der Datenbusdiagnosefunktion nach Anspruch 1, dadurch gekennzeichnet, dass eine Mehrzahl an Datenbusdiagnoseregistern in der integrierten Schaltung vorgesehen ist, welche einer Anzahl an Unterbrechungsleveln des Prozessors entspricht und dass die integrierte Schaltung weiterhin aufweist: eine Unterbrechungslevelspeichereinheit, welche Daten speichert, die einen Unterbrechungslevel angeben, wenn der Prozessor auf das sicherheitsbezogene Register zugreift und eine Auswahlschaltung, welche eines von einer Mehrzahl an Datenbusdiagnoseregistern basierend auf Daten auswählt, die in der Unterbrechungslevelspeichereinheit gespeichert sind und die das Busdiagnosesignal, das von dem Busdiagnoseadressenkomparator zugeführt wird, dem ausgewählten Datenbusdiagnoseregister zuführt.
  3. Steuervorrichtung, welche eine Adressenbusdiagnosefunktion hat und aufweist: eine integrierte Schaltung und einen Prozessor, welcher mit der integrierten Schaltung über einen Adressenbus verbunden ist, dadurch gekennzeichnet: dass die integrierte Schaltung ein sicherheitsbezogenes Register, auf welches durch den Prozessor zugegriffen wird und welches Daten speichert, die einen Betriebszustand von vorbestimmten sicherheitsbezogenen Teilen definieren, ein nicht-sicherheitsbezogenes Register, auf welches durch den Prozessor zugegriffen wird und welches Daten speichert, die einen Betriebszustand von vorbestimmten nicht-sicherheitsbezogenen Teilen definieren, ein Adressenbusdiagnoseregister und einen Busdiagnoseadressenkomparator aufweist; dass basierend auf einer Adresse von einer Zieladresse des Prozessors der Busdiagnoseadressenkomparator ein Busdiagnosesignal dem Adressenbusdiagnoseregister zuführt, wenn die Zieladresse des Prozessors das sicherheitsbezogene Register ist, und nicht das Busdiagnosesignal dem Adressenbusdiagnoseregister zuführt, wenn die Zieladresse des Prozessors das nicht-sicherheitsbezogene Register ist; dass das Adressenbusdiagnoseregister bei Erhalt des Busdiagnosesignals von dem Busdiagnoseadressenkomparator eine Adresse von dem sicherheitsbezogenen Register, welche von dem Prozessor zugeführt wird, speichert und dass, nachdem die Adresse des sicherheitsbezogenen Registers in dem Adressenbusdiagnoseregister gespeichert ist, der Prozessor die Adresse, die in dem Adressenbusdiagnoseregister gespeichert ist, liest und die Adresse, die in dem Adressenbusdiagnoseregister gespeichert ist, und die Adresse von dem sicherheitsbezogenen Register zum Detektieren eines Übertragungsfehlers an dem Adressenbus vergleicht.
  4. Steuervorrichtung mit der Adressenbusdiagnosefunktion nach Anspruch 3, dadurch gekennzeichnet, dass eine Mehrzahl an den Adressenbusdiagnoseregistern in der integrierten Schaltung vorgesehen ist, welche einer Anzahl an Unterbrechungsleveln des Prozessors entspricht und dass die integrierte Schaltung weiterhin aufweist: eine Unterbrechungslevelspeichereinheit, welche Daten speichert, die einen Unterbrechungslevel angeben, wenn der Prozessor auf das sicherheitsbezogene Register zugreift; und eine Auswahlschaltung, welche eines von der Mehrzahl an den Adressenbusdiagnoseregistern basierend auf Daten auswählt, die in der Unterbrechungslevelspeichereinheit gespeichert sind, und die das Busdiagnosesignal, das von dem Busdiagnoseadressenkomparator zugeführt wird, dem ausgewählten Adressenbusdiagnoseregister zuführt.
  5. Steuervorrichtung, welche eine Datenbus- und Adressenbusdiagnosefunktion hat und aufweist: eine integrierte Schaltung und einen Prozessor, welcher mit der integrierten Schaltung durch einen Datenbus und einen Adressenbus verbunden ist, dadurch gekennzeichnet: dass die integrierte Schaltung ein sicherheitsbezogenes Register, auf welches durch den Prozessor zugegriffen wird und welches Daten speichert, die einen Betriebszustand von vorbestimmten sicherheitsbezogenen Teilen definieren, ein nicht-sicherheitsbezogenes Register, auf welches durch den Prozessor zugegriffen wird und welches Daten speichert, die einen Betriebszustand von vorbestimmten nicht-sicherheitsbezogenen Teilen definieren, ein Datenbusdiagnoseregister, ein Adressenbusdiagnoseregister und einen Busdiagnoseadressenkomparator aufweist; dass basierend auf einer Adresse von einer Zieladresse des Prozessors der Busdiagnoseadressenkomparator ein Busdiagnosesignal dem Datenbusdiagnoseregister und dem Adressenbusdiagnoseregister zuführt, wenn die Zieladresse von dem Prozessor das sicherheitsbezogene Register ist, und nicht das Busdiagnosesignal dem Datenbusdiagnoseregister und dem Adressenbusdiagnoseregister zuführt, wenn die Zieladresse von dem Prozessor das nicht-sicherheitsbezogene Register ist; dass das Datenbusdiagnoseregister, welches bei Erhalt des Busdiagnosesignals von dem Busdiagnoseadressenkomparator Daten speichert, die in dem sicherheitsbezogenen Register gespeichert sind; dass das Adressenbusdiagnoseregister, welches bei Erhalt des Busdiagnosesignals von dem Busdiagnoseadressenkomparator eine Adresse von dem sicherheitsbezogenen Register, welche von dem Prozessor zugeführt wird, speichert; und dass, nachdem die Daten, die in dem sicherheitsbezogenen Register gespeichert sind, in dem Datenbusdiagnoseregister gespeichert worden sind und die Adresse von dem sicherheitsbezogenen Register in dem Adressenbusdiagnoseregister gespeichert worden ist, der Prozessor die Daten, die in dem Datenbusdiagnoseregister gespeichert sind, die Adresse, die in dem Adressenbusdiagnoseregister gespeichert ist, und die Daten, die in dem sicherheitsbezogenen Register gespeichert sind, liest und die Daten, die in dem Datenbusdiagnoseregister gespeichert sind, und die Daten, die in dem sicherheitsbezogenen Register gespeichert sind, zum Detektieren eines Übertragungsfehlers an dem Datenbus vergleicht, und die Adresse, die in dem Adressenbusdiagnoseregister gespeichert ist, und die Adresse von dem sicherheitsbezogenen Register zum Detektieren eines Übertragungsfehlers an dem Adressenbus vergleicht.
  6. Steuervorrichtung mit der Datenbus- und Adressenbusdiagnosefunktion nach Anspruch 5, dadurch gekennzeichnet, dass eine Mehrzahl an den Datenbusdiagnoseregistern und eine Mehrzahl an den Adressenbusdiagnoseregistern in der integrierten Schaltung vorgesehen sind, welche einer Anzahl an Unterbrechungsleveln von dem Prozessor entsprechen, und dass die integrierte Schaltung weiterhin aufweist: eine Unterbrechungslevelspeichereinheit, welche Daten speichert, die einen Unterbrechungslevel angeben, wenn der Prozessor auf das sicherheitsbezogene Register zugreift, und eine Auswahlschaltung, welche eines von der Mehrzahl an den Datenbusdiagnoseregistern und eines von der Mehrzahl an den Adressenbusdiagnoseregistern basierend auf Daten auswählt, die in der Unterbrechungslevelspeichereinheit gespeichert sind, und die das Busdiagnosesignal, das von dem Busdiagnoseadressenkomparator zugeführt wird, an ein Paar zuführt, welches aus dem ausgewählten Datenbusdiagnoseregister und dem ausgewählten Adressenbusdiagnoseregister besteht.
DE102012011872.4A 2011-08-08 2012-06-13 Steuervorrichtung mit einer Bus-Diagnosefunktion Active DE102012011872B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011173357A JP5632804B2 (ja) 2011-08-08 2011-08-08 バス診断機能を備えた制御装置
JP2011-173357 2011-08-08

Publications (2)

Publication Number Publication Date
DE102012011872A1 true DE102012011872A1 (de) 2013-02-14
DE102012011872B4 DE102012011872B4 (de) 2017-02-02

Family

ID=47595691

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102012011872.4A Active DE102012011872B4 (de) 2011-08-08 2012-06-13 Steuervorrichtung mit einer Bus-Diagnosefunktion

Country Status (3)

Country Link
JP (1) JP5632804B2 (de)
DE (1) DE102012011872B4 (de)
IT (1) ITRM20120349A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103941625B (zh) * 2014-05-08 2017-02-22 哈尔滨工业大学 Can总线数据传输监控系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03288949A (ja) 1990-04-06 1991-12-19 Toshiba Corp 遠方監視制御装置
JPH07121398A (ja) 1993-10-27 1995-05-12 Hitachi Ltd Cpuバスチェック制御方式
JPH08328602A (ja) 1995-05-29 1996-12-13 Mitsubishi Electric Corp 二重系切替方式
JP2010272089A (ja) 2009-05-25 2010-12-02 Hitachi Ltd レジスタ診断装置及びレジスタ診断方法
JP2011173357A (ja) 2010-02-25 2011-09-08 Kyocera Corp 記録装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH079636B2 (ja) * 1988-12-27 1995-02-01 沖電気工業株式会社 バス診断装置
JPH02281343A (ja) * 1989-04-21 1990-11-19 Nec Corp Cpu動作の監視方式
JPH0816426A (ja) * 1994-06-28 1996-01-19 Mitsubishi Electric Corp 故障診断装置及び故障診断方法
JPH11338786A (ja) * 1998-05-29 1999-12-10 Pfu Ltd 主記憶アドレスバス診断方法およびその診断装置並びに記録媒体
DE19927635B4 (de) * 1999-06-17 2009-10-15 Phoenix Contact Gmbh & Co. Kg Sicherheitsbezogenes Automatisierungsbussystem
US6609221B1 (en) * 1999-08-31 2003-08-19 Sun Microsystems, Inc. Method and apparatus for inducing bus saturation during operational testing of busses using a pattern generator
DE10347196B4 (de) * 2003-10-10 2016-05-19 Dr. Johannes Heidenhain Gmbh Vorrichtung zur Überprüfung einer Schnittstelle
JP2007058716A (ja) * 2005-08-26 2007-03-08 Oki Electric Ind Co Ltd データ転送バスシステム
JP2008009795A (ja) * 2006-06-30 2008-01-17 Hitachi Ltd 診断装置,回線診断方法及び回線診断プログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03288949A (ja) 1990-04-06 1991-12-19 Toshiba Corp 遠方監視制御装置
JPH07121398A (ja) 1993-10-27 1995-05-12 Hitachi Ltd Cpuバスチェック制御方式
JPH08328602A (ja) 1995-05-29 1996-12-13 Mitsubishi Electric Corp 二重系切替方式
JP2010272089A (ja) 2009-05-25 2010-12-02 Hitachi Ltd レジスタ診断装置及びレジスタ診断方法
JP2011173357A (ja) 2010-02-25 2011-09-08 Kyocera Corp 記録装置

Also Published As

Publication number Publication date
ITRM20120349A1 (it) 2013-02-09
JP5632804B2 (ja) 2014-11-26
JP2013037550A (ja) 2013-02-21
DE102012011872B4 (de) 2017-02-02

Similar Documents

Publication Publication Date Title
DE102018113625A1 (de) Fehlerinjektionstestvorrichtung und -verfahren
DE60002908T2 (de) Vorrichtung und verfahren zur verbesserten fehlerortung und diagnose in rechnern
DE1279980C2 (de) Aus mehreren miteinander gekoppelten Datenverarbeitungseinheiten bestehendes Datenverarbeitungssystem
DE112018002176T5 (de) Anormalitätsbestimmungsvorrichtung, Anormalitätsbestimmungsverfahren und Anormalitätsbestimmungsprogramm
DE102008033675B4 (de) Dualkernarchitektur eines Steuermoduls eines Motors
DE102005015664A1 (de) Diagnosesystem zur Bestimmung einer gewichteten Liste möglicherweise fehlerhafter Komponenten aus Fahrzeugdaten und Kundenangaben
DE3423090A1 (de) Fehlerermittlungseinrichtung fuer ein datenuebertragungssystem
DE102004004572B4 (de) Fehlerdiagnoseverfahren für ein Fahrzeugkommunikationsnetz
DE2225841B2 (de) Verfahren und Anordnung zur systematischen Fehlerprüfung eines monolithischen Halbleiterspeichers
EP0104635A2 (de) Verfahren und Anordnung zum Prüfen eines digitalen Rechners
DE102008004205A1 (de) Schaltungsanordnung und Verfahren zur Fehlerbehandlung in Echtzeitsystemen
DE2442847A1 (de) Test- und diagnoseanordnung fuer eine datenverarbeitungseinheit
WO2007057270A1 (de) Programmgesteuerte einheit und verfahren zum betreiben derselbigen
DE102011011333B4 (de) Lesen in Peripheriegeräte und schreiben aus Peripheriegeräten mit zeitlich getrennter, redundanter Prozessorausführung
DE102019131865A1 (de) Verfahren und vorrichtung zur eigendiagnose der ram-fehlererkennungslogik eines antriebsstrangcontrollers
DE102017123812A1 (de) Steuervorrichtung
DE2906789B2 (de)
DE102012011872B4 (de) Steuervorrichtung mit einer Bus-Diagnosefunktion
EP2786162B1 (de) Verfahren zum feststellen eines fehlers in verbindungleitungen zwischen einer zentraleinheit und einer mehrzahl von voreinander unabhängigen elektronischen baueinheiten
DE102016200130B4 (de) Elektronische Steuervorrichtung
DE102019132679A1 (de) Überwachungsverfahren für cpu-nutzungsmenge im betrieb von fahrzeug-ecu und überwachungseinheit
DE102011007467A1 (de) Mehrkernige integrierte Mikroprozessorschaltung mit Prüfeinrichtung, Prüfverfahren und Verwendung
DE102017103147A1 (de) Alarmabwicklungs-Schaltungsanordnung und Verfahren zur Abwicklung eines Alarms
DE102015002717A1 (de) Numerische Steuerung
DE10047966A1 (de) Diagnoseverfahren für in einem Fahrzeug eingesetzte Logik

Legal Events

Date Code Title Description
R012 Request for examination validly filed

Effective date: 20140605

R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R082 Change of representative

Representative=s name: WUNDERLICH & HEIM PATENTANWAELTE PARTNERSCHAFT, DE