DE102022102412A1 - Fault detection for an electronic processing circuit with an arithmetic logic unit - Google Patents
Fault detection for an electronic processing circuit with an arithmetic logic unit Download PDFInfo
- Publication number
- DE102022102412A1 DE102022102412A1 DE102022102412.1A DE102022102412A DE102022102412A1 DE 102022102412 A1 DE102022102412 A1 DE 102022102412A1 DE 102022102412 A DE102022102412 A DE 102022102412A DE 102022102412 A1 DE102022102412 A1 DE 102022102412A1
- Authority
- DE
- Germany
- Prior art keywords
- processing circuit
- electronic processing
- alu
- watchdog
- predefined
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0736—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
- G06F11/0739—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/0757—Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection 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/2226—Detection 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 ALU
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0796—Safety measures, i.e. ensuring safe condition in the event of error, e.g. for controlling element
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/83—Indexing scheme relating to error detection, to error correction, and to monitoring the solution involving signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
Abstract
Ein elektronischer Verarbeitungsschaltkreis (1) weist eine arithmetisch-logischen Einheit, ALU, (7) auf, die dazu eingerichtet ist, eine vordefinierte ALU-Operation auszuführen, und ein Watchdog-Modul (8), welches dazu eingerichtet ist, einen Wert aus einem Speicherort (12) des elektronischen Verarbeitungsschaltkreises (1) auszulesen und eine vordefinierte Sicherheitsmaßnahme zu initiieren, wenn der ausgelesene Wert von einem vordefinierten Zielwert abweicht. Der elektronische Verarbeitungsschaltkreis (1) weist zumindest ein Softwaremodul auf, welches dazu eingerichtet ist, eine Ausgabe der ALU-Operation durch Ausführung einer vordefinierten Transformation in eine transformierte Ausgabe zu transformieren, wobei die transformierte Ausgabe mit dem Zielwert übereinstimmt, wenn die Ausgabe der ALU-Operation einem vordefinierten erwarteten Ergebnis der ALU-Operation entspricht, und die transformierte Ausgabe in den Speicherort (12) zu schreiben.An electronic processing circuit (1) has an arithmetic logic unit, ALU, (7) which is set up to perform a predefined ALU operation, and a watchdog module (8) which is set up to read a value from a Read location (12) of the electronic processing circuit (1) and to initiate a predefined security measure if the read value deviates from a predefined target value. The electronic processing circuit (1) has at least one software module which is set up to transform an output of the ALU operation into a transformed output by performing a predefined transformation, the transformed output agreeing with the target value if the output of the ALU operation corresponds to a predefined expected result of the ALU operation and write the transformed output to memory location (12).
Description
Die vorliegende Erfindung ist auf einen elektronischen Verarbeitungsschaltkreis gerichtet, der eine arithmetisch-logische Einheit, ALU, die dazu eingerichtet ist, eine vordefinierte ALU-Operation auszuführen, und ein Watchdog-Modul aufweist, das dazu eingerichtet ist, einen Wert aus einem Speicherort des elektronischen Verarbeitungsschaltkreises auszulesen und eine vordefinierte Sicherheitsmaßnahme zu initiieren, wenn der ausgelesene Wert von einem vordefinierten Zielwert abweicht. Die Erfindung ist des Weiteren auf ein entsprechendes Störungsdetektionsverfahren für einen elektronischen Verarbeitungsschaltkreis mit einer arithmetisch-logischen Einheit und auf ein Computerprogrammprodukt gerichtet.The present invention is directed to an electronic processing circuit comprising an arithmetic logic unit, ALU, configured to perform a predefined ALU operation, and a watchdog module configured to read a value from a memory location of the electronic Read processing circuit and to initiate a predefined safety measure if the read value deviates from a predefined target value. The invention is also directed to a corresponding fault detection method for an electronic processing circuit with an arithmetic-logic unit and to a computer program product.
ALUs können in unterschiedlichen elektronischen Verarbeitungsschaltkreisen, insbesondere in Mikrocontrollern, zum Beispiel aber nicht notwendigerweise als Teil einer zentralen Verarbeitungseinheit, CPU (englisch: „central processing unit“), benutzt werden. Während der Lebensdauer eines elektronischen Verarbeitungsschaltkreises kann die ALU Störungen unterliegen, insbesondere aufgrund von zufälligen Hardware-Störungen. Treten derartige Störungen auf, so kann es sein, dass der ordnungsgemäße Betrieb des elektronischen Verarbeitungsschaltkreises nicht mehr gewährleistet ist. Insbesondere ist es für sicherheitsrelevante Anwendungen, beispielsweise zum Steuern von Sensorsystemen in einem Fahrzeug, wünschenswert, derartige Störungen der ALU auf zuverlässige Weise detektieren zu können.ALUs can be used in various electronic processing circuits, particularly in microcontrollers, for example but not necessarily as part of a central processing unit, CPU. During the lifetime of an electronic processing circuit, the ALU can be subject to failures, particularly due to random hardware failures. If such disturbances occur, the correct operation of the electronic processing circuitry can no longer be guaranteed. In particular, for safety-relevant applications, for example for controlling sensor systems in a vehicle, it is desirable to be able to reliably detect such faults in the ALU.
Bekannte Herangehensweisen zur ALU-Störungsdetektion schließen ein Bereitstellen redundanter Hardware, insbesondere redundanter ALUs, oder ein Bereitstellen spezifischer Überwachungs-Hardware ein. Diese Herangehensweisen erhöhen die Komplexität des elektronischen Verarbeitungsschaltkreises und somit den Aufwand für Entwicklung und Herstellung des elektronischen Verarbeitungsschaltkreises, was wiederum die Bauteilkosten erhöht. Des Weiteren kann zusätzliche Hardware den erforderlichen Bauraum auf einem Schaltungsträger des elektronischen Verarbeitungsschaltkreises vergrößern.Known approaches to ALU failure detection include providing redundant hardware, particularly redundant ALUs, or providing specific monitoring hardware. These approaches increase the complexity of the electronic processing circuitry and thus the expense of designing and manufacturing the electronic processing circuitry, which in turn increases component costs. Furthermore, additional hardware can increase the space required on a circuit carrier of the electronic processing circuit.
Es ist bei eingebetteten Schaltungen, wie etwa Mikrocontroller, bekannt, einen Watchdog bereitzustellen, der als Hardware-Watchdog oder als Software-Watchdog implementiert ist, und manchmal auch als Watchdog-Zeitgeber bezeichnet wird. Während des regulären Betriebs des elektronischen Verarbeitungsschaltkreises startet dieser den Watchdog regelmäßig neu oder aktualisiert ihn, um zu verhindern, dass sein Zeitgeber abläuft. Im Störungsfall kann die Aktualisierung des Watchdogs nicht mehr ordnungsgemäß oder rechtzeitig erfolgen, was dazu führt, dass der Watchdog abläuft. In diesem Fall kann der Watchdog den elektronischen Verarbeitungsschaltkreis zum Beispiel automatisch zurücksetzen.It is known in embedded circuits such as microcontrollers to provide a watchdog, implemented as a hardware watchdog or as a software watchdog, sometimes referred to as a watchdog timer. During the regular operation of the electronic processing circuit, it periodically restarts or updates the watchdog to prevent its timer from running out. In the event of a fault, the watchdog can no longer be updated properly or in a timely manner, which means that the watchdog expires. In this case, the watchdog can, for example, automatically reset the electronic processing circuit.
Bekannte Watchdogs sind jedoch nicht dazu in der Lage, Störungen einer ALU zu detektieren, falls die ALU die erwarteten ALU-Operationen durchführt, aber ein falsches Ergebnis liefert, beispielsweise aufgrund von internen Hardware-Störungen der ALU.However, known watchdogs are not capable of detecting failures of an ALU if the ALU performs the expected ALU operations but delivers an incorrect result, for example due to internal hardware failures of the ALU.
Eine Aufgabe der vorliegenden Erfindung ist es, ein verbessertes Konzept zur Störungsdetektion eines elektronischen Verarbeitungsschaltkreises, der eine ALU und einen Watchdog enthält, bereitzustellen, welches es ermöglicht, Störungen der ALU zu detektieren, ohne zusätzliche Hardware-Komponenten zu erfordern.An object of the present invention is to provide an improved concept for fault detection of an electronic processing circuit containing an ALU and a watchdog, which makes it possible to detect faults in the ALU without requiring additional hardware components.
Diese Aufgabe wird durch den jeweiligen Gegenstand der unabhängigen Ansprüche gelöst. Weitere Ausführungen und bevorzugte Ausführungsbeispiele sind Gegenstand der abhängigen Ansprüche.This object is solved by the respective subject matter of the independent claims. Further designs and preferred embodiments are the subject matter of the dependent claims.
Die Erfindung beruht auf dem Gedanken, eine Transformation bereitzustellen, die eine Ausgabe der ALU in einen Zielwert transformiert, vorausgesetzt die ALU führt eine vordefinierte ALU-Operation erwartungsgemäß aus, oder mit anderen Worten vorausgesetzt die ALU arbeitet erwartungsgemäß. Falls die ALU nicht erwartungsgemäß arbeitet, kann die Transformation einen anderen Wert ergeben. Die Ausgabe der Transformation wird in einen Speicherort geschrieben, der von dem Watchdog ausgelesen wird. Der Zielwert entspricht dem korrekten Wert zum Aktualisieren des Watchdog, oder, mit anderen Worten, der Watchdog initiiert eine Sicherheitsmaßnahme, falls der ausgelesene Wert von dem Zielwert abweicht.The invention is based on the idea of providing a transformation that transforms an output of the ALU into a target value provided the ALU performs a predefined ALU operation as expected, or in other words provided the ALU works as expected. If the ALU does not perform as expected, the transformation may yield a different value. The output of the transform is written to a memory location read by the watchdog. The target value corresponds to the correct value for updating the watchdog, or in other words the watchdog initiates a safety measure if the value read deviates from the target value.
Gemäß einem Aspekt der Erfindung wird ein elektronischer Verarbeitungsschaltkreis bereitgestellt. Der elektronische Verarbeitungsschaltkreis weist eine arithmetisch-logische Einheit, ALU (englisch: „arithmetic logical unit“) auf, die dazu eingerichtet ist, eine vordefinierte ALU-Operation auszuführen. Der elektronische Verarbeitungsschaltkreis weist des Weiteren ein Watchdog-Modul auf, welches dazu eingerichtet ist, einen Wert aus einem vordefinierten Speicherort des elektronischen Verarbeitungsschaltkreises auszulesen und eine vordefinierte Sicherheitsmaßnahme zu initiieren, wenn der ausgelesene Wert von einem vordefinierten Zielwert abweicht. Der elektronische Verarbeitungsschaltkreis weist zumindest ein Softwaremodul auf, welches dazu eingerichtet ist, eine Ausgabe der ALU-Operation durch Ausführung einer vordefinierten Transformation in eine transformierte Ausgabe zu transformieren. Dabei ist die Transformation derart konstruiert oder vordefiniert, dass die transformierte Ausgabe mit dem Zielwert übereinstimmt, wenn, insbesondere genau dann, wenn die Ausgabe der ALU-Operation einem vordefinierten erwarteten Ergebnis der ALU-Operation entspricht. Das zumindest eine Software-Modul ist dazu eingerichtet, die transformierte Ausgabe in einen Speicherort zu schreiben.According to one aspect of the invention, an electronic processing circuit is provided. The electronic processing circuitry includes an arithmetic logical unit, ALU, configured to perform a predefined ALU operation. The electronic processing circuit also has a watchdog module, which is set up to read a value from a predefined storage location of the electronic processing circuit and to initiate a predefined safety measure if the value read deviates from a predefined target value. The electronic processing circuit has at least one software module which is set up to output the ALU operation by executing a predefined th transformation into a transformed output. In this case, the transformation is constructed or predefined in such a way that the transformed output corresponds to the target value if, in particular if and only if the output of the ALU operation corresponds to a predefined expected result of the ALU operation. The at least one software module is configured to write the transformed output to a storage location.
Insbesondere kann das Watchdog-Modul den Wert in zyklischer Weise aus dem Speicherort auslesen. Wenn die transformierte Ausgabe in den Speicherort geschrieben wird, liest folglich der Watchdog die transformierte Ausgabe im nächsten Auslesezyklus aus dem Speicherort aus. Wenn dann die ausgelesene transformierte Ausgabe gleich dem Zielwert ist, initiiert das Watchdog-Modul die Sicherheitsmaßnahme nicht, sondern kann vielmehr einen Watchdog-Zeitgeber aktualisieren. Wenn andererseits die ausgelesene transformierte Ausgabe von dem Zielwert abweicht, initiiert das Watchdog-Modul die Sicherheitsmaßnahme, erzeugt zum Beispiel ein Zurücksetzungs- oder Neustartsignal, welches den elektronischen Verarbeitungsschaltkreis dazu veranlasst, sich selbst neu zu starten. Es können jedoch auch andere oder zusätzliche Sicherheitsmaßnahmen initiiert werden, indem zum Beispiel externe elektronische Vorrichtungen entsprechend informiert werden.In particular, the watchdog module can read the value from the storage location in a cyclic manner. Consequently, when the transformed output is written to the memory location, the watchdog reads the transformed output from the memory location in the next read cycle. Then, when the transformed output read is equal to the target value, the watchdog module does not initiate the safety measure, but rather may update a watchdog timer. On the other hand, if the read out transformed output deviates from the target value, the watchdog module initiates the safety measure, e.g. generates a reset or restart signal, which causes the electronic processing circuitry to restart itself. However, other or additional security measures can also be initiated, for example by informing external electronic devices accordingly.
Erfindungsgemäß wird der Watchdog auf neuartige Weise benutzt, indem die korrekte Ausgabe der ALU-Operation überprüft wird, was nicht Teil des Standardbetriebs eines Watchdogs ist. Zusätzlich kann der Watchdog auch auf allgemein bekannte Weise arbeiten und somit die Sicherheitsmaßnahme initiieren, falls der ausgelesene Wert nicht mit dem Zielwert übereinstimmt oder andere vordefinierte Bedingungen zum Aktualisieren des Watchdog-Zeitgebers nicht erfüllt werden.According to the invention, the watchdog is used in a novel way by checking the correct output of the ALU operation, which is not part of the standard operation of a watchdog. In addition, the watchdog can also operate in a well-known manner, thus initiating the safety measure if the read value does not match the target value or other predefined conditions for updating the watchdog timer are not met.
Zum Beispiel können die beschriebenen erfindungsgemäßen Schritte, nämlich Transformieren der Ausgabe der ALU-Operation und Schreiben der transformierten Ausgabe in den Speicherort, mit einer Rate ausgeführt werden, die kleiner ist als eine entsprechende Zyklusfrequenz des Watchdog-Zyklus. Sie können zum Beispiel einmal pro störungstolerantem Zeitintervall, FTTI (englisch: „fault tolerant time interval“) ausgeführt werden.For example, the inventive steps described, namely transforming the output of the ALU operation and writing the transformed output to the memory location, may be performed at a rate less than a corresponding cycle frequency of the watchdog cycle. For example, they can be executed once per fault tolerant time interval, FTTI.
Wenn die transformierte Ausgabe in den Speicherort geschrieben wird, kann der Vorgang des Schreibens in den Speicherort gemäß der normalen Watchdog-Operation unterbrochen werden oder derart zeitlich abgestimmt sein, dass der Watchdog tatsächlich die transformierte Ausgabe ausliest, die als ein Ergebnis der Transformation der ALU-Ausgabe geschrieben ist.When the transformed output is written to the memory location, the operation of writing to the memory location may be interrupted according to normal watchdog operation or timed such that the watchdog actually reads the transformed output generated as a result of transforming the ALU output is written.
Durch derartige Benutzung des Watchdogs kann der korrekte Betrieb der ALU, insbesondere zyklisch, überwacht werden, wobei eine Zyklusperiode durch eine Watchdog-Zeitgeber-Aktualisierungsperiode gegeben ist, ohne dass zusätzliche Hardware-Komponenten erforderlich sind, da der Watchdog für seinen normalen Zweck ohnehin vorgesehen ist. Des Weiteren ist keine komplexe Software-Entwicklung notwendig, um den neuartigen Gebrauch des Watchdog in der beschriebenen Weise auszuführen.By using the watchdog in this way, the correct operation of the ALU can be monitored, in particular cyclically, where a cycle period is given by a watchdog timer update period, without the need for additional hardware components, since the watchdog is intended for its normal purpose anyway . Furthermore, no complex software development is necessary to carry out the novel use of the watchdog in the manner described.
Die ALU ist ein Hardware-Schaltkreis, gewöhnlich ein digitaler Schaltkreis, wobei aber auch analoge oder hybride Schaltkreise möglich sind, der dazu ausgestaltet ist, arithmetische und/oder bitweise Operationen mit ganzzahligen Binärzahlen durchzuführen. Derartige Operationen werden hier und im Folgenden als ALU-Operationen bezeichnet. Mit anderen Worten kann die vordefinierte ALU-Operation, die zum Erzeugen der Ausgabe und Transformieren der Ausgabe, die in den Speicherort geschrieben ist, benutzt wird, eine reguläre ALU-Operation sein, die für den regulären Betrieb des elektronischen Verarbeitungsschaltkreises erforderlich ist.The ALU is a hardware circuit, usually digital but analog or hybrid circuits are possible, configured to perform arithmetic and/or bitwise operations on binary integers. Such operations are referred to here and below as ALU operations. In other words, the predefined ALU operation used to generate the output and transform the output written to the memory location may be a regular ALU operation required for the regular operation of the electronic processing circuitry.
Insbesondere kann die Transformation in Software als ein Teil des zumindest einen Softwaremoduls kodiert sein. Zum Beispiel kann für jede einer Vielzahl von relevanten ALU-Operationen, eine jeweilige Transformation konstruiert und vordefiniert sein oder mit anderen Worten in dem zumindest einen Softwaremodul kodiert sein. Die beschriebenen Schritte des Erzeugens der Ausgabe der ALU-Operationen, ihres Transformierens und des Schreibens der transformierten Ausgabe in den Speicherort können analog für alle der Vielzahl der ALU-Operationen ausgeführt werden. Zum Beispiel können die entsprechenden Schritte derart ausgeführt werden, dass der Watchdog die unterschiedlichen transformierten Ausgaben bei verschiedenen Watchdog-Zyklen ausliest.In particular, the transformation can be encoded in software as part of the at least one software module. For example, for each of a plurality of relevant ALU operations, a respective transformation may be constructed and predefined, or in other words coded in the at least one software module. The described steps of generating the output of the ALU operations, transforming them, and writing the transformed output to the memory location can be performed analogously for all of the plurality of ALU operations. For example, the corresponding steps can be performed such that the watchdog reads the different transformed outputs at different watchdog cycles.
Unter einem Software-Modul kann ein Teil von Softwarecode verstanden werden, der funktional in einer Einheit verbunden und kombiniert ist. Ein Softwaremodul kann mehrere Verarbeitungsschritte und/oder Datenstrukturen aufweisen oder implementieren.A software module can be understood as a piece of software code that is functionally connected and combined into one unit. A software module may have or implement multiple processing steps and/or data structures.
Der Speicherort ist insbesondere ein Speicherort des Watchdog-Moduls, zum Beispiel ein Eingangsregister des Watchdog-Moduls. Das Eingangsregister kann in dem Sinne vordefiniert sein, dass das Watchdog-Modul nur dann aktualisiert wird, wenn der Zielwert aus dem korrekten Eingangsregister ausgelesen wird.The storage location is in particular a storage location of the watchdog module, for example an input register of the watchdog module. The input register can be predefined in the sense that the watchdog module is only updated when when the target value is read from the correct input register.
Vorzugsweise wird das Watchdog-Modul als ein Hardware-Watchdog ausgeführt, derart dass die Hardware des Watchdog-Moduls vollständig von der ALU, insbesondere von der ALU und von allen weiteren Hardware-Komponenten des elektronischen Verarbeitungsschaltkreises, separiert ist.The watchdog module is preferably implemented as a hardware watchdog such that the hardware of the watchdog module is completely separated from the ALU, in particular from the ALU and from all other hardware components of the electronic processing circuit.
Das Watchdog-Modul kann als ein Zeitablauf-Watchdog oder als ein Fenster-Watchdog ausgestaltet sein.The watchdog module can be designed as a timeout watchdog or as a window watchdog.
Gemäß einigen Ausführungen weist der elektronische Verarbeitungsschaltkreis zumindest eine Hardwareeinheit auf, insbesondere zusätzlich zu der ALU, und das zumindest eine Softwaremodul ist dazu eingerichtet, im Fall eines störungsfreien Betriebs der zumindest einen Hardwareeinheit den vordefinierten Zielwert in den Speicherort zu schreiben.According to some implementations, the electronic processing circuit has at least one hardware unit, in particular in addition to the ALU, and the at least one software module is configured to write the predefined target value to the memory location in the event of trouble-free operation of the at least one hardware unit.
Insbesondere kann das zumindest eine Softwaremodul dazu in der Lage sein zu bestimmen, ob der störungsfreie Betrieb der zumindest einen Hardwareeinheit gegeben ist und, wenn dies der Fall ist, insbesondere genau dann, wenn dies der Fall ist, den Zielwert zu schreiben. Das entspricht einem normalen Watchdog-Betrieb, der zum Beispiel dazu benutzt werden kann, eine zyklische Aktualisierung nach dem Prinzip eines Zeitablauf-Watchdogs oder eines Fenster-Watchdogs, zusätzlich zu der erfindungsgemäßen neuartigen Benutzung des Watchdog-Moduls, durchzuführen.In particular, the at least one software module can be able to determine whether the at least one hardware unit is operating correctly and, if this is the case, in particular exactly when this is the case, to write the target value. This corresponds to normal watchdog operation, which can be used, for example, to carry out a cyclic update according to the principle of a timeout watchdog or a window watchdog, in addition to the novel use of the watchdog module according to the invention.
Die zumindest eine Hardware-Einheit kann zum Beispiel eine Steuereinheit, CU (englisch: „control unit“), und/oder eine Ausführungseinheit, EU (englisch: „execution unit“), des elektronischen Verarbeitungsschaltkreis, zum Beispiel einer CPU des elektronischen Verarbeitungsschaltkreises, und/oder weitere Hardware-Komponenten aufweisen.The at least one hardware unit can be, for example, a control unit, CU, and/or an execution unit, EU, of the electronic processing circuit, for example a CPU of the electronic processing circuit, and/or other hardware components.
Gemäß einigen Ausführungen ist das Watchdog-Modul dazu eingerichtet, die Sicherheitsmaßnahme zu initiieren, wenn ein Watchdog-Zeitgeber des Watchdog-Moduls abläuft, insbesondere falls und wenn der Watchdog-Zeitgeber abläuft. Das Watchdog-Modul ist dazu eingerichtet, den Watchdog-Zeitgeber nur dann zurückzusetzen, wenn der ausgelesene Wert dem Zielwert entspricht, oder mit anderen Worten nur dann, wenn der ausgelesene Wert gleich dem Zielwert ist.According to some implementations, the watchdog module is configured to initiate the security measure when a watchdog timer of the watchdog module expires, particularly if and when the watchdog timer expires. The watchdog module is configured to reset the watchdog timer only when the value read equals the target value, or in other words only when the value read equals the target value.
Das Übereinstimmen des ausgelesenen Werts mit dem Zielwert ist eine notwendige Bedingung für das Watchdog-Modul, den Watchdog-Zeitgeber zurückzusetzen. Es kann jedoch auch sein, dass dies keine ausreichende Bedingung ist. In manchen Ausführungen kann es zum Beispiel sein, dass zusätzliche Voraussetzungen erfüllt sein müssen, um das Watchdog-Modul dazu zu veranlassen, den Watchdog-Zeitgeber zurückzusetzen. Zu den zusätzlichen Voraussetzungen kann es zum Beispiel gehören, dass der Speicherort ein korrekt vordefinierter Speicherort ist und/oder innerhalb eines bestimmten vordefinierten Zeitfensters geschrieben worden ist.Matching the read value with the target value is a necessary condition for the watchdog module to reset the watchdog timer. However, it may also be the case that this is not a sufficient condition. For example, in some implementations, additional conditions may need to be met to cause the watchdog module to reset the watchdog timer. The additional requirements may include, for example, that the memory location is a correctly predefined memory location and/or was written within a certain predefined time window.
Gemäß einigen Ausführungen ist das Watchdog-Modul dazu eingerichtet, ein Zurücksetzungssignal zum Zurücksetzen des elektronischen Verarbeitungsschaltkreises zu erzeugen und/oder ein Informationssignal für eine externe elektronische Komponente zu erzeugen, um die Sicherheitsmaßnahme zu initiieren.According to some implementations, the watchdog module is configured to generate a reset signal for resetting the electronic processing circuitry and/or to generate an information signal for an external electronic component to initiate the security measure.
Mit anderen Worten beinhaltet das Initiieren der Sicherheitsmaßnahme ein Erzeugen des Zurücksetzungssignals und/oder ein Erzeugen des Informationssignals.In other words, initiating the security measure includes generating the reset signal and/or generating the information signal.
Das Zurücksetzungssignal kann den elektronischen Verarbeitungsschaltkreis unmittelbar zum Zurücksetzen veranlassen oder das zumindest eine Softwaremodul oder eine andere spezifische Komponente des elektronischen Verarbeitungsschaltkreises kann das Zurücksetzen des elektronischen Verarbeitungsschaltkreises abhängig von dem Zurücksetzungssignal initiieren.The reset signal may cause the electronic processing circuitry to reset immediately, or the at least one software module or other specific component of the electronic processing circuitry may initiate resetting of the electronic processing circuitry in response to the reset signal.
Die externe elektronische Komponente ist zu dem elektronischen Verarbeitungsschaltkreis extern oder mit anderen Worten nicht Teil des elektronischen Verarbeitungsschaltkreises. Die externe elektronische Komponente kann zum Beispiel dazu eingerichtet sein, den elektronischen Verarbeitungsschaltkreis abhängig von dem Informationssignal zurückzusetzen, und/oder kann dazu eingerichtet sein, weitere Sicherheitsmaßnahmen zu initiieren, zum Beispiel um einen sicheren Zustand des elektronischen Verarbeitungsschaltkreises oder eines Geräts oder einer Maschine zu erreichen, die den elektronischen Verarbeitungsschaltkreis aufweist, wie etwa ein Kraftfahrzeug oder eine elektronische Steuereinheit, ECU (englisch: „electronic control unit“), des Kraftfahrzeugs.The external electronic component is external to the electronic processing circuitry, or in other words not part of the electronic processing circuitry. The external electronic component can be set up, for example, to reset the electronic processing circuitry depending on the information signal and/or can be set up to initiate further security measures, for example to achieve a safe state of the electronic processing circuitry or a device or a machine , which has the electronic processing circuit, such as a motor vehicle or an electronic control unit, ECU (English: "electronic control unit"), of the motor vehicle.
Mit anderen Worten kann der elektronische Verarbeitungsschaltkreis zum Beispiel in Reaktion auf die Feststellung zurückgesetzt werden, dass der ausgelesene transformierte Wert von dem Zielwert abweicht. Falls die Ursache für diese Abweichung ein vorübergehender Fehler ist, kann er beispielsweise durch das Zurücksetzen behoben werden. Andernfalls kann der elektronische Verarbeitungsschaltkreis zum Beispiel wiederholt zurückgesetzt und somit vom Aussenden fehlerhafter Informationen an die anderen Komponenten abgehalten werden. Auf diese Weise kann ein sicherer Zustand des elektronischen Verarbeitungsschaltkreises realisiert werden.In other words, the electronic processing circuitry can be reset, for example, in response to determining that the transformed value read differs from the target value. If the cause of this discrepancy is a transient error, it can be fixed, for example, by resetting. Otherwise, the electronic processing circuitry may be repeatedly reset, for example, preventing erroneous information from being sent to the other components the. In this way, a safe state of the electronic processing circuit can be realized.
Gemäß einigen Ausführungen ist das zumindest eine Softwaremodul dazu eingerichtet, eine oder mehrere Exklusiv-Oder-Operationen, die auch als XOR-Operationen bezeichnet werden, und/oder eine oder mehrere logische Verschiebeoperationen und/oder eine oder mehrere Permutationsoperationen, auf die Ausgabe der ALU-Operation anzuwenden, um die Transformation auszuführen.According to some implementations, the at least one software module is configured to perform one or more exclusive OR operations, also referred to as XOR operations, and/or one or more logical shift operations and/or one or more permutation operations, on the output of the ALU -Apply operation to perform the transformation.
Mit anderen Worten kann die vordefinierte Transformation eine vordefinierte Sequenz von Operationen einschließlich von XOR-Operationen, logischen Verschiebeoperationen und/oder Permutationsoperationen aufweisen oder aus diesen bestehen.In other words, the predefined transformation may include or consist of a predefined sequence of operations including XOR operations, logical shift operations, and/or permutation operations.
Der genaue Inhalt und die Reihenfolge der Sequenz von Operationen werden zum Beispiel während einer Entwicklungsphase des elektronischen Verarbeitungsschaltkreises für jede der relevanten ALU-Operationen bestimmt und werden in dem zumindest einen Softwaremodul implementiert.The exact content and the order of the sequence of operations are determined, for example during a development phase of the electronic processing circuitry, for each of the relevant ALU operations and are implemented in the at least one software module.
Auf diese Weise kann es erreicht werden, dass alle relevanten ALU-Operationen einer entsprechenden Transformation zugewiesen werden und die verschiedenen Transformationen im Fall eines korrekten Betriebs der ALU für die jeweilige ALU-Operation stets denselben Zielwert ausgeben.In this way it can be achieved that all relevant ALU operations are assigned to a corresponding transformation and the various transformations always output the same target value for the respective ALU operation in the case of correct operation of the ALU.
Gemäß einigen Ausführungen entspricht der Speicherort einem vordefinierten Eingangsregister, zum Beispiel einem Zeitgeber-Eingangsregister, des Watchdog-Moduls.According to some implementations, the memory location corresponds to a predefined input register, for example a timer input register, of the watchdog module.
Das zumindest eine Softwaremodul ist zum Beispiel dazu eingerichtet, eine Länge der Ausgabe der ALU-Operation an eine Länge des Eingangsregisters anzupassen, um die Transformation auszuführen.The at least one software module is set up, for example, to adapt a length of the output of the ALU operation to a length of the input register in order to carry out the transformation.
Die Länge der Ausgabe und des Eingangsregisters können insbesondere als jeweilige Bit-Längen betrachtet werden. Zum Beispiel kann die Transformation einen oder mehrere spezifische Schritte zum Anpassen der Länge beinhalten und/oder die logischen Operationen, insbesondere XOR-Operationen und/oder die logischen Verschiebeoperationen und/oder die Permutationsoperationen, können die Längenanpassung zumindest teilweise veranlassen.In particular, the length of the output and input registers can be viewed as respective bit lengths. For example, the transformation may include one or more specific length adjustment steps and/or the logical operations, in particular XOR operations and/or the logical shift operations and/or the permutation operations, may at least partially cause the length adjustment.
Auf diese Weise kann die Störungsdetektion in dem elektronischen Verarbeitungsschaltkreis auch in dem Fall erreicht werden, dass die ursprüngliche Länge der Ausgabe der ALU-Operation von der Länge des Eingangsregisters abweicht, welches dazu benutzt wird, den Watchdog-Zeitgeber zu aktualisieren.In this way, failure detection in the electronic processing circuitry can be achieved even in the event that the original length of the output of the ALU operation differs from the length of the input register used to update the watchdog timer.
Gemäß einigen Ausführungen weicht die transformierte Ausgabe von dem Zielwert ab, wenn die Ausgabe der ALU-Operation von dem erwarteten Ergebnis der ALU-Operation abweicht, weicht insbesondere von dem Zielwert genau dann ab, wenn die Ausgabe der ALU-Operation von dem erwarteten Ergebnis der ALU-Operation abweicht. Auf diese Weise können falsch positive Detektionen vermieden werden.According to some implementations, the transformed output differs from the target value when the output of the ALU operation differs from the expected result of the ALU operation, specifically differs from the target value precisely when the output of the ALU operation differs from the expected result of the ALU operation differs. In this way, false positive detections can be avoided.
Bei bevorzugten Ausführungen ist der elektronische Verarbeitungsschaltkreis als ein Mikrocontroller ausgestaltet.In preferred embodiments, the electronic processing circuitry is implemented as a microcontroller.
Mikrocontroller haben gewöhnlich Watchdog-Module als Standardkomponenten integriert. Die Erfindung ist somit besonders vorteilhaft für Mikrocontroller. Es können jedoch auch andere elektronische Verarbeitungsschaltkreise, Mikroprozessoren oder andere Einchipsysteme, SoC (englisch: „system on a chip“) in beschriebener Weise von der Erfindung profitieren.Microcontrollers usually have built-in watchdog modules as standard components. The invention is thus particularly advantageous for microcontrollers. However, other electronic processing circuits, microprocessors or other single-chip systems, SoC (English: “system on a chip”) can also benefit from the invention in the manner described.
Gemäß einigen Ausführungen weist der elektronische Verarbeitungsschaltkreis eine CPU auf und die CPU weist die ALU auf.According to some implementations, the electronic processing circuitry includes a CPU and the CPU includes the ALU.
Gemäß einem weiteren Aspekt der Erfindung wird eine elektronische Steuereinheit, ECU, für ein Fahrzeug bereitgestellt, wobei die ECU einen erfindungsgemäßen elektronischen Verarbeitungsschaltkreis aufweist.According to a further aspect of the invention there is provided an electronic control unit, ECU, for a vehicle, the ECU comprising an electronic processing circuit according to the invention.
Die ECU kann zum Beispiel eine ECU zum Steuern eines Sensors des Fahrzeugs sein, zum Beispiel eines Regen- und/oder Lichtsensors, oder eine Kamera oder einen Ultraschallsensor oder einen Radarsensor des Fahrzeugs.The ECU can for example be an ECU for controlling a sensor of the vehicle, for example a rain and/or light sensor, or a camera or an ultrasonic sensor or a radar sensor of the vehicle.
Gemäß einem weiteren Aspekt der Erfindung wird ein Störungsdetektionsverfahren für einen elektronischen Verarbeitungsschaltkreis bereitgestellt, der eine arithmetisch-logische Einheit, ALU, aufweist. Eine vordefinierte ALU-Operation wird von der ALU ausgeführt und eine Ausgabe der ALU-Operation wird in eine transformierte Ausgabe transformiert, indem eine vordefinierte Transformation ausgeführt wird, insbesondere von zumindest einem Softwaremodul des elektronischen Verarbeitungsschaltkreises. Dabei stimmt die transformierte Ausgabe mit dem vordefinierten Zielwert überein, wenn die Ausgabe der ALU-Operation einem vordefinierten erwarteten Ergebnis der ALU-Operation entspricht. Die transformierte Ausgabe wird in einen Speicherort des elektronischen Verarbeitungsschaltkreises, insbesondere eines Watchdog-Moduls des elektronischen Verarbeitungsschaltkreises, geschrieben, zum Beispiel mittels des zumindest einen Softwaremoduls. Die transformierte Ausgabe wird aus dem Speicherort ausgelesen nachdem sie von dem Watchdog-Modul in den Speicherort geschrieben worden ist. Eine vordefinierte Sicherheitsmaßnahme wird von dem Watchdog-Modul initiiert, wenn die ausgelesene transformierte Ausgabe von dem Zielwert abweicht.According to another aspect of the invention, there is provided a fault detection method for an electronic processing circuit having an arithmetic logic unit, ALU. A predefined ALU operation is performed by the ALU and an output of the ALU operation is transformed into a transformed output by performing a predefined transformation, in particular by at least one software module of the electronic processing circuit. The transformed output matches the predefined target value if the output of the ALU operation matches a predefined expected result of the ALU operation. The transformed output is stored in a memory location of the electronic processing circuit, in particular a watchdog module of the electronic processing circuit, written, for example by means of the at least one software module. The transformed output is read from the memory location after being written to the memory location by the watchdog module. A predefined safety measure is initiated by the watchdog module if the transformed output read deviates from the target value.
Weitere Ausführungen des erfindungsgemäßen Störungsdetektionsverfahrens ergeben sich unmittelbar aus den verschiedenen Ausführungsformen des erfindungsgemäßen elektronischen Verarbeitungsschaltkreises und umgekehrt. Insbesondere lassen sich einzelne Merkmale und entsprechende Erklärungen, die verschiedene Ausführungen des erfindungsgemäßen elektronischen Verarbeitungsschaltkreises betreffen, analog auf entsprechende Ausführungen des erfindungsgemäßen Störungsdetektionsverfahrens übertragen. Insbesondere ist der erfindungsgemäße elektronische Verarbeitungsschaltkreis dazu ausgestaltet oder programmiert, das erfindungsgemäße Störungsdetektionsverfahren auszuführen. Insbesondere führt der elektronische Verarbeitungsschaltkreis das erfindungsgemäße Störungsdetektionsverfahren aus.Further embodiments of the fault detection method according to the invention result directly from the various embodiments of the electronic processing circuit according to the invention and vice versa. In particular, individual features and corresponding explanations relating to different versions of the electronic processing circuit according to the invention can be transferred analogously to corresponding versions of the fault detection method according to the invention. In particular, the electronic processing circuit according to the invention is designed or programmed to carry out the fault detection method according to the invention. In particular, the electronic processing circuit carries out the fault detection method according to the invention.
Gemäß einem weiteren Aspekt der Erfindung wird ein Computerprogramm, welches Befehle beinhaltet, bereitgestellt. Wenn die Befehle von einem erfindungsgemäßen elektronischen Verarbeitungsschaltkreis, insbesondere von dem zumindest einen Softwaremodul des elektronischen Verarbeitungsschaltkreises, ausgeführt werden, veranlassen die Befehle den elektronischen Verarbeitungsschaltkreis dazu, ein erfindungsgemäßes Störungsdetektionsverfahren auszuführen.According to another aspect of the invention, a computer program including instructions is provided. If the commands are executed by an electronic processing circuit according to the invention, in particular by the at least one software module of the electronic processing circuit, the commands cause the electronic processing circuit to execute a fault detection method according to the invention.
Gemäß einem weiteren Aspekt der Erfindung wird ein computerlesbares Speichergerät bereitgestellt, das ein erfindungsgemäßes Computerprogramm speichert.According to a further aspect of the invention, there is provided a computer-readable storage device storing a computer program according to the invention.
Das Computerprogramm und das computerlesbare Speichergerät können als jeweilige Computerprogrammprodukte, die die Befehle beinhalten, betrachtet werden.The computer program and the computer-readable storage device can be viewed as respective computer program products that include the instructions.
Unter einem elektronischen Verarbeitungsschaltkreis kann insbesondere eine Datenverarbeitungsvorrichtung verstanden werden und er kann somit Daten zur Durchführung von Rechenoperationen verarbeiten. Darunter fallen auch Operationen, um indizierte Zugriffe auf eine Datenstruktur, beispielsweise eine Umsetzungstabelle, LUT (englisch: „look-up table“), durchzuführen.An electronic processing circuit can be understood in particular as a data processing device and it can therefore process data for carrying out arithmetic operations. This also includes operations to perform indexed accesses to a data structure, for example a look-up table (LUT).
Der elektronische Verarbeitungsschaltkreis kann insbesondere einen oder mehrere Mikrocontroller und/oder einen oder mehrere integrierte Schaltkreise, beispielsweise eine oder mehrere anwendungsspezifische integrierte Schaltungen, ASIC (englisch: „application-specific integrated circuit“), eines oder mehrere feldprogrammierbare Gate Arrays, FPGA, und/oder eines oder mehrere Einchipsysteme, SoC (englisch: „system on a chip“), enthalten oder diese können als solche implementiert sein. Der elektronische Verarbeitungsschaltkreis kann auch einen oder mehrere Mikroprozessoren, eine oder mehrere zentrale Prozessoreinheiten, CPU (englisch: „central processing unit“), eine oder mehrere Grafikprozessoreinheiten, GPU (englisch: „graphics processing unit“) und/oder einen oder mehrere Signalprozessoren, insbesondere einen oder mehrere digitale Signalprozessoren, DSP, enthalten.The electronic processing circuit can in particular include one or more microcontrollers and/or one or more integrated circuits, for example one or more application-specific integrated circuits, ASIC, one or more field-programmable gate arrays, FPGA, and/or or one or more single-chip systems, SoC (English: "system on a chip"), included or they can be implemented as such. The electronic processing circuit may also include one or more microprocessors, one or more central processing units (CPU), one or more graphics processing units (GPU) and/or one or more signal processors, in particular one or more digital signal processors, DSP, included.
Bei verschiedenen Ausführungsformen enthält der elektronische Verarbeitungsschaltkreis eine oder mehrere Hardware- und/oder Softwareschnittstellen und/oder eine oder mehrere Speichereinheiten. Eine Speichereinheit kann als flüchtiger Datenspeicher, beispielsweise als dynamischer Speicher mit wahlfreiem Zugriff, DRAM (englisch: „dynamic random access memory“) oder statischer Speicher mit wahlfreiem Zugriff, SRAM (englisch: „static random access memory“), oder als nicht-flüchtiger Datenspeicher, beispielsweise als Festwertspeicher, ROM (englisch: „read-only memory“), als programmierbarer Festwertspeicher, PROM (englisch: „programmable read-only memory“), als löschbarer Festwertspeicher, EPROM (englisch: „erasable read-only memory“), als elektrisch löschbarer Festwertspeicher, EEPROM (englisch: „electrically erasable read-only memory“), als Flash-Speicher oder Flash-EEPROM, als ferroelektrischer Speicher mit wahlfreiem Zugriff, FRAM (englisch: „ferroelectric random access memory“), als magnetoresistiver Speicher mit wahlfreiem Zugriff, MRAM (englisch: „magnetoresistive random access memory“) oder als Phasenänderungsspeicher mit wahlfreiem Zugriff, PCRAM (englisch: „phase-change random access memory“), ausgestaltet sein.In various embodiments, the electronic processing circuitry includes one or more hardware and/or software interfaces and/or one or more memory devices. A memory device can be configured as volatile data storage, such as dynamic random access memory (DRAM), or static random access memory (SRAM), or non-volatile Data memory, for example as a read-only memory, ROM, as a programmable read-only memory, PROM, as an erasable read-only memory, EPROM (erasable read-only memory) ), as electrically erasable read-only memory, EEPROM (English: "electrically erasable read-only memory"), as flash memory or flash EEPROM, as ferroelectric memory with random access, FRAM (English: "ferroelectric random access memory"), as magnetoresistive memory with random access, MRAM (English: "magnetoresistive random access memory") or as phase change memory with random access, PCRAM (English: "phase-change random access memory"), be configured.
Ist es in der vorliegenden Offenbarung erwähnt, dass eine Komponente des erfindungsgemäßen elektronischen Verarbeitungsschaltkreises, insbesondere das Softwaremodul, die ALU, die zumindest eine Hardwareeinheit, das Watchdog-Modul oder die CPU dazu angepasst, eingerichtet oder ausgestaltet et cetera ist, eine bestimmte Funktion durchzuführen oder zu realisieren, eine bestimmte Wirkung zu erzielen oder einem bestimmten Zweck zu dienen, kann dies derart verstanden werden, dass die Komponente über seine prinzipielle oder theoretische Benutzbarkeit oder Eignung für diese Funktion, Wirkung oder diesen Zweck hinaus konkret und tatsächlich dazu imstande ist, die Funktion auszuführen oder zu realisieren, die Wirkung zu erzielen oder dem Zweck zu dienen durch eine entsprechende Anpassung, Programmierung, physische Ausgestaltung und so weiter.Is it mentioned in the present disclosure that a component of the electronic processing circuit according to the invention, in particular the software module, the ALU, the at least one hardware unit, the watchdog module or the CPU is adapted, set up or designed et cetera to perform a specific function or to achieve a specific effect or to serve a specific purpose, this can be understood in such a way that the component is concretely and actually capable of performing the function beyond its basic or theoretical usability or suitability for this function, effect or purpose to perform or realize the effect too achieve or serve the purpose through appropriate adaptation, programming, physical design, and so on.
Weitere Merkmale der Erfindung ergeben sich aus den Ansprüchen, den Figuren und der Figurenbeschreibung. Die oben in der Beschreibung erwähnten Merkmale und Merkmalskombinationen sowie die unten in der Figurenbeschreibung erwähnten und/oder in den Figuren gezeigten Merkmale und Merkmalskombinationen können von der Erfindung nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen umfasst sein. Insbesondere können Ausführungsformen und Merkmalskombinationen, die nicht alle Merkmale eines ursprünglich formulierten Anspruchs aufweisen, auch von der Erfindung umfasst sein. Darüber hinaus können Ausführungsformen und Merkmalskombinationen, die über die in den Rückbezügen der Ansprüche dargelegten Merkmalskombinationen hinausgehen oder von diesen abweichen, von der Erfindung umfasst sein.Further features of the invention result from the claims, the figures and the description of the figures. The features and combinations of features mentioned above in the description and the features and combinations of features mentioned below in the description of the figures and/or shown in the figures can be included in the invention not only in the combination specified in each case, but also in other combinations. In particular, embodiments and combinations of features that do not have all the features of an originally formulated claim can also be covered by the invention. In addition, embodiments and combinations of features that go beyond or deviate from the combinations of features set out in the back references of the claims can be encompassed by the invention.
Im Folgenden wird die Erfindung im Einzelnen anhand spezifischer beispielhafter Ausführungen und jeweiliger schematischer Zeichnungen erklärt. In den Zeichnungen können identische oder funktionsgleiche Elemente mit denselben Bezugszeichen bezeichnet sein. Die Beschreibung identischer oder funktionsgleicher Elemente wird nicht notwendigerweise hinsichtlich unterschiedlicher Zeichnungen wiederholt.In the following, the invention is explained in detail using specific exemplary embodiments and respective schematic drawings. In the drawings, identical or functionally equivalent elements may be denoted by the same reference numerals. The description of identical or functionally equivalent elements is not necessarily repeated with respect to different drawings.
In den Figuren zeigen
-
1 schematisch ein Kraftfahrzeug, welches eine beispielhafte Ausführung einer erfindungsgemäßen ECU aufweist; -
2 ein schematisches Blockdiagramm einer beispielhaften Ausführung eines erfindungsgemäßen elektronischen Verarbeitungsschaltkreises; und -
3 ein Flussdiagramm, welches eine beispielhafte Ausführung eines erfindungsgemäßen Störungsdetektionsverfahrens veranschaulicht.
-
1 schematically a motor vehicle which has an exemplary embodiment of an ECU according to the invention; -
2 12 is a schematic block diagram of an exemplary embodiment of an electronic processing circuit according to the invention; and -
3 FIG. 12 is a flowchart that illustrates an exemplary embodiment of a fault detection method according to the invention.
In
Der elektronische Verarbeitungsschaltkreis 1 weist eine arithmetisch-logische Einheit, ALU, 7 auf, die dazu eingerichtet ist, eine ALU-Operation auszuführen. Der elektronische Verarbeitungsschaltkreis 1 weist des Weiteren ein Watchdog-Modul 8, zum Beispiel einen Hardware-Watchdog, auf, der dazu eingerichtet ist, einen Wert aus einem Eingangsregister 12 des elektronischen Verarbeitungsschaltkreises 1, insbesondere des Watchdog-Moduls 8, auszulesen. Das Watchdog-Modul 8 kann bestimmen, ob der ausgelesene Wert von einem vordefinierten Zielwert abweicht, und ein Zurücksetzungssignal erzeugen, welches eine Zurücksetzung des elektronischen Verarbeitungsschaltkreises 1 veranlasst, wenn der ausgelesene Wert von dem vordefinierten Zielwert abweicht. Andernfalls kann das Watchdog-Modul 8 einen Watchdog-Zeitgeber des Watchdog-Moduls 8 derart aktualisieren, dass das Zurücksetzungssignal in diesem Fall nicht erzeugt wird.The
Alternativ oder zusätzlich zum Erzeugen des Zurücksetzungssignals kann das Watchdog-Modul 8 eine oder mehrere weitere Sicherheitsmaßnahmen initiieren, falls der ausgelesene Wert von dem vordefinierten Zielwert abweicht.As an alternative or in addition to generating the reset signal, the
Zum Beispiel kann das Watchdog-Modul 8 das Eingangsregister 12 in zyklischer Weise gemäß einem Watchdog-Zyklus auslesen, der durch einen Taktgenerator des Watchdog-Moduls 8 definiert ist. Insbesondere kann das Watchdog-Modul 8 zusätzlich zu der erfindungsgemäßen Benutzung des Watchdog-Moduls 8 auch eine normale Überwachung des elektronischen Verarbeitungsschaltkreises 1, wie für Watchdogs im Allgemeinen bekannt, ausführen.For example, the
Der elektronische Verarbeitungsschaltkreis 1 weist zumindest ein Softwaremodul auf, welches zum Beispiel auf einem nicht-flüchtigen Speicher 9 des elektronischen Verarbeitungsschaltkreises 1 gespeichert sein kann. Der elektronische Verarbeitungsschaltkreis 1 kann auch weitere Hardware-Module aufweisen, zu denen zum Beispiel ein flüchtiger Speicher 10, eine Steuereinheit 6, eine Ausführungseinheit (nicht gezeigt) et cetera gehören können.The
Der elektronische Verarbeitungsschaltkreis 1, der in manchen Ausführungen als ein Mikrocontroller ausgeführt sein kann, kann auch eine zentrale Verarbeitungseinheit, CPU, 5 aufweisen, die die ALU 7 und gegebenenfalls die Steuereinheit 6 aufweisen kann. Der elektronische Verarbeitungsschaltkreis 1 kann auch ein Bus-System 11 aufweisen, welches die CPU 5 und das Watchdog-Modul 8 zum Beispiel mit dem nicht-flüchtigen Speicher 9, dem flüchtigen Speicher 10 und/oder weiteren Hardware-Komponenten verbindet.The
Der elektronische Verarbeitungsschaltkreis 1 ist insbesondere dazu ausgestaltet und eingerichtet, ein erfindungsgemäßes Störungsdetektionsverfahren auszuführen. Zu diesem Zweck kann das zumindest eine Softwaremodul eine vordefinierte Transformation auf die Ausgabe einer spezifischen ALU-Operation anwenden, die dieser spezifischen Transformation zugeordnet ist, um eine transformierte Ausgabe zu erzeugen. Die Transformation ist derart ausgestaltet, dass sie ein vordefiniertes erwartetes Ergebnis der ALU-Operation in den Zielwert transformiert, was das Watchdog-Modul 8 dazu veranlasst, den Watchdog-Zeitgeber zu aktualisieren. Das zumindest eine Software-Modul schreibt auch die transformierte Ausgabe in das Eingangsregister 12. Im Falle einer Störung der ALU 7, die ein falsches Ergebnis der ALU-Operation verursacht, weicht folglich der in das Eingangsregister 12 geschriebene Wert von dem Zielwert ab, was das Watchdog-Modul 8 dazu veranlasst, das Zurücksetzungssignal zu erzeugen oder die Sicherheitsmaßnahme im nächsten Auslesezyklus zu initiieren.The
In Schritt S1 werden die Zielanwendung und der Zieltyp des elektronischen Verarbeitungsschaltkreises 1 bereitgestellt. In Schritt S2 wird ein entsprechender Satz von relevanten ALU-Operationen der ALU 7 bestimmt, insbesondere um die Zielanwendung durch einen Zieltyp des elektronischen Verarbeitungsschaltkreises 1 zu erreichen. In Schritt S3 wird geprüft, ob alle relevanten ALU-Operationen definiert worden sind, und, falls nicht, wird Schritt S2 wiederholt beziehungsweise abgeschlossen. Andernfalls wird für jede der ALU-Operationen eine jeweilige Transformation, die das erwartete Ergebnis der jeweiligen ALU-Operation in den Zielwert transformiert, in Schritt S4 bestimmt. In Schritt S5 wird geprüft, ob alle erforderlichen Transformationen definiert worden sind. Ist dies nicht der Fall, so wird Schritt S4 wiederholt beziehungsweise abgeschlossen. Andernfalls werden in Schritt S6 die Transformationen und die ALU-Operationen in Software des zumindest einen Softwaremoduls implementiert. In Schritt S7 wird geprüft, ob die Kodierung abgeschlossen ist. Ist dies nicht der Fall, so wird Schritt S6 wiederholt beziehungsweise abgeschlossen.In step S1, the target application and the target type of the
In Schritt S8 wird eine der definierten ALU-Operationen wie beschrieben ausgeführt und ihre Ausgabe wird gemäß der zugeordneten Transformation transformiert und die transformierte Ausgabe wird in das Eingangsregister 12 geschrieben. In Schritt S9 liest das Watchdog-Modul 8 das Eingangsregister 12 und bestimmt, ob die transformierte Ausgabe mit dem Zielwert übereinstimmt. Ist dies der Fall, so wird keine Zurücksetzungs- oder Sicherheitsmaßnahme von dem Watchdog-Modul 8 in Schritt S10 ausgelöst und Schritt S8 kann wieder ausgeführt werden, zum Beispiel für eine weitere ALU-Operation. Wenn andererseits die transformierte Ausgabe von dem Zielwert abweicht, kann das Watchdog-Modul 8 das Zurücksetzungssignal erzeugen oder die Sicherheitsmaßnahme wie beschrieben in Schritt S11 initiieren.In step S8 one of the defined ALU operations is executed as described and its output is transformed according to the associated transformation and the transformed output is written into the
Wie beschrieben kann die Erfindung dazu benutzt werden, eine zuverlässige und kostengünstige Möglichkeit zur Störungsdetektion in ALUs basierend auf einem Watchdog-Modul auszuführen.As described, the invention can be used to implement a reliable and cost-effective way of detecting faults in ALUs based on a watchdog module.
Die Erfindung überwindet die Nachteile von bestehenden Lösungen zur Störungsdetektion von ALUs, wie etwa das Erfordernis von Hardware-Redundanz, spezieller Hardware und/oder spezieller Software. Zu den Vorteilen des erfinderischen Ansatzes zählen ein im Vergleich zu anderen Lösungen reduzierter Verbrauch an Rechenzeit und die Nutzung bereits vorhandener Hardware.The invention overcomes the disadvantages of existing solutions for fault detection of ALUs, such as the need for hardware redundancy, special hardware and/or special software. The advantages of the inventive approach include a reduced consumption of computing time compared to other solutions and the use of existing hardware.
Die meisten eingebetteten Verarbeitungsschaltkreise, wie etwa Mikrocontroller, verfügen über interne Watchdogs, zum Beispiel Fenster-Watchdogs mit einem entsprechenden Watchdog-Zeitgeber. In verschiedenen Ausführungen nutzt die Erfindung dies zum Testen der ALU aus. Zu diesem Zweck detektiert die Software Störungen mit Unterstützung des internen Watchdogs.Most embedded processing circuits, such as microcontrollers, have internal watchdogs, such as window watchdogs with a corresponding watchdog timer. In various implementations, the invention uses this to test the ALU. For this purpose, the software detects faults with the support of the internal watchdog.
Claims (15)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102022102412.1A DE102022102412A1 (en) | 2022-02-02 | 2022-02-02 | Fault detection for an electronic processing circuit with an arithmetic logic unit |
PCT/EP2023/052130 WO2023148119A1 (en) | 2022-02-02 | 2023-01-30 | Fault detection for an electronic processing circuit comprising an arithmetic logical unit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102022102412.1A DE102022102412A1 (en) | 2022-02-02 | 2022-02-02 | Fault detection for an electronic processing circuit with an arithmetic logic unit |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102022102412A1 true DE102022102412A1 (en) | 2023-08-03 |
Family
ID=85150767
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102022102412.1A Pending DE102022102412A1 (en) | 2022-02-02 | 2022-02-02 | Fault detection for an electronic processing circuit with an arithmetic logic unit |
Country Status (2)
Country | Link |
---|---|
DE (1) | DE102022102412A1 (en) |
WO (1) | WO2023148119A1 (en) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6816345B2 (en) * | 2015-04-24 | 2021-01-20 | 富士電機株式会社 | Drive control device |
JP6524989B2 (en) * | 2016-11-15 | 2019-06-05 | トヨタ自動車株式会社 | Operation guarantee method of arithmetic unit |
-
2022
- 2022-02-02 DE DE102022102412.1A patent/DE102022102412A1/en active Pending
-
2023
- 2023-01-30 WO PCT/EP2023/052130 patent/WO2023148119A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023148119A1 (en) | 2023-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102010031282B4 (en) | Method of monitoring a data store | |
WO2007057271A1 (en) | Apparatus and method for eliminating errors in a system having at least two execution units with registers | |
WO2007017386A1 (en) | Method and device for controlling a computer system with at least two execution units and a comparison unit | |
WO2006015945A2 (en) | Method, operating system, and computing device for processing a computer program | |
DE102015210651B4 (en) | Circuit and method for testing an error correction capability | |
EP0104635A2 (en) | Digital computer test method and configuration | |
EP1955164A1 (en) | Program-controlled unit and method for the operation thereof | |
DE102008024193A1 (en) | Data or signals processing method for brake booster in motor vehicle, involves applying set of functional units to data or signals, programming and/or configuring of one of functional units and programming and/or configuring of matrix | |
EP1913478B1 (en) | Microprocessor system for controlling and/or regulating at least partly security-critical processes | |
EP1359485B1 (en) | Control and monitoring system | |
DE102022102412A1 (en) | Fault detection for an electronic processing circuit with an arithmetic logic unit | |
DE102005060714B4 (en) | Data processing device, memory card, method of operating a data processing device and method of manufacturing a data processing device | |
DE102011007467A1 (en) | Polynuclear integrated microprocessor circuitry for, e.g. vehicle domain computer, has tester to perform time-integral checking of specific components of auxiliary processor structure to and gradually expand checking of other components | |
DE102006036384A1 (en) | Microprocessor system for controlling or regulating at least partially safety-critical processes | |
DE102010063773A1 (en) | Field device used in monitoring operation of plant, has semi permanent electronic memory whose memory areas are stored with data by different storage methods according to configuration of memory areas | |
EP1924914B1 (en) | Data processing system and a method for the operation thereof | |
WO2007071590A1 (en) | Method for recognizing a power outage in a data memory and recovering the data memory | |
DE102017208522A1 (en) | Arithmetic unit and operating method for this | |
DE102004051991A1 (en) | Method, operating system and computing device for executing a computer program | |
DE10148157B4 (en) | Program controlled unit | |
DE102018219700B4 (en) | Control device | |
DE102004059392B4 (en) | Method for reassignment of a command memory, subsystem for carrying out such a method, and microcontroller | |
DE102009031310B4 (en) | Memory system, sense amplifier, use and method for error detection using parity bits of a block code | |
DE10128996B4 (en) | Method and device for monitoring memory cells of a volatile data memory | |
EP2461253B1 (en) | Micro-process module, in particular chip card microprocessor module |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R163 | Identified publications notified |