DE102017207974A1 - Circuit arrangement for monitoring a time base in a timer - Google Patents

Circuit arrangement for monitoring a time base in a timer Download PDF

Info

Publication number
DE102017207974A1
DE102017207974A1 DE102017207974.6A DE102017207974A DE102017207974A1 DE 102017207974 A1 DE102017207974 A1 DE 102017207974A1 DE 102017207974 A DE102017207974 A DE 102017207974A DE 102017207974 A1 DE102017207974 A1 DE 102017207974A1
Authority
DE
Germany
Prior art keywords
value
circuit arrangement
state
error
state base
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
Application number
DE102017207974.6A
Other languages
German (de)
Inventor
Eberhard Boehl
Juergen Hanisch
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102017207974.6A priority Critical patent/DE102017207974A1/en
Publication of DE102017207974A1 publication Critical patent/DE102017207974A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/14Time supervision arrangements, e.g. real time clock
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

Die Erfindung betrifft eine Schaltungsanordnung zur Überwachung einer Zustandsbasis (14), die durch Impulse inkrementiert oder dekrementiert wird und diese Impulse Informationen über Eigenschaften eines Systems umfassen, wobei die Schaltungsanordnung mindestens einen Speicher aufweist, in dem die Zustandsbasis (14) mit einem Systemtakt periodisch zwischenzuspeichern ist, wobei mindestens ein Vergleicher (21) vorgesehen ist, der dazu eingerichtet ist, die aktuelle Zustandsbasis (14) mit der einen Systemtakt zuvor zwischengespeicherten Zustandsbasis (14) zu vergleichen, wobei die Schaltungsanordnung dazu eingerichtet ist, anhand dieses Vergleichs einen Fehler zu erkennen.

Figure DE102017207974A1_0000
The invention relates to a circuit arrangement for monitoring a state basis (14), which is incremented or decremented by pulses and these pulses comprise information about properties of a system, wherein the circuit arrangement comprises at least one memory in which the state base (14) with a system clock periodically buffer in which at least one comparator (21) is provided, which is set up to compare the current state base (14) with the state base (14) previously latched to a system clock, wherein the circuit arrangement is adapted to detect an error based on this comparison ,
Figure DE102017207974A1_0000

Description

Die Erfindung betrifft eine Schaltungsanordnung zum Überwachen einer Zeitbasis in einem Zeitgeber bzw. einem Timer und ein Verfahren zum Überwachen einer Zeitbasis in einem Zeitgeber.The invention relates to a circuit arrangement for monitoring a time base in a timer and a method for monitoring a time base in a timer.

Stand der TechnikState of the art

Zur Unterstützung einer Verarbeitungseinheit, wie bspw. einer CPU (Central Processing Unit), für zeit- und positionsbezogene Prozesse sind sogenannte Timer, d. h. Zeitgeber-Einheiten, bekannt. Solche Zeitgeber-Einheiten können als Einzelkomponenten oder als Peripheriebausteine der Verarbeitungseinheit ausgebildet sein und dabei mehr oder weniger wichtige Funktionen zur Signalaufnahme und -erzeugung in zeitlicher Abhängigkeit von einem oder mehreren Takten zur Verfügung stellen.To support a processing unit, such as a CPU (Central Processing Unit), for time and position related processes are called timers, d. H. Timer units, known. Such timer units may be formed as individual components or as peripheral components of the processing unit and thereby provide more or less important functions for signal recording and generation in dependence on time of one or more clocks available.

Nach derzeitigem Stand der Technik kommen in Verarbeitungseinheiten, wie bspw. in Mikrocontrollern, unterschiedliche Architekturen zur Realisierung von Zeitgeber-Einheiten zum Einsatz.According to the current state of the art, different architectures for the implementation of timer units are used in processing units, such as, for example, in microcontrollers.

In einem bekannten generischen Zeitgebermodul, das auch als GTM (Generic Timer Module) bezeichnet wird, sind mehrere Zeitbasen enthalten, die sowohl Zeit- als auch Winkelinformationen enthalten können. Üblicherweise werden diese Zeitbasen entweder durch einen Takt weitergezählt oder durch Winkelinformationsimpulse inkrementiert oder auch dekrementiert. Diese Zeitbasen sind von zentraler Bedeutung, da sehr viele Ereignisse und damit auch Ausgangssignale auf dem Vergleich von Daten mit diesen Zeitbasen basieren. Ist eine Zeitbasis fehlerhaft, so können unerwartet Ausgangssignale generiert werden, die ggf. ein Sicherheitsziel verletzen. Die Überwachung der Zeitbasen ist nach dem Stand der Technik nur per Software über die System-CPU vorgesehen.In a known generic timer module, which is also referred to as GTM (Generic Timer Module), several time bases are included, which can contain both time and angle information. Usually these time bases are either counted by a clock or incremented by angle information pulses or decremented. These time bases are of central importance, since a great many events and thus also output signals are based on the comparison of data with these time bases. If a time base is faulty, then unexpectedly output signals can be generated that may violate a safety goal. The monitoring of the time bases is provided in the prior art only by software on the system CPU.

Unter einer Zeitbasis ist eine Einrichtung zu verstehen, die jedem Zeitpunkt einen Wert zuordnet und aus der Differenz dieser Werte verschiedener Zeitpunkte eine Zeitspanne bestimmt ist. Für zukünftige Zeitpunkte ist ein Wert der Zeitbasis bestimmbar, der auch als ein Vergleichswert dienen kann, um bei Erreichen dieses Zeitpunktes ein Ereignis auszulösen.A time base is to be understood as a device which assigns a value to each point in time and determines a time span from the difference between these values of different points in time. For future time points, a value of the time base can be determined, which can also serve as a comparison value in order to trigger an event when this time has been reached.

Zu beachten ist, dass eine Zeitbasis durch transiente oder auch permanente Fehler gestört sein kann. Es ist sehr wichtig, solche Fehler zeitnah zu erkennen. Die Prüfung über die CPU ist dabei oftmals nicht ausreichend, weil keine permanente Prüfung stattfinden kann. Prüfungen über einen längeren Zeitraum sind auch möglich, aber es handelt sich dabei meist nur um Plausibilitätsprüfungen. Solche Prüfungen sollten von der CPU periodisch im Fehlertoleranzzeitintervall durchgeführt werden. Es wird daher angestrebt, die CPU von solchen Belastungen zu befreien und mit der permanenten Prüfung eine höhere Qualität zu erreichen.It should be noted that a time base may be disturbed by transient or permanent errors. It is very important to recognize such errors in a timely manner. Testing via the CPU is often not sufficient because no permanent test can take place. Tests over a longer period of time are also possible, but these are usually only plausibility checks. Such checks should be performed periodically by the CPU in the fault tolerance time interval. It is therefore desirable to free the CPU from such burdens and to achieve a higher quality with the permanent test.

Offenbarung der ErfindungDisclosure of the invention

Vor diesem Hintergrund werden eine Schaltungsanordnung nach Anspruch 1 und ein Verfahren gemäß Anspruch 5 vorgestellt. Ausführungsformen ergeben sich aus den abhängigen Ansprüchen und aus der Beschreibung.Against this background, a circuit arrangement according to claim 1 and a method according to claim 5 are presented. Embodiments emerge from the dependent claims and from the description.

Die vorgestellte Schaltungsanordnung dient zur Überwachung einer Zustandsbasis, die durch Einzelimpulse inkrementiert oder dekrementiert wird. Typischerweise umfassen diese Impulse Informationen bspw. über Zeit, Winkel, Position, Menge, Temperatur, Druck oder sonstige Eigenschaften eines Systems. Die Schaltungsanordnung ist dazu ausgelegt, die Zustandsbasis mit einem Systemtakt periodisch zwischenzuspeichern. Hierzu ist typischerweise ein Speicher bzw. ein Register, wobei jeder Bitwert der Zustandsbasis zu diesem Zeitpunkt in dem Register mit entsprechend vielen Speicherelementen gespeichert wird. Eine solche Zwischenspeicherung kann auch als Pipeline-Stufe bezeichnet werden. Es kann dann entweder die Zustandsbasis oder auch die zwischengespeicherte Zustandsbasis zur Generierung von Signalen benutzt werden. Die vorgestellte Schaltungsanordnung weist zumindest einen Vergleicher auf, mit dem die aktuelle Zustandsbasis mit der zuvor zwischengespeicherten Zustandsbasis verglichen werden kann. Aus diesem Vergleich kann auf einen Fehler geschlossen werden, der wiederum gespeichert werden kann.The presented circuit arrangement serves to monitor a state basis, which is incremented or decremented by individual pulses. Typically, these pulses include information about, for example, time, angle, position, quantity, temperature, pressure or other properties of a system. The circuit arrangement is designed to buffer the state base periodically with a system clock. Typically, this is a memory or register, where each bit value of the state base at that time is stored in the register with a corresponding number of memory elements. Such caching may also be referred to as a pipeline stage. Either the state basis or the cached state basis can then be used to generate signals. The presented circuit arrangement has at least one comparator with which the current state base can be compared with the previously cached state basis. From this comparison, an error can be deduced, which in turn can be stored.

Die Schaltungsanordnung kann dazu eingerichtet sein, mindestens einen Vergleich zwischen der Zustandsbasis und der gespeicherten Zustandsbasis mittels Subtraktion dieser beiden Werte vorzunehmen. Eine mittels der Subtraktion erhaltene Differenz kann dann mit mindestens einem festen Wert verglichen werden. Für den Fall, dass der Betrag der Differenz größer als 1 ist, kann ein Fehler signalisiert und gespeichert werden. Für den Fall, dass die Differenz 1 bzw. -1 ist, kann ein Fehler signalisiert und/oder gespeichert werden, typischerweise wenn die Zustandsbasis rückwärts bzw. vorwärts betrieben wird.The circuit arrangement can be set up to make at least one comparison between the state basis and the stored state basis by subtracting these two values. A difference obtained by means of the subtraction can then be compared with at least one fixed value. In the event that the amount of the difference is greater than 1, an error can be signaled and stored. In the event that the difference is 1 or -1, an error may be signaled and / or stored, typically when the state base is operating backwards or forwards.

Es kann weiterhin mindestens ein Vergleich der Differenz der Zustandsbasis und der zwischengespeicherten Zustandsbasis mit einem variablen Vergleichswert vorgenommen werden. Außerdem kann vorgesehen sein, dass die Zustandsbasis höchstens einen Maximalwert annehmen kann, um danach beispielsweise wieder bei 0 anzufangen, und der variable Vergleichswert dieser Maximalwert oder der negative Wert dieses Maximalwertes ist.Furthermore, at least one comparison of the difference of the state basis and the buffered state basis with a variable comparison value can be made. In addition, it can be provided that the state basis can assume at most a maximum value, in order then to start again at 0, for example, and the variable comparison value is this maximum value or the negative value of this maximum value.

Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und den beigefügten Zeichnungen. Further advantages and embodiments of the invention will become apparent from the description and the accompanying drawings.

Es versteht sich, dass die voranstehend genannten und die nachstehend noch zu erläuterten Merkmale nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen.It is understood that the features mentioned above and those yet to be explained below can be used not only in the particular combination indicated, but also in other combinations or in isolation, without departing from the scope of the present invention.

Figurenlistelist of figures

  • 1 zeigt in einem Blockschaltbild eine Zeitbasiseinheit. 1 shows a block diagram of a time base unit.
  • 2 zeigt in einem Blockschaltbild eine Pipeline-Stufe der Zeitbasiseinheit pro Cluster. 2 shows a block diagram of a pipeline stage of the time base unit per cluster.
  • 3 zeigt in einem Blockschaltbild eine Ausführungsform der Schaltungsanordnung zum Überwachen einer Zeitbasis. 3 shows a block diagram of an embodiment of the circuitry for monitoring a time base.
  • 4 zeigt in einem Blockschaltbild eine Realisierungsmöglichkeit eines Setz-Flipflops. 4 shows a block diagram of an implementation possibility of a set flip-flop.
  • 5 zeigt in einem Blockschaltbild eine Ausführungsform der Schaltungsanordnung zum Überwachen eines Modulo-Zählers. 5 shows in a block diagram an embodiment of the circuit arrangement for monitoring a modulo counter.

Ausführungsformen der ErfindungEmbodiments of the invention

Die Erfindung ist anhand von Ausführungsformen in den Zeichnungen schematisch dargestellt und wird nachfolgend unter Bezugnahme auf die Zeichnungen ausführlich beschrieben.The invention is schematically illustrated by means of embodiments in the drawings and will be described in detail below with reference to the drawings.

1 zeigt in einem Blockschaltbild eine Zeitbasiseinheit bzw. TBU (Time Base Unit), die bspw. in einem Generischen Zeitgebermodul bzw. GTM (Generic Timer Module) eingesetzt wird und insgesamt mit der Bezugsziffer 10 bezeichnet ist. Die Darstellung zeigt eine Anzahl an TBU-Kanälen 12, in denen jeweils eine Zeit- oder Winkelbasis und damit eine Zustandsbasis 14 und eine Steuerung 16 vorgesehen ist. Die Zeit- oder Winkelbasis 14 wird typischerweise beim Eintreffen von (Takt- oder Winkel-) Impulsen (von links oben) um 1 inkrementiert oder dekrementiert (Komponente 17). Weiterhin sind ein Register BASE_MARK 20 und ein Register BASE_CAPTURE 22 vorgesehen, wenn es sich um einen Modulo-Zähler der Zeit- oder Zustandsbasis handelt. Dabei wird immer geprüft (Vergleicher 21), ob ein bestimmter Wert der Zeit- oder Winkelbasis BASE_MARK 20 erreicht ist und dann die Zeit- oder Winkelbasis 14 auf den Wert 0 zurückgesetzt. 1 shows in a block diagram a time base unit or TBU (Time Base Unit), which is used for example. In a Generic Timer Module or GTM (Generic Timer Module) and in total with the reference numeral 10 is designated. The illustration shows a number of TBU channels 12 , in each of which a time or angle basis and thus a state basis 14 and a controller 16 is provided. The time or angle base 14 is typically incremented or decremented by 1 on the arrival of (clock or angle) pulses (from top left) (component 17 ). Furthermore, a register BASE_MARK 20 and a register BASE_CAPTURE 22 provided that it is a modulo counter of the time or state basis. It is always checked (comparator 21 ), whether a given value of the time or angle BASE_MARK 20 is reached and then the time or angle base 14 on the value 0 reset.

Zu berücksichtigen ist, dass in einem GTM jeweils eine Pipeline-Stufe für die Zeitbasen bei dem Übergang zu den Clustern, d. h. verschiedene Teilmodule mit jeweils einheitlich verzögerten, in einer Pipeline-Stufe mit dem Systemtakt zwischengespeicherten Zeit- oder Winkelbasis versorgt werden. Damit ist ein Vergleich des alten Werts mit dem neuen Wert über zusätzliche Hardware möglich. Der neue Zeitbasiswert kann dabei höchstens um den Wert 1 abweichen, wenn der Systemtakt SYS_CLK der Takt mit der höchsten Frequenz im System ist. Die Abweichungsmöglichkeiten sind:

  • bei der TBU0: 0 oder +1, (TBU-Kanal 12a, weil dort nur Inkrementieren möglich ist)
  • bei der TBU1, 2: 0, +1 oder -1, (TBU-Kanal 12b, weil dort ein Inkrementieren und Dekrementieren möglich ist)
  • bei der TBU3: 0, +1 oder -1, (TBU-Kanal 12c, weil dort ein Inkrementieren und Dekrementieren möglich ist)
  • weil bei den letzteren auch eine Rückwärtsrichtung möglich ist. (Winkel)
It should be noted that in a GTM, a pipeline stage for the time bases in the transition to the clusters, ie different sub-modules each with a uniformly delayed, in a pipeline stage with the system clock cached time or angle basis are supplied. This makes it possible to compare the old value with the new value using additional hardware. The new time base value can be at most around the value 1 if the system clock SYS_CLK is the highest frequency clock in the system. The deviation possibilities are:
  • at TBU0: 0 or +1, (TBU channel 12a because only incrementing is possible there)
  • at the TBU1, 2: 0, +1 or -1, (TBU channel 12b because it allows incrementing and decrementing)
  • at the TBU3: 0, +1 or -1, (TBU channel 12c because it allows incrementing and decrementing)
  • because in the latter also a reverse direction is possible. (Angle)

Der nach außen geführte Wert der jeweiligen Zeit-/Winkelbasis wird in den Teilmodulen (Cluster) in einer weiteren Registerstufe zwischengespeichert (besagte Pipeline-Stufe).The externally guided value of the respective time / angle basis is temporarily stored in the sub-modules (clusters) in a further register stage (said pipeline stage).

In 1 wird dem oberen TBU-Kanal 12a ein Signal 23 mit 27 Bit ausgegeben, in den beiden mittleren TBU-Kanälen 12a, b (TBU1 und TBU2) wird jeweils ein Signal 25 mit 24 Bits ausgegeben und in dem unteren TBU-Kanal 12c (TBU3) wird ein 24 Bit Signal ausgegeben. Diese Signale sind der Wert der entsprechenden Zustandsbasis und sind die Eingangssignale 102 der jeweiligen Pipeline-Stufe, die in 2 gezeigt wird.In 1 becomes the upper TBU channel 12a a signal 23 With 27 Bit output, in the two middle TBU channels 12a , b (TBU1 and TBU2) each become a signal 25 With 24 Bits are output and in the lower TBU channel 12c (TBU3) becomes one 24 Bit signal output. These signals are the value of the corresponding state basis and are the input signals 102 the respective pipeline stage, which in 2 will be shown.

2 zeigt in einem Blockschaltdiagramm ein Pipeline-Register 100, in das ein Wert TBU_neu 102 eingeht, das ist der aktuelle Wert der entsprechenden Zustandsbasis, und aus dem ein Wert TBU_alt 104 ausgegeben wird. Getaktet wird das Pipeline-Register 100 mit dem Takt SYS_CLK 108. 2 shows in a block diagram a pipeline register 100 , in which a value TBU_neu 102 is received, that is the current value of the corresponding state basis, and from which a value TBU_old 104 is output. The pipeline register is clocked 100 with the clock SYS_CLK 108 ,

Durch eine Differenzbildung zwischen einem Wert TBU_neu 102 vor der Pipeline-Stufe und TBU_alt 104 nach der Pipeline-Stufe dürfen nur die Werte 0, +1 und -1 auftreten, wenn es sich nicht um einen Modulo-Zähler wie im Fall der TBU3 handelt. Dabei ist der negative Wert nur für solche Zeit-Winkelbasen erlaubt, die auch rückwärts zählen können. Da die Zeit nicht rückwärts ablaufen kann, ist in der TBU0 (oberer Block 12 in 1) nur ein Vorwärtszählen erlaubt. Das wird durch den Block mit der +1 gekennzeichnet. In den anderen Blöcken 12 ist ein +/-1 erlaubt, was in dem Block mit der Bezeichnung +/-1 zum Ausdruck kommt.By subtracting between a value TBU_neu 102 before the pipeline stage and TBU_alt 104 after the pipeline stage, only the values 0 , +1 and -1, if it is not a modulo counter as in the case of TBU3. The negative value is only allowed for those time-angle bases that can also count backwards. Since the time can not run backwards, TBU0 (upper block 12 in 1 ) only counting forward. This is indicated by the block with the +1. In the other blocks 12 a +/- 1 is allowed, which is expressed in the block labeled +/- 1.

Eine solche Differenzbildung bzw. Subtraktion ist bspw. durch einen einfachen Addierer möglich, wenn vom Subtrahenden alle Bits invertiert werden (Einerkomplement) und zusätzlich ein einlaufender Übertrag Carry_in=1 am Addierer vorgesehen wird.Such difference formation or subtraction is possible, for example, by a simple adder if all bits are inverted by the subtrahend (One's complement) and additionally an incoming carry Carry_in = 1 is provided at the adder.

3 zeigt in einem Blockschaltbild eine Ausführung einer Schaltungsanordnung zum Überwachen einer Zeit-Winkelbasis, die insgesamt mit der Bezugsziffer 130 bezeichnet ist. Die Darstellung zeigt einen Addierer 132, bei dem als Eingangsgrößen TBU_neu 134 und TBU_alt 136 über je einen Inverter 138 für alle Bits von 136, und ein Übertragseingang 139 eingehen. Dies bildet einen Subtrahierer, der mit Bezugsziffer 140 bezeichnet ist. Weiterhin zeigt die Darstellung einen ersten Vergleicher 142 mit der Funktion =0?, einen zweiten Vergleicher 144 mit der Funktion =1? und einen dritten Vergleicher 146 mit der Funktion =(-1)?. Darüber hinaus sind ein NOR-Glied 150 und ein Flipflop 152, in das ein Setz- (set) Signal 154 und ein Taktsignal SYS_CLK 156 eingehen und das ein Fehlersignal (error) 158 ausgibt, vorgesehen. 3 shows in a block diagram an embodiment of a circuit arrangement for monitoring a time-angle basis, in total with the reference numeral 130 is designated. The illustration shows an adder 132 in which TBU_new as input variables 134 and TBU_old 136 via one inverter each 138 for all bits of 136 , and a carryover 139 received. This forms a subtractor, denoted by reference numeral 140 is designated. Furthermore, the illustration shows a first comparator 142 with the function = 0 ?, a second comparator 144 with the function = 1? and a third comparator 146 with the function = (- 1) ?. In addition, a NOR element 150 and a flip flop 152 into which a set signal 154 and a clock signal SYS_CLK 156 come in and that an error signal (error) 158 spends, provided.

Wie bereits ausgeführt wurde, wird gemäß 3 eine Subtraktion mit dem Addierer ermöglicht, wenn vom Subtrahenden alle Bits invertiert werden (Einerkomplement) und zusätzlich ein einlaufender Übertrag 139 Carry_in=1 am Addierer vorgesehen wird. Auf diese Weise wird aus dem Einerkomplement das Zweierkomplement des Subtrahenden. Die Addition von dem Minuenden und dem Zweierkomplement des Subtrahenden entspricht der Subtraktion dieser beiden Operanden. Das Ergebnis dieser Subtraktion wird verglichen mit den festen Werten 0, 1 und -1.As already stated, is according to 3 allows subtraction with the adder when all bits are inverted by the subtrahend (one's complement) plus an incoming carry 139 Carry_in = 1 is provided at the adder. In this way, the one's complement becomes the two's complement of the subtrahend. The addition of the minuend and the two's complement of the subtrahend equals the subtraction of these two operands. The result of this subtraction is compared with the fixed values 0, 1 and -1.

Die Ausgänge dieser drei Vergleicher 142, 144, 146 werden in dem NOR-Glied 150 verknüpft. Ergibt einer der drei Vergleiche eine 1, so liefert der Ausgang des NOR-Glieds 150 eine 0. Nur wenn keiner dieser drei Vergleicher 142, 144, 146 eine 1 am Ausgang hat, liefert das NOR-Glied 150 eine 1 am Ausgang und dieses 1 setzt das Flipflop 152 mit der aktiven Flanke des System-Taktes SYS_CLK 156 und signalisiert dadurch einen Fehler.The outputs of these three comparators 142 . 144 . 146 be in the NOR gate 150 connected. If one of the three comparisons yields a 1, then the output of the NOR gate supplies 150 a 0. Only if none of these three comparators 142 . 144 . 146 has a 1 at the output, provides the NOR gate 150 a 1 at the output and this 1 sets the flip flop 152 with the active edge of the system clock SYS_CLK 156 and thereby signals an error.

Dieses Setz-Flipfllop 152 ist in einer Ausführung in 4 gezeigt. Zu beachten ist, dass dieses nur aktiv vom Benutzer oder vom System zurückgesetzt werden kann. Die Darstellung zeigt ein Flipflop 200 entsprechend dem Flipflop 152 aus 3 mit einem ODER-Glied 202. Signale sind „set“ 204, „reset“ 206 und ein Ausgangssignal 208. Es liegt somit eine Rückkopplung des Flipflop-Ausgangs und eine ODER-Verknüpfung dieses Signals vor dem Flipflop-Eingang mit dem Eingangssignal vor.This set flip flop 152 is in an execution in 4 shown. It should be noted that this can only be actively reset by the user or the system. The illustration shows a flip-flop 200 according to the flip-flop 152 out 3 with an OR gate 202 , Signals are "set" 204 , "Reset" 206 and an output signal 208 , There is thus a feedback of the flip-flop output and an OR operation of this signal before the flip-flop input with the input signal.

Ein transienter Fehler, der in der Zeitbasis ein Speicherelement, das nicht das LSB (least significant bit) ist, verfälscht, führt zu einer plötzlichen Differenz bzw. Abweichung zwischen dem Wert TBU_neu und TBU_alt, die betragsmäßig größer als 1 ist. Ebenso führt ein permanenter Fehler in der Zeitbasis, in der bspw. ein Speicherelement permanent auf einem festen Wert (stuck-at fault) bleibt, zu einer Abweichung >1, wenn bei der Zähloperation ein Übertrag bis zu diesen Bitwert des defekten Speicherelementes oder auch darüber hinaus gezählt werden soll. In beiden Fällen liefert keiner der Vergleicher 142, 144, 146 aus 3 eine 1 und somit wird das Flipflop 152 zur Anzeige eines Fehlers gesetzt. Ein Fehler im LSB hat dabei in der Regel keine Auswirkung auf das Sicherheitsziel und braucht deshalb auch nicht entdeckt zu werden.A transient error that falsifies in the time base a memory element that is not the least significant bit (LSB) leads to a sudden difference between the values TBU_neu and TBU_alt, which is greater than 1 in magnitude. Likewise, a permanent error in the time base, in which, for example, a memory element permanently remains at a fixed value (stuck-at fault), leads to a deviation> 1, if in the counting operation a carry up to this bit value of the defective memory element or even higher should be counted out. In both cases, none of the comparators delivers 142 . 144 . 146 out 3 a 1 and thus the flip flop 152 set to indicate an error. An error in the LSB usually has no effect on the security objective and therefore does not need to be detected.

Ist für eine Zeitbasis nur das Vorwärtszählen oder nur das Rückwärtszählen erlaubt, so ist der entsprechende Vergleicher =(-1)? (bzw. =1?) zu blockieren. Eine solche Blockierung kann durch eine UND-Verknüpfung mit einem Steuersignal erfolgen, das entsprechend 0 zu setzen ist. Dieses Steuersignal kann von einem Konfigurationsregister stammen, das entsprechend zu setzen ist oder von einem ohnehin vorhandenen Richtungssignal abgeleitet werden. Im letzteren Fall sind ggf. Common Cause Fehler zu beachten. Wenn das Richtungssignal fehlerhaft ist, wird in diesem Fall kein Fehler erkannt, weil die Prüfung das gleiche falsche Signal verwendet.If only counting up or only down counting is allowed for a time base, the corresponding comparator = (- 1)? (or = 1?) to block. Such a blocking can be done by an AND operation with a control signal, which must be set to 0. This control signal can come from a configuration register which is to be set accordingly or derived from an already present direction signal. In the latter case, common cause errors may have to be considered. In this case, if the direction signal is erroneous, no error is detected because the test uses the same wrong signal.

Zu berücksichtigen ist, dass im GTM eine weitere Zeitbasis TBU_CH3, die vornehmlich als Winkelbasis bezeichnet wird, vorgesehen ist (TBU-Kanal 12c). Man sollte die Kasten 12 voneinander unterscheidbar machen!!! Diese arbeitet als Modulo-Zähler und wird für einen Winkelwert benutzt, der zwischen 0 und 360 Grad Winkelwerte unterscheidet. Dabei werden y Impulse gleichmäßig auf die 360 Grad verteilt. Ein Impuls entspricht dann einem Winkel von 360/y Grad. Dieser Winkel wird im Vorwärtsmodus inkrementiert, bis er den programmierbaren Modulo-Wert x = y-1 erreicht. Der Zähler hat dann nach dem nächsten Impuls wieder den Wert 0. Im Rückwärtsmodus wird entsprechend bis 0 gezählt und der nächste Wert ist dann wieder x. Ergänzt man die Schaltung nach 3 mit zwei Vergleichern, die auf x und -x vergleichen, so kann man auch diesen Modulo-Zähler entsprechend prüfen. Die bisherigen Vergleicher prüfen weiterhin den Bereich, bei dem kein TBU-Wert (der aktuelle oder der in der Pipeline-Stufe gespeicherte vorangegangene Wert) 0 ist. Wenn ein Wert 0 ist, so kann entweder der vorherige oder der nachfolgende Wert x sein. Deshalb kann die Differenz x oder (-x) werden.It should be noted that in the GTM another time base TBU_CH3, which is primarily referred to as the angle base, is provided (TBU channel 12c ). You should have the box 12 distinguish each other !!! This operates as a modulo counter and is used for an angle value that distinguishes between 0 and 360 degrees of angle values. In doing so, y impulses are evenly distributed to the 360 degrees. An impulse then corresponds to an angle of 360 / y degrees. This angle is incremented in forward mode until it reaches the programmable modulo value x = y-1. The counter then has the value 0 again after the next pulse. In reverse mode, it is counted accordingly to 0 and the next value is then again x. Add the circuit after 3 with two comparators that compare to x and -x, you can also check this modulo counter accordingly. The previous comparators continue to check the range where no TBU value (the current value or the previous value stored in the pipeline stage) is 0. If a value is 0, then either the previous or the following value may be x. Therefore, the difference can be x or (-x).

5 gibt eine Schaltungsanordnung zur Prüfung des Modulo-Zählers mit den zwei zusätzlichen Vergleichern wieder, die insgesamt mit der Bezugsziffer 300 bezeichnet ist. Die Darstellung zeigt einen Addierer 302, bei dem als Eingangsgrößen TBU_neu 304 und TBU_alt 306 über einen Inverter 308 und ein Übertrag 309 eingehen. Dies bildet einen Subtrahierer, der mit Bezugsziffer 310 bezeichnet ist. Weiterhin zeigt die Darstellung einen ersten Vergleicher 312 mit der Funktion =0?, einen zweiten Vergleicher 314 mit der Funktion =1?, einen dritten Vergleicher 316 mit der Funktion =(-1)?, einen vierten Vergleicher 318 mit der Funktion =x? und einen fünften Vergleicher 320 mit der Funktion =(-x)?. Darüber hinaus sind ein NOR-Glied 330 und ein Flipflop 332, in das ein Setz-(set) Signal 334 und ein Taktsignal SYS_CLK 336 eingehen und das ein Fehlersignal (error) 338 ausgibt. 5 shows a circuit arrangement for testing the modulo counter with the two additional comparators, the whole with the reference numeral 300 is designated. The illustration shows an adder 302 in which TBU_new as input variables 304 and TBU_old 306 via an inverter 308 and a carryover 309 received. This forms a subtractor, denoted by reference numeral 310 is designated. Furthermore, the illustration shows a first comparator 312 with the function = 0 ?, a second comparator 314 with the function = 1 ?, a third comparator 316 with the function = (- 1) ?, a fourth comparator 318 with the function = x? and a fifth comparator 320 with the function = (- x) ?. In addition, a NOR element 330 and a flip flop 332 into which a set signal 334 and a clock signal SYS_CLK 336 come in and that an error signal (error) 338 outputs.

Zu beachten ist, dass die Vergleicher 318, 320 jetzt nicht gegen einen festen Wert, sondern gegen einen variablen Wert vergleichen. Dieser Vergleichswert ist in einem Register zu konfigurieren. Es ist zweckmäßig, nicht das gleiche Register wie in der TBU zu benutzen, sondern ein separates Register, um sogenannte Common Cause Fehler zu vermeiden, die auftreten, wenn bspw. das Register BASE_MARK 20 in 1 einen Fehler hat und dieser falsche Wert sowohl für den Zählvorgang bis zu dem Modulowert als auch für dessen Prüfung benutzt wird.It should be noted that the comparators 318 . 320 now not against a fixed value, but against a variable value compare. This comparison value must be configured in a register. It is useful not to use the same register as in the TBU, but a separate register to avoid so-called common cause errors that occur when, for example, the register BASE_MARK 20 in 1 has an error and this incorrect value is used both for counting up to the modulo value and for its testing.

Wenn man die Winkelbasis nur in Vorwärtsrichtung betreibt, kann man den Vergleich mit negativen Werten blockieren, wie vorstehend erläutert wird. Entsprechend sind bei einer ausschließlichen Richtung im Rückwärtsbetrieb alle Vergleiche mit Werten größer 0 zu blockieren. Auch hier kann die Blockierung variabel gestaltet und in Abhängigkeit von einem Richtungssignal durchgeführt werden. Dabei ist ein separater Richtungswert aus einem Konfigurationsregister der Prüfeinrichtung vorzuziehen. Ansonsten tritt ggf. ein Common Cause Fehler auf, wie dies vorstehend dargestellt ist.If one operates the angle base only in the forward direction, one can block the comparison with negative values, as explained above. Accordingly, in an exclusive direction in reverse operation, all comparisons with values greater than 0 are to be blocked. Again, the blocking can be made variable and performed in response to a direction signal. In this case, a separate direction value from a configuration register is to be preferred to the test device. Otherwise, a common cause error may occur, as shown above.

Die vorgestellte Schaltungsanordnung erkennt alle transienten und permanenten Fehler in der Zeitbasis und in der Pipeline-Stufe des entsprechenden Clusters, die oberhalb des LSB (least significant bit) auftreten. Damit können, ggf. im Zusammenhang mit weiteren Maßnahmen, hohe Sicherheitsanforderungen an das System gewährleistet werden.The presented circuitry detects all transient and permanent errors in the time base and in the pipeline stage of the corresponding cluster, which occur above the LSB (least significant bit). In this way, high safety requirements for the system can be ensured, if necessary in connection with further measures.

Es können grundsätzlich nicht nur Zeiten oder Winkel eines Systems erfasst werden, wie z. B. im GTM, sondern auch Positionen, wie bspw. gezählte zurückgelegte Wegstreckenanteile, Mengen, wie bspw. eine gezählte Anzahl von Elementen, Massen, wie bspw. summierte Gewichtseinheiten, Temperaturen, wie bspw. gezählte Temperaturinkremente, Drücke, wie bspw. gezählte Druckinkremente oder sonstige Eigenschaften eines Systems gezählt werden. Anstelle von einer Zeit- oder Winkelbasis kann man dann von einer Zustandsbasis des Systems sprechen. Unter einer Zustandsbasis werden hierin somit Eigenschaftsbasen verstanden für Eigenschaften bzw. Zustände, wie diese vorstehend rein beispielhaft aufgeführt sind.In principle, not only times or angles of a system can be detected, such. Counted traveled distance portions, amounts such as a counted number of elements, masses such as summed weight units, temperatures such as counted temperature increments, pressures such as counted pressure increments or other properties of a system. Instead of a time or angle basis, one can then speak of a state basis of the system. By a state basis herein are thus understood property bases for properties or states, as they are listed above purely by way of example.

Gemäß einer weiteren Ausführung ist vorgesehen, das Register-Bit 0 im TBU_CH0_CTRL (LOW_RES) in der Prüfeinheit dupliziert abzulegen und gegenüber dem Wert des Signals LOW_RES zu prüfen. Dieses Bit bestimmt, ob in der TBU0 (oberer Block 12 in 1) die oberen oder unteren 24 Bits der 27 ausgegebenen Bits der Zustandsbasis für die weitere Verarbeitung benutzt werden. Ein Fehler dieses Bits hätte ggf. verheerende Folgen für das Verhalten des Systems und das Sicherheitsziel. Durch die duplizierte Abspeicherung mit dem Vergleich könnte ein Fehler sehr schnell entdeckt werden. Im Falle einer Abweichung ist ein Fehler zu signalisieren, wenn die Prüfeinheit aktiviert bzw. enabled ist. Weiterhin sind auch die Bits 0 im TBU_CH1_CTRL, TBU_CH2_CTRL und TBU_CH3_CTRL Register zu duplizieren, um zu prüfen, ob ein Rückwärtsmode möglich ist. Falls dieses Bit = 0 ist, wird der Vergleich auf -1 bzw. +x maskiert.According to a further embodiment, it is provided to store the register bit 0 in the TBU_CH0_CTRL (LOW_RES) duplicated in the test unit and to check it against the value of the signal LOW_RES. This bit determines whether in the TBU0 (upper block 12 in 1 ) the upper or lower 24 Bits of 27 output bits of the state basis are used for further processing. An error of this bit could have devastating consequences for the behavior of the system and the security goal. Due to the duplicated storage with the comparison an error could be detected very fast. In the event of a deviation, an error is to be signaled if the test unit is activated or enabled. Furthermore, the bits 0 in the TBU_CH1_CTRL, TBU_CH2_CTRL and TBU_CH3_CTRL registers must also be duplicated in order to check whether a reverse mode is possible. If this bit = 0, the comparison is masked to -1 or + x.

Das DIR1/DIR2 Richtungssignal für TBU1/TBU2 kennzeichnet die Richtung für TBU_CH1,2,3. Wenn dieser Wert falsch generiert wird, so ist dies extern, bspw. in der DPLL zu prüfen. Dort kann man beispielsweise prüfen, ob der momentan berechnete Fehler EDT_T,S im Vergleich zu dem über einen längeren Zeitraum gemittelten Fehler MEDT_T,S plausibel ist.The DIR1 / DIR2 direction signal for TBU1 / TBU2 indicates the direction for TBU_CH1,2,3. If this value is generated incorrectly, then this is external, for example in the DPLL to examine. There one can check, for example, whether the currently calculated error EDT_T, S is plausible in comparison to the error MEDT_T, S averaged over a longer period of time.

Claims (10)

Schaltungsanordnung zur Überwachung einer Zustandsbasis (14), die durch Impulse inkrementiert oder dekrementiert wird und diese Impulse Informationen über Eigenschaften eines Systems umfassen, wobei die Schaltungsanordnung (130) mindestens einen Speicher aufweist, in dem die Zustandsbasis (14) mit einem Systemtakt periodisch zwischenzuspeichern ist, wobei mindestens ein Vergleicher (21, 142, 144, 146, 312, 314, 316, 318) vorgesehen ist, der dazu eingerichtet ist, die aktuelle Zustandsbasis (14) mit der einen Systemtakt zuvor zwischengespeicherten Zustandsbasis (14) zu vergleichen, wobei die Schaltungsanordnung (130) dazu eingerichtet ist, anhand dieses Vergleichs einen Fehler zu erkennen.Circuitry for monitoring a state basis (14) which is incremented or decremented by pulses and which comprises information about characteristics of a system, the circuitry (130) comprising at least one memory in which the state base (14) is to be periodically latched at a system clock wherein at least one comparator (21, 142, 144, 146, 312, 314, 316, 318) is provided which is adapted to compare the current state base (14) with the state base (14) previously latched one system clock, wherein the circuit arrangement (130) is set up to detect an error on the basis of this comparison. Schaltungsanordnung nach Anspruch 1, die dazu eingerichtet ist, mindestens einen Vergleich zwischen der aktuellen Zustandsbasis (14) und der zuvor gespeicherten Zustandsbasis (14) mittels Subtraktion dieser beiden Werte vorzunehmen.Circuit arrangement according to Claim 1 which is adapted to make at least a comparison between the current state base (14) and the previously stored state base (14) by subtracting these two values. Schaltungsanordnung nach Anspruch 2, die dazu eingerichtet ist, eine mittels der Subtraktion erhaltene Differenz mit mindestens einem festen Wert zu vergleichen.Circuit arrangement according to Claim 2 which is adapted to compare a difference obtained by means of the subtraction with at least one fixed value. Schaltungsanordnung nach Anspruch 2 oder 3, die einen Addierer (132, 302) umfasst, der zur Durchführung der Subtraktion dient.Circuit arrangement according to Claim 2 or 3 comprising an adder (132, 302) for performing the subtraction. Verfahren zur Überwachung einer Zustandsbasis (14), die durch Impulse inkrementiert oder dekrementiert wird und diese Impulse Informationen über Eigenschaften eines Systems umfassen, insbesondere mit einer Schaltungsanordnung (130) nach einem der Ansprüche 1 bis 4, wobei die Zustandsbasis (14) mit einem Systemtakt zwischengespeichert wird, wobei die aktuelle Zustandsbasis (14) mit der zuvor zwischengespeicherten Zustandsbasis (14) verglichen wird und anhand dieses Vergleichs ein Fehler erkannt wird. A method for monitoring a state basis (14) which is incremented or decremented by pulses, and which pulses comprise information about properties of a system, in particular a circuit arrangement (130) according to any one of Claims 1 to 4 wherein the state base (14) is latched with a system clock, wherein the current state base (14) is compared with the previously cached state base (14) and based on this comparison, an error is detected. Verfahren nach Anspruch 5, bei dem eine mittels einer Subtraktion erhaltene Differenz mit mindestens einem festen Wert verglichen wird.Method according to Claim 5 in which a difference obtained by means of a subtraction is compared with at least one fixed value. Verfahren nach Anspruch 6, bei dem für den Fall, dass der Betrag der Differenz größer als 1 ist, ein Fehler signalisiert und gespeichert wird.Method according to Claim 6 in which, if the difference is greater than 1, an error is signaled and stored. Verfahren nach Anspruch 6, bei dem für den Fall, dass die Differenz 1 ist ein Fehler genau dann signalisiert wird, wenn die Zustandsbasis (14) nur rückwärts zählt und für den Fall dass die Differenz -1 ist, ein Fehler signalisiert, wenn die Zustandsbasis nur vorwärts betrieben wird.Method according to Claim 6 in which, in the event that the difference is 1, an error is signaled exactly when the state base (14) only counts backwards and in the case that the difference is -1, an error signals when the state base is only operated forward , Schaltungsanordnung nach Anspruch 5, bei dem mindestens ein Vergleich einer Differenz zwischen der Zustandsbasis (14) und der zwischengespeicherten Zustandsbasis (14) mit einem variablen Vergleichswert vorgenommen wird.Circuit arrangement according to Claim 5 in which at least a comparison of a difference between the state basis (14) and the cached state basis (14) is made with a variable comparison value. Verfahren nach Anspruch 9, bei dem die Zustandsbasis (14) höchstens einen Maximalwert annehmen kann und der variable Vergleichswert dieser Maximalwert oder der negative Wert dieses Maximalwerts ist.Method according to Claim 9 in which the state basis (14) can assume at most one maximum value and the variable comparison value is this maximum value or the negative value of this maximum value.
DE102017207974.6A 2017-05-11 2017-05-11 Circuit arrangement for monitoring a time base in a timer Pending DE102017207974A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102017207974.6A DE102017207974A1 (en) 2017-05-11 2017-05-11 Circuit arrangement for monitoring a time base in a timer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102017207974.6A DE102017207974A1 (en) 2017-05-11 2017-05-11 Circuit arrangement for monitoring a time base in a timer

Publications (1)

Publication Number Publication Date
DE102017207974A1 true DE102017207974A1 (en) 2018-11-15

Family

ID=63962520

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017207974.6A Pending DE102017207974A1 (en) 2017-05-11 2017-05-11 Circuit arrangement for monitoring a time base in a timer

Country Status (1)

Country Link
DE (1) DE102017207974A1 (en)

Similar Documents

Publication Publication Date Title
EP2616827B1 (en) Apparatus for monitoring operating parameters of integrated circuits and integrated circuit with operating parameter monitoring
DE102017219448A1 (en) Signal protocol fault detection system and method
DE102020114099A1 (en) FUNCTIONAL SAFETY VIA TRACK-AND-ERROR
DE102012105159B4 (en) Fault-tolerant memory
DE3541343A1 (en) CIRCUIT ARRANGEMENT FOR INTERMITTENT AUTOMATIC MONITORING OF MULTIPLE ANALOG ELECTRICAL SIGNALS
DE102010003538A1 (en) Method for checking signal and module activities in a timer module and timer module
DE102015202473A1 (en) Load control backup signal generating circuit
DE102017207974A1 (en) Circuit arrangement for monitoring a time base in a timer
EP1025501B1 (en) Method and device for checking an error control procedure of a circuit
DE112020002008T5 (en) SYNCHRONOUS RESET SIGNAL GENERATION CIRCUIT AND DIGITAL PROCESSING DEVICE
EP3404430B1 (en) Method for monitoring an operation of a binary interface and related binary interface
DE102017203479A1 (en) Circuit arrangement for monitoring a state basis in a timer
DE19923231C1 (en) Digital analysis of frequencies in smart cards
DE102017202037A1 (en) A method of monitoring a first and second clock divider
DE102018217532A1 (en) Sensor and method for checking a sensor
DE102017207976A1 (en) Circuit arrangement for monitoring a counter of a data transmission device
DE102017203486A1 (en) Method for monitoring a counter of a data transmission device
DE2608566A1 (en) LOGICAL OPERATIONAL SAFETY MONITORING SYSTEMS
DE102017202036A1 (en) Circuit arrangement for monitoring a pulse generator
DE2842350C2 (en) Circuit arrangement for monitoring clock pulse trains
DE2217634C3 (en) Safety circuit for counting pulses according to the binary number system in digital data processing systems, especially in railway systems
WO2003025592A1 (en) Voltage sensor, circuit arrangement provided with a voltage sensor, and method for configuring and operating a circuit arrangement of this type
DE102021106440A1 (en) Modified interface with password-protected memory access with memory erasure when memory is accessed
DE102017207977A1 (en) Method for monitoring a timer module
DE102017207978A1 (en) Method for monitoring a state basis

Legal Events

Date Code Title Description
R012 Request for examination validly filed