DE102017207977A1 - Method for monitoring a timer module - Google Patents

Method for monitoring a timer module Download PDF

Info

Publication number
DE102017207977A1
DE102017207977A1 DE102017207977.0A DE102017207977A DE102017207977A1 DE 102017207977 A1 DE102017207977 A1 DE 102017207977A1 DE 102017207977 A DE102017207977 A DE 102017207977A DE 102017207977 A1 DE102017207977 A1 DE 102017207977A1
Authority
DE
Germany
Prior art keywords
clock
data transmission
monitoring
data
state
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
DE102017207977.0A
Other languages
German (de)
Inventor
Eberhard Boehl
Klaus Damm
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 DE102017207977.0A priority Critical patent/DE102017207977A1/en
Publication of DE102017207977A1 publication Critical patent/DE102017207977A1/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
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • 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
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/1016Error in accessing a memory location, i.e. addressing error

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zum Überwachen eines Zeitgebermoduls (10), das mindestens einen Taktteiler, mindestens eine Zustandsbasis, die durch Impulse inkrementiert oder dekrementiert wird und diese Impulse Informationen über Eigenschaften eines Systems umfassen, und mindestens eine Datenübertragungseinrichtung (80), die mindestens eine Datenübertragung pro Zeiteinheit ermöglicht und eine Datenübertragung zwischen ersten und zweiten Modulen vornimmt, aufweist, wobei das Zeitgebermodul (10) mit mindestens einem abgeleiteten Takt betrieben wird, der von einem Systemtakt mittels des mindestens einen Taktteilers abgeleitet wird, wobei zur Überwachung des Zeitgebermoduls (10) eine Anzahl von Prüfschritten durchgeführt wird, wobei in einem ersten Prüfschritt eine Prüfung hinsichtlich einer Taktgebung des Zeitgebermoduls (10) durchgeführt wird, in einem zweiten Prüfschritt die mindestens eine Zustandsbasis und in einem dritten Prüfschritt die mindestens eine Datenübertragungseinrichtungen (80) geprüft werden.

Figure DE102017207977A1_0000
The invention relates to a method for monitoring a timer module (10) which comprises at least one clock divider, at least one state base incremented or decremented by pulses, and these pulses comprise information about properties of a system, and at least one data transfer device (80) comprising at least one Data transmission per unit time and makes a data transmission between first and second modules, wherein the timer module (10) is operated with at least one derived clock, which is derived from a system clock by means of the at least one clock divider, wherein for monitoring the timer module (10) a number of test steps is performed, wherein in a first test step, a test for timing of the timer module (10) is performed, in a second test step the at least one state basis and in a third test step, the at least one Datübe (80).
Figure DE102017207977A1_0000

Description

Die Erfindung betrifft ein Verfahren zum Überwachen eines Zeitgebermoduls und eine Schaltungsanordnung zum Durchführen des Verfahrens.The invention relates to a method for monitoring a timer module and a circuit arrangement for carrying out the method.

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 bzw. Zeitgebermodule, bekannt. Solche Zeitgebermodule 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 or timer modules, known. Such timer modules can be designed as individual components or as peripheral components of the processing unit and thereby provide more or less important functions for signal acquisition 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 Zeitgebermodulen zum Einsatz.According to the current state of the art, different architectures for the implementation of timer modules 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 Zeitpunkts 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.

In dem generischen Zeitgebermodul sind eine oder mehrere Leit-Einheiten bzw. Routing-Einheiten, die hierin auch als ARUs (Advanced Routing Units) bezeichnet werden, enthalten. Unter einer solchen Routing-Einheit ist ein Modul zu verstehen, das Daten, die von einer Datenquelle bereitgestellt werden, zu einer Datensenke überträgt. Daher hat eine solche Leit-Einheit eine zentrale Bedeutung für die Verteilung der Daten.In the generic timer module, one or more routing units, also referred to herein as ARUs (Advanced Routing Units), are included. Such a routing unit is a module that transmits data provided by a data source to a data sink. Therefore, such a lead unit has a central importance for the distribution of the data.

So sind verschiedene Module mit der ARU verbunden, die untereinander Daten austauschen können. Dabei werden im sogenannten Round-Robin-Mode die Datensenken nacheinander über einen Zähler adressiert und diese fordern die entsprechende Datenquelle über eine abgespeicherte Adresse zum Senden der Daten auf. Eine solche ARU wird hierin auch als Datenübertragungseinrichtung bezeichnet.So different modules are connected to the ARU, which can exchange data with each other. In the so-called round-robin mode, the data sinks are addressed one after the other via a counter and these request the corresponding data source via a stored address for sending the data. Such an ARU is also referred to herein as a data transfer device.

In dem bekannten GTM gibt es verschiedene Signale und gespeicherte Werte, die von zentraler Bedeutung sind und die im Fehlerfall die Entdeckung des Fehlers maskieren oder behindern können. Solche Fehler bezeichnet man als Common Cause Fehler.In the known GTM there are various signals and stored values which are of central importance and which in the event of an error can mask or hinder the detection of the error. Such errors are called Common Cause errors.

Offenbarung der ErfindungDisclosure of the invention

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

Es werden hierin unterschiedliche Maßnahmen zur Erkennung von Common Cause Fehlern vorgestellt, Es wurde erkannt, dass diese verschiedenen Maßnahmen so zusammenzustellen sind, dass eine möglichst einfache und vollständige Prüfung dieser Fehler erfolgen kann. Das vorgestellte Verfahren zeigt somit eine Möglichkeit auf, wie diese verschiedenen Maßnahmen in Verbindung miteinander einzusetzen sind. Durch Anwendung des Verfahrens können somit die Auswirkungen von Common Cause Fehlern verhindert werden.Various measures for the detection of Common Cause errors are presented here. It has been recognized that these various measures have to be put together in such a way that a simple and complete examination of these errors can take place. The presented method thus shows a Possibility on how to use these different measures in conjunction with each other. By applying the method, thus, the effects of common cause errors can be prevented.

So kann bspw. in der Überwachungs- bzw. Monitor-Einheit des GTM z. B. die Aktivität der verschiedenen Takte überwacht werden. Zudem kann die Aktivität in den Zustandsbasen, d. h. den Zeit- und Winkelbasen, geprüft werden und es können auch Fehler in diesen erfasst werden. Weiterhin können die Teilerverhältnisse in Taktüberwachungsschaltungen geprüft und zusätzliche Prüfbits für zentrale Funktionen und deren Überwachung genutzt werden.For example, in the monitoring or monitor unit of the GTM z. B. the activity of the different clocks are monitored. In addition, the activity in the state bases, i. H. the time and angle bases are checked, and it can also errors in these are recorded. Furthermore, the divider ratios can be checked in clock monitoring circuits and additional check bits for central functions and their monitoring can be used.

Mit dem vorgestellten Verfahren werden nunmehr die verschiedenen Maßnahmen geeignet miteinander verknüpft. Dabei werden in einer Anzahl von Prüfschritten bestimmte Prüfungen bzw. Überwachungen vorgenommen. So können in einem ersten Schritt ein oder mehrere Takte, d. h. der Systemtakt und/oder abgeleitete Takte, und/oder ein oder mehrere Taktteiler überwacht werden. Es findet somit eine Überprüfung hinsichtlich einer Taktgebung des Zeitgebermoduls statt. Dabei können zuerst die Takte und anschließend die Taktteiler überwacht werden. Alternativ können erst die Taktteiler und anschließend die Takte überwacht werden. In einem nächsten Prüfschritt können dann Zustandsbasen, d. h. Zeit- und/oder Winkelbasen, überprüft werden. Hierbei kann überprüft werden, ob diese Zustandsbasen überhaupt aktiv sind und/oder ob Fehler vorliegen.With the presented method, the various measures are now suitably linked together. In this case, certain tests or monitoring are carried out in a number of test steps. Thus, in a first step, one or more bars, i. H. the system clock and / or derived clocks, and / or one or more clock dividers are monitored. Thus, there is a check for timing of the timer module. In this case, first the clocks and then the clock divider can be monitored. Alternatively, the clock dividers and then the clocks can be monitored first. In a next test step, state bases, i. H. Time and / or angle bases, to be checked. Here it can be checked whether these status bases are even active and / or if there are errors.

In einem nächsten Prüfschritt kann mindestens eine Datenübertragungseinrichtung (ARU) überwacht werden. Hierbei kann überprüft werden, ob in einem Zähler ein Fehler vorliegt, ob die Datenübertragungseinrichtung bzw. deren Zähler überhaupt aktiv ist, ob Fehler bei verwendeten Adressen vorliegen und/oder ob Fehler in den übertragenen Daten bzw. den Datenregistern vorliegen.In a next test step, at least one data transmission device (ARU) can be monitored. In this case, it can be checked whether there is an error in a counter, whether the data transmission device or its counter is even active, if there are errors in the addresses used and / or if there are errors in the transmitted data or the data registers.

In Ausgestaltung dient das Verfahren zur Überprüfung von Signalen, Daten und Adressen und mit den Signalen verbundenen Zeiteinheiten, wobei es eine Vielzahl von Prüfmöglichkeiten gibt. Dabei ist eine Reihenfolge in der Überprüfung so einzuhalten, dass mit einer wachsenden Zahl von Überprüfungen ein ständig verbessertes gesichertes Prüfergebnis bezüglich absoluter Werte von Zeiten, Frequenzen und Daten vorliegt.In an embodiment, the method is used for checking signals, data and addresses and time units connected to the signals, wherein there are a multiplicity of test options. In doing so, a sequence in the check is to be observed in such a way that with a growing number of checks there is a constantly improved secure test result with regard to absolute values of times, frequencies and data.

Es kann bspw. die Frequenz eines vom übergeordneten System dem Zeitgebermodul bereitgestellten ersten Takts, dem sogenannten Systemtakt, mittel Verarbeitung und Ausgabe unter zu Hilfenahme einer unabhängigen Zeitbasis geprüft werden. Aus dem überprüften ersten Takt können zweite Takte abgeleitet werden. Dann können die Teilerverhältnisse zwischen dem ersten und den zweiten Takten so geprüft werden, dass eine Taktfrequenz dieser zweiten Takte damit bestimmbar ist.For example, the frequency of a first clock provided by the higher-level system to the timer module, the so-called system clock, can be checked using processing and output with the aid of an independent time base. From the checked first clock second clocks can be derived. Then, the divider ratios between the first and the second clocks can be checked so that a clock frequency of these second clocks can be determined.

Die überprüften zweiten Takte können in mindestens einer Zeitbasis gezählt werden, so dass die Konsistenz der Zeitbasis geprüft und damit ein gesicherter Bezug zur absoluten Zeit hergestellt wird.The checked second clocks can be counted in at least one time base, so that the consistency of the time base is checked and thus a secure relationship is established at the absolute time.

Es kann weiterhin eine serielle Datenverteilung mittels Arbitrierung durch einen Zähler stattfinden, wobei die Kontinuität des Zählers geprüft wird, und die ausgetauschten Daten und/oder Adressen können mit Prüfbits eines fehlererkennenden oder fehlerkorrigierenden Codes versehen sein, die bei der Übertragung oder nach der Übertragung geprüft werden.Furthermore, a serial data distribution can take place by means of arbitration by a counter, whereby the continuity of the counter is checked, and the exchanged data and / or addresses can be provided with check bits of an error-detecting or error-correcting code, which are checked during the transmission or after the transmission ,

Es können zudem in einer Wertebasis Ereignisse gezählt werden, die mit einer Zeit, einem Winkel, einer Masse, einer Temperatur, einem Druck, einer Entfernung oder einer anderen physikalischen Größe verbunden sind. Die Kontinuität der Wertebasis kann dann geprüft werden.In addition, events may be counted in a value base associated with a time, angle, mass, temperature, pressure, distance, or other physical quantity. The continuity of the value base can then be checked.

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 ein generisches Zeitgebermodul. 1 shows in a block diagram a generic timer module.
  • 2 zeigt in einem Blockschaltbild eine Taktverwaltungseinheit 2 shows a block diagram of a clock management unit
  • 3 zeigt in einem Blockschaltbild eine Zeitbasiseinheit. 3 shows a block diagram of a time base unit.

Ausführungsformen der Erfindung Embodiments 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 ein Zeitgebermodul, das hierin auch als GTM bezeichnet wird und insgesamt mit der Bezugsziffer 10 versehen ist. Dieses Zeitgebermodul 10 umfasst eine Anzahl von Clustern, von denen ein Cluster 0 12, ein Cluster 114 und ein Cluster n 16 dargestellt sind. Dieses Zeitgebermodul 10 wird mit einem Systemtakt clS0_clk 20 betrieben. Dieser Systemtakt 20 geht in einen Taktverwaltungseinheit (CMU: clock management unit) 22, in der ein Anzahl von Taktteilern vorgesehen sind, mit denen der Systemtakt in eine Anzahl von abhängigen Takten geteilt werden kann. 1 shows in a block diagram a timer module, which is also referred to herein as GTM and collectively with the reference numeral 10 is provided. This timer module 10 includes a number of clusters, one of which is a cluster 0 12 , a cluster 114 and a cluster n 16 are shown. This timer module 10 is operated with a system clock clS0_clk 20. This system clock 20 goes into a clock management unit (CMU) 22, in which a number of clock dividers are provided, with which the system clock can be divided into a number of dependent clocks.

Die Darstellung zeigt in Cluster 0 12 weiterhin eine Zeitbasiseinheit (TBU: time base unit) 30, eine digitale Phasenregelschleife (DPLL: digital phase locked loop) 32, ein Abbildungsmodul (MAP: TIM0 input mapping module) 34, ein erstes Totzeitmodul (DTM: Dead Time Module) 36, ein zweites DTM 38, eine Datenquelle TIM 1 (time input module) 40, ein Ausgabemodul (TOM: Timer Output Module) 42, ein mit der ARU verbundenes Ausgabemodul (ATOM: ARU-connected Timer Output Module, ARU: Advanced Routing Unit) 44, eine Sensormuster-Evaluation (SPE: Sensor Pattern Evaluation) 46, und in Cluster 114 ein erstes DTM 50, ein zweites DTM 52, ein SPE 1 54, eine Datenquelle TIM 1 60, ein TOM 1 62 und ein ATOM 1 62. In Cluster n 16 sind ein erstes DTM 70, ein zweites DTM 72 eine Datenquelle TIM n 74, ein SPE n 74, ein TOM n 76 und ein ATOM n 78 vorgesehen.The illustration shows in clusters 0 12 furthermore a time base unit (TBU) 30 , a digital phase locked loop (DPLL) 32 , an imaging module (MAP: TIM0 input mapping module) 34 , a first dead time module (DTM: Dead Time Module) 36 , a second DTM 38 , a data source TIM 1 (time input module) 40 , an output module (TOM: Timer Output Module) 42 , an output module connected to the ARU (ATOM: ARU-connected Timer Output Module, ARU: Advanced Routing Unit) 44 , a sensor pattern evaluation (SPE: Sensor Pattern Evaluation) 46 , and in clusters 114 a first DTM 50 , a second DTM 52 , a PES 1 54 , a data source TIM 1 60 , a TOM 1 62 and an ATOM 1 62 , In cluster n 16 are a first DTM 70 , a second DTM 72 a data source TIM n 74 , an SPE n 74 , a TOM n 76 and an ATOM n 78 intended.

Die Darstellung zeigt weiterhin eine Datenübertragungseinrichtung ARU 80, ein Übertragungsmodul (BRC: Broadcast Module) 82, ein Cluster-Konfigurationsmodul (CCM 0: Cluster Configuration Module) 84, eine F2A-Einheit (FIFO to ARU unit 86), ein FIFO-Register (FIFO: first in first-out) 88, eine AFD-Schnittstelle (AEI to FIFO Data Interface) 90, einen Multichannelsequencer MCS 0 92, einen Analog-Digital-Wandler ADC 0 94, eine Überwachungseinheit (MON: Monitor Unit) 96, eine Ausgabeüberwachungseinheit (CMP: Output Compare Unit) 98, einen CCM 1100, ein Parameter-Speichermodul (PSM 1: Parameter Storage Module) 102, einen MCS 1 104, einen MCS n 110, einen CCM n 112, einen Multiplexer AEIMux 0 114, einen Multiplexer AEIMux 1 116, einen Multiplexer AEIMux n 116, ein Interrupt-Konzentratormodul (ICM: Interrupt Concentrator Module) 120, einen ADC 1122, einen ADC n 124, eine AEI-Brücke 126 und ein Watchdog 130 zum Aktivieren eines Takts.The illustration also shows a data transmission device ARU 80 , a transmission module (BRC: Broadcast Module) 82 , a cluster configuration module (CCM 0 : Cluster Configuration Module) 84 , an F2A unit (FIFO to ARU unit 86 ), a FIFO register (FIFO: first in first-out) 88 , an AFD Interface (AEI to FIFO Data Interface) 90 , a multichannel sequencer MCS 0 92 , an analog-to-digital converter ADC 0 94 , a monitoring unit (MON: Monitor Unit) 96 , an output monitoring unit (CMP: Output Compare Unit) 98 , a CCM 1100 , a parameter memory module (PSM 1 : Parameter Storage Module) 102 , an MCS 1 104 , an MCS n 110 , a CCM n 112 , a multiplexer AEIMux 0 114 , a multiplexer AEIMux 1 116 , a multiplexer AEIMux n 116 , an Interrupt Concentrator Module (ICM) 120 , an ADC 1122 , an ADC n 124 , an AEI bridge 126 and a watchdog 130 to activate a clock.

Im Zeitgebermodul 10 sind Takte, Zeit- und Winkelbasen, Datenübertragungseinrichtungen bzw. Routing-Einheiten (ARU), Verarbeitungseinheiten (MCS) und das AEI (generisches AE Interface) (AE: Automotive Electronics) von zentraler Bedeutung für fast alle Anwendungen. Es existieren schon verschiedene Möglichkeiten im Zeitgebermodul 10 zur Überwachung einzelner dieser Funktionen. So überwachen bspw. Aktivitätschecker die Aktivität von Takten und in jedem MCS-Kanal (MCS: Multi Channel Sequenzer) kann die Aktivität dieses Kanals überwacht und in einem Aktivitätsregister angezeigt werden. Wenn das Setzen des Aktivitätsbits im MCS-Programmablauf erst nach der Verarbeitung von Daten erfolgt, wird mit dieser Aktivität gleichzeitig geprüft, ob Daten für den MCS bereitgestellt werden. Damit werden die Datenquellen, z.B. TIM, und die Verteilung der Daten, z. B. ARU, indirekt mitgeprüft. Es ist deshalb wichtig, diese Reihenfolge im Programmablauf einzuhalten.In the timer module 10 For example, clocks, time and angle bases, data transfer units or routing units (ARUs), processing units (MCS) and the AEI (generic AE interface) (AE: automotive electronics) are of central importance for almost all applications. There are already various possibilities in the timer module 10 to monitor each of these functions. Activity checkers, for example, monitor the activity of clocks and in each MCS channel (MCS: Multi Channel Sequencer) the activity of that channel can be monitored and displayed in an activity register. If the activity bit in the MCS program flow is not set until data has been processed, this activity simultaneously checks whether data is being provided to the MCS. Thus the data sources, eg TIM, and the distribution of the data, e.g. B. ARU, indirectly verified. It is therefore important to follow this order in the program flow.

Es ist weiterhin wichtig festzustellen, ob ein Takt AEI_SYS_CLK 131 dem System zur Verfügung gestellt wird, ob er die richtige Frequenz hat und ob daraus Takte mit der gewünschten Frequenz für die Cluster abgeleitet werden. Für jedes Cluster n kann die Frequenz CLS[n]_CLK entsprechend dem höchsten Takt, der halben Frequenz des höchsten Takts oder 0 gewählt werden. Im Cluster 0 sind die Taktverwaltungseinheit und die Zeitbasiseinheit untergebracht, die vom entsprechenden Takt CLS0_CLK gesteuert werden. Die Taktverwaltungseinheit ist in der Lage, einen externen Takt mit einem vorgegebenen Teilerverhältnis auszugeben. Eine genaue Prüfung des externen Takts wäre deshalb sehr hilfreich.It is also important to determine if a clock is AEI_SYS_CLK 131 is provided to the system if it has the correct frequency and whether it will derive clocks of the desired frequency for the clusters. For each cluster n, the frequency CLS [n] _CLK may be chosen according to the highest clock, half the frequency of the highest clock, or 0. In the cluster 0 the clock management unit and the time base unit are controlled, which are controlled by the corresponding clock CLS0_CLK. The clock management unit is capable of outputting an external clock having a predetermined divider ratio. A close examination of the external clock would therefore be very helpful.

Diese ist mit dem Zeitgebermodul selbst lösbar. Dazu muss jedoch erst einmal geprüft werde, ob die dabei erforderlichen Ressourcen des Zeitgebermoduls mit verlässlichen Parametern arbeiten, wie zum Beispiel der spezifizierten Taktfrequenz der generierten Takte. Im Zeigebermodul selbst können aber nur die Teilerverhältnisse geprüft werden und nicht die Frequenz des Quelltakts SYS_CLK. Diese kann nur unter zu Hilfenahme einer unabhängigen Zeitbasis bestimmt werden.This can be solved with the timer module itself. For this purpose, however, it must first be checked whether the required resources of the timer module work with reliable parameters, such as the specified clock frequency of the generated clocks. However, only the divider ratios can be checked in the indexer module itself and not the frequency of the source clock SYS_CLK. This can only be determined with the help of an independent time base.

Es wird hierin sowohl der Takt AEI_SYS_CLK als auch der Takt SYS_CLK genannt. Diese Takte meinen dasselbe Signal, nämlich den zentralen GTM-Takt. Aus diesem Takt gehen die Takte für die Cluster hervor (CLS[0,1,2 ... n]_CLK). Parallel dazu gibt es den AEI_CLK, der in das AEI Modul führt. Diese beiden Takte könnten von unterschiedlicher Frequenz sein.It is called herein both the clock AEI_SYS_CLK and the clock SYS_CLK. These bars mean the same signal, namely the central GTM clock. From this clock, the clocks for the clusters emerge (CLS [0,1,2 ... n] _CLK). In parallel, there is the AEI_CLK, which leads into the AEI module. These two clocks could be of different frequency.

Auf jeden Fall ist ein externer Watchdog dort sinnvoll, der mittels einer eigenen unabhängigen Zeitbasis (ECLK) überwacht. Damit kann sichergestellt werden, dass ein Takt vorliegt, dessen Frequenz innerhalb bestimmter Toleranzen liegt. Die Größe dieser Toleranzen hängt unmittelbar von der Genauigkeit der unabhängigen Zeitbasis ab. Es wird hier vorausgesetzt, dass diese Genauigkeit genügend groß ist, um die Frequenz des SYS_CLK hinreichend genau zu bestimmen. Dazu wird mindestens ein ECLK, ein externer, unabhängiger Takt, aktiv geschaltet und es werden die Parameter für den entsprechenden Taktteiler dieses Takts eingestellt. Diese Überwachung des Takts stellt eine Möglichkeit dar, die vom System unterstützt werden muss. Falls das nicht gegeben ist, muss nach einer anderen Möglichkeit im System gesucht werden.In any case, an external watchdog makes sense there, which monitors using its own independent time base (ECLK). This ensures that there is a clock whose frequency is within certain tolerances. The size of these tolerances depends directly on the accuracy of the independent time base. It is assumed here that this accuracy is sufficiently large to determine the frequency of the SYS_CLK with sufficient accuracy. For this purpose, at least one ECLK, an external, independent clock, is activated, and the parameters for the corresponding clock divisor of this clock are set. This monitoring of the clock is one way the system must support. If this is not the case, you have to search for another possibility in the system.

In der nachstehenden Tabelle 1 sind die notwendigen Schritte und Vorschläge zur Umsetzung gezeigt. Tabelle 1 Lfd. Nr. Ziel Einstellung/ Verfahren/ Hardware Prüfung Ergebnis Gesamtergebnis 1 Überprüfung Systemtaktfrequenz SYS_CLK setze CLS0_CLK Teiler, setze ECLKO Teiler, enable ECLKO prüfe ECLKO mittels unabhängiger Zeitbasis SYS_CLK entsprechend Genauigkeit der unabhängigen Zeitbasis bestimmt Frequenz SYS_CLK 2 Überprüfung globaler Taktteiler (fractional) Überprüfung globaler Taktteiler im GTM Globales Teilerverhältnis Teilerverhältnis globaler Taktteiler Frequenz GCLK 3 Aktivität (FX)CLKi Statusregister MON Activity check CMU_(FX)CLKi aktiv (FX)CLKi aktiv 4a Überprüfung CLKi,j differentielle Uberprüfung der Takte im GTM Teilerverhältnisse i und j Teilerverhältnisse CMU_CLKi und CMU_CLKj Frequenzen CMU_CLKi CMU_CLKj 4b Überprüfung FXCLKI,j differentielle Überprüfung der Takte im GTM Teilerverhältnisse i und j Teilerverhältnisse CMU_FXCLKi und CMU_FXCLKj Frequenzen CMU_FXCLKi CMU_FXCLKj 5a Aktivität TBU_CHx TBU Aktivität Änderung durch einen Impuls TBU_CHx aktiv TBU_CHx aktiv 5b Kontinuität TBU_CHx TBU Überprüfung Änderungswertebereich TBU CHx ohne Fehler TBU_CHx richtig 6 Überprüfung ARU Arbitrierung ARU Überprüfung Zähler für Arbitrierung lückenlose Arbitrierung alle ARU Ziele aktiviert 7 Überprüfung ARU Adressen ARU Adressen Überprüfung Paritätsbit mit Adresse keine falsche Quelle ausgewählt richtige Quelle aktiviert 8 Überprüfung ARU Daten ARU Datenüberprüfung Paritätsbit mit Daten keine Daten verfälscht Daten richtig von Quelle zu Senke 9 Überprüfung ARU Daten Aktivitätsreg. MON Überprüfung-Aktivitätsregister Aktivität MCS, ARU und Datenquelle folgerichtige Verarbeitung richtiger Daten von richtiger Quelle 10 Umlaufzeit ARU Überprüfung mittels MCS und TBU-Werten TBU-Wert Änderung zwischen zwei Zugriffen TBU-Differenz zwischen zwei ARU-Zugriffen absolute Zeit zwischen zwei ARU Angriffen Table 1 below shows the necessary steps and suggestions for implementation. Table 1 Ser. No. aim Setting / Procedure / Hardware exam Result overall result 1 Check system clock frequency SYS_CLK set CLS0_CLK divider, set ECLKO divider, enable ECLKO check ECLKO using an independent time base SYS_CLK determined according to the accuracy of the independent time base Frequency SYS_CLK 2 Check global clock divisors (fractional) Check global clock divider in the GTM Global divider ratio Divider ratio of global clock divisors Frequency GCLK 3 Activity (FX) CLKi Status register MON Activity check CMU_ (FX) CLKi active (FX) CLKi active 4a Review CLKi, j differential checking of the clocks in the GTM Divider ratios i and j Divider ratios CMU_CLKi and CMU_CLKj Frequencies CMU_CLKi CMU_CLKj 4b Review FXCLKI, j Differential check of the clocks in the GTM Divider ratios i and j Divider ratios CMU_FXCLKi and CMU_FXCLKj Frequencies CMU_FXCLKi CMU_FXCLKj 5a Activity TBU_CHx TBU activity Change by a pulse TBU_CHx active TBU_CHx active 5b Continuity TBU_CHx TBU verification Change value range TBU CHx without error TBU_CHx right 6 Verification ARU arbitration ARU review Counter for arbitration complete arbitration all ARU targets activated 7 Check ARU addresses ARU addresses verification Parity bit with address no wrong source selected right source activated 8th Check ARU data ARU data validation Parity bit with data no data is corrupted Data is correct from source to sink 9 Check ARU data Aktivitätsreg. MON Verification activity register Activity MCS, ARU and data source consistent processing of correct data from the right source 10 Circulation time ARU Check using MCS and TBU values TBU value change between two accesses TBU difference between two ARU accesses absolute time between two ARU attacks

Die Überprüfung des SYS_CLK ist in der ersten Zeile aufgeführt. Alle weiteren Schritte sollten in der entsprechenden Reihenfolge abgearbeitet werden. Nur in diesem Fall ist eine konsistente Überprüfung möglich, die auch die Einhaltung von absoluten Werten gewährleistet. Bei einer Untergliederung in a,b ist die Reihenfolge nicht entscheidend. Die Überprüfungen der laufenden Nummern 5a und 5b müssen vor einem Schritt angesetzt sein, der Daten der TBU verarbeitet (z. B. lfd. Nr.9). The SYS_CLK check is listed in the first line. All further steps should be processed in the appropriate order. Only in this case is a consistent review possible, which also ensures compliance with absolute values. In a subdivision into a, b the order is not decisive. Checks of serial numbers 5a and 5b must be set before a step that processes TBU data (eg, # 9).

Nachdem die Taktfrequenz des SYS_CLK geprüft wurde (1) ist es wichtig zunächst den globalen Taktteiler zu prüfen. Damit ist der Takt CMU_GCLK geprüft (2). Die Aktivität der daraus abgeleiteten Takte sollte in der Monitor Einheit mittels Aktivitätsregister geprüft werden (3). Die Überprüfung der Taktverhältnisse sollte zwei Taktteiler gleichzeitig prüfen(4a,4b). Zusammen mit den vorangegangenen Schritten sind damit die Taktfrequenzen geprüft. Die Aktivität und Kontinuität der TBU Kanäle (5a,5b) ist immer vor einem Schritt vorzunehmen, in dem die TBU Werte benötigt werden. Im Schritt 6 wird der Zähler der Arbitrierung auf Fehler geprüft, Schritt 7 sichert die Benutzung der richtigen Adresse und Schritt 8 erkennt Fehler in den Daten.After checking the clock frequency of the SYS_CLK ( 1 ) it is important to first check the global clock divider. Thus the clock CMU_GCLK is checked ( 2 ). The activity of the derived clocks should be checked in the monitor unit by means of activity registers ( 3 ). The check of the clock ratios should check two clock divisors at the same time (4a, 4b). Together with the previous steps, the clock frequencies are checked. The activity and continuity of the TBU channels ( 5a , 5b) is always to be performed before a step in which the TBU values are required. In step 6 the arbitration counter is checked for errors, step 7 ensures the use of the correct address and step 8th detects errors in the data.

Mit Schritt 9 lässt sich einfach die Aktivität der des MCS und daraus abgeleitet (wenn benutzt) die der ARU und der Datenquelle bestimmen. Im Schritt 10 schließlich kann man die absolute Umlaufzeit der ARU messen, wenn die TBU Kontinuität und der Wert der TBU Daten gesichert sind.With step 9 it is easy to deduce the activity of the MCS and from it (if used) those of the ARU and the data source. In step 10 Finally, the absolute cycle time of the ARU can be measured if the TBU continuity and the value of the TBU data are secured.

2 zeigt in einem Blockschaltbild eine Taktverwaltungseinheit bzw. CMU (Clock Management Unit), wie diese bspw. in einem generischen Zeitgebermodul bzw. GTM (Generic Timer Module) zur Anwendung kommt und insgesamt mit der Bezugsziffer 210 bezeichnet ist. Die Darstellung zeigt einen ersten Block EGU (external clock generation unit) 212, einen zweiten Block CFGU (configurable clock generation unit) 214 und einen dritten Block FXU (fixed clock generation unit) 216. 2 shows in a block diagram a clock management unit or CMU (Clock Management Unit), as this example, in a generic timer module or GTM (Generic Timer Module) is used and in total with the reference numeral 210 is designated. The illustration shows a first block EGU (external clock generation unit) 212 , a second block CFGU (configurable clock generation unit) 214 and a third block FXU (fixed clock generation unit) 216 ,

In der EGU 212 sind drei Taktteiler 220 vorgesehen. In der CFGU 214 ist ein globaler Taktteiler 230 vorgesehen, an dessen Eingang 232 ein Signal CLS0_CLK, der Systemtakt, angelegt wird und an dessen Ausgang 234 ein Signal GCLK_EN ausgegeben wird, das wiederum an weitere Taktteiler 236, die von einer Steuerung 238 gesteuert werden und an ihren Ausgängen 237 Signale ausgeben, gegeben wird. Der vom globalen Taktteiler 230 ausgegebene Takt wird somit weiter verarbeitet. In der FXU 216 sind weitere Teiler 240 mit Ausgängen 241 vorgesehen. Dabei verarbeitet auch der Block EGU 212 den Systemtakt CLS0_CLK und erzeugt damit mittelbar Taktsignale, die nach extern ausgegeben werden und wie vorstehend beschrieben die Aktivität oder sogar die Frequenz des CLS0_CLK Takts durch eine externe Überwachungseinheit überprüfbar machen. Im Block CFGU 214 sind die Teilerverhältnisse der Taktteiler 236 programmierbar und damit sind die dort ausgegebenen Takte in ihrer Frequenz variabel einstellbar. Die im Block FXU 216 ausgegebenen Takte sind dagegen in ihrer Frequenz zueinander fest, weil die Teiler 240 nicht variabel sind.In the EGU 212 are three clock divisors 220 intended. In the CFGU 214 is a global clock divider 230 provided, at the entrance 232 a signal CLS0_CLK, the system clock, is applied and at its output 234 a signal GCLK_EN is output, which in turn to another clock divider 236 coming from a controller 238 be controlled and at their outputs 237 Output signals is given. The global clock divider 230 output clock is thus processed further. In the FXU 216 are further divisors 240 with outputs 241 intended. The block also processes EGU 212 the system clock CLS0_CLK and thus indirectly generates clock signals that are externally output and, as described above, make the activity or even the frequency of the CLS0_CLK clock verifiable by an external monitoring unit. In the block CFGU 214 the divider ratios are the clock divisors 236 programmable and thus the clocks output there are variably adjustable in their frequency. The in block FXU 216 output clocks, however, are fixed in frequency to each other, because the divider 240 are not variable.

In dem GTM ist der globale Taktteiler 230 in der CMU 210 als fraktionaler Teiler ausgeführt ist und dient dazu, den Systemtakt CLS0_CLK in einen weiten programmierbaren Teilerbereich herunterzuteilen. Der dadurch generierte zentrale Takt GCLK_EN wird als Basistakt für alle weiteren internen Takte benutzt. Dabei ist zu beachten, dass dieser Takt keine konstante Periode hat, sondern durch die Realisierung mit geringem schaltungstechnischen Aufwand Perioden generiert, die ab und zu eine Systemtaktperiode länger sind, als die minimale Periode. Das ist kein Fehler, sondern dient insbesondere dazu, das nichtganze Teilerverhältnis im Mittel einfach realisieren zu können. Es ist weiterhin zu berücksichtigen, dass ein Fehler im globalen Teiler sich unmittelbar auf alle Taktsignale auswirkt. Dieser Fehler wirkt unter Umständen als sogenannter Common Cause Fehler in redundant ausgeführten Verarbeitungseinheiten, der seine eigene Entdeckung dadurch maskieren kann, wenn die redundanten Verarbeitungseiheiten mit einem gleich falschen Taktsignal arbeiten. Ein Vergleich der Ausgänge dieser redundanten Verarbeitungseinheiten kann nicht zu Entdeckung dieses Fehlers beitragen. Es hat sich gezeigt, dass solche Fehler besonders kritisch in sicherheitsrelevanten Anwendungen sind und dort das Risiko für eine Verletzung des Sicherheitsziels mit sich bringen.In the GTM is the global clock divider 230 in the CMU 210 is designed as a fractional divider and serves to divide the system clock CLS0_CLK into a wide programmable divider range. The central clock GCLK_EN generated thereby is used as base clock for all further internal clocks. It should be noted that this clock has no constant period, but generated by the realization with little circuitry effort periods that are now and then a system clock period longer than the minimum period. This is not a mistake, but serves in particular to be able to easily realize the non-integral divisor ratio on average. It must also be considered that an error in the global divider has an immediate effect on all clock signals. This error may act as a so-called common cause error in redundantly executing processing units that may mask its own discovery when the redundant processing units are operating with an equally wrong clock signal. A comparison of the outputs of these redundant processing units can not contribute to the discovery of this error. It has been shown that such errors are particularly critical in security-relevant applications and there bring with them the risk of breaching the security goal.

Es wurde erkannt, dass es wichtig ist, die Periodendauer in den vorgegebenen Grenzen genau zu überwachen, um jede Abweichung sofort zu entdecken. Eine externe Überwachung hat keinen Zugriff auf den zentrale Takt GCLK_EN und kann nur indirekt über weitere Takte erfolgen, die erst aus diesem Takt durch weitere Teilung gewonnen werden. Dadurch ist keine genaue Zuordnung des Fehlers zum jeweiligen Teiler möglich und die Taktperiode kann durch die Anwendung von mehreren Teilern nacheinander sehr lang werden. Das würde im Extremfall einen Zähler mit enorm sehr großer Bitbreite erfordern. Diesen Aufwand kann man durch das erfindungsgemäße Überprüfen des globalen Taktteilers sehr stark reduzieren.It has been recognized that it is important to closely monitor the period within the given limits to immediately detect any deviation. External monitoring has no access to the central clock GCLK_EN and can only be done indirectly via further clocks, which are only obtained from this clock by further division. As a result, no exact assignment of the error to the respective divider is possible and the clock period can be very long by the application of several dividers in succession. In extreme cases, this would require a counter with enormously very large bit width. This effort can be greatly reduced by checking the global clock divider according to the invention.

Das Teilerverhältnis des globalen Taktteilers 230 wird nunmehr permanent durch eine Zusatz-Hardware, in diesem Fall die vorgestellte Schaltungsanordnung, geprüft. Dadurch ist es auch möglich, die Auswirkungen von transienten Fehlern, sogenannten Soft-Errors, in den Parameter-Registern unmittelbar zu entdecken. Solche Register sind bspw. der Zähler NUM und der Nenner DEN des fraktionalen Teilers. Es werden lediglich ein zusätzliches Vergleichsregister mit einer vorgegebenen minimalen Anzahl von Systemtaktperioden sowie ein entsprechender Zähler mit der entsprechenden Bitbreite benötigt. Da der globale Taktteiler 230 nur ein Zwischensignal ausgibt, das bei der Generierung der Takte weiter geteilt wird, kann die Bitbreite deutlich geringer ausfallen als in dem Fall, bei dem der ganze Taktteiler getestet wird.The divider ratio of the global clock divider 230 is now permanently checked by an additional hardware, in this case, the proposed circuitry. This also makes it possible to immediately detect the effects of transient errors, so-called soft errors, in the parameter registers. Such registers are, for example, the counter NUM and denominator DEN of the fractional divider. Only one additional compare register with a predetermined minimum number of system clock periods and a corresponding counter with the corresponding bit width are needed. Because the global clock divider 230 outputting only an intermediate signal, which is further divided in the generation of the clocks, the bit width can be significantly lower than in the case where the whole clock divider is tested.

Im globalen Taktteiler 230 wird der Systemtakt CLS0_CLK zur Generierung des globalen Takt-Enable-Signals GCLK_EN so geteilt, dass die Periodendauer T wie folgt bestimmt werden kann: T GCLK_EN = ( NUM / DEN ) * T CLS0_CLK

Figure DE102017207977A1_0001
In the global clock divider 230 the system clock CLS0_CLK is divided to generate the global clock enable signal GCLK_EN so that the period T can be determined as follows: T GCLK_EN = ( NUM / THE ) * T CLS0_CLK
Figure DE102017207977A1_0001

Dabei sind die Parameter NUM (Numerator) und DEN (Denominator) jeweils in 24 Bit breiten Registern gespeichert. Hierbei ist zweckmäßig, ein Aktivierungs- bzw. Enable-Signal für den globalen Takt zu generieren, weil durch Laufzeiten im Teiler Verzögerungen entstehen.The parameters NUM (numerator) and DEN (denominator) are each in 24 Bit wide registers stored. In this case, it is expedient to generate an activation or enable signal for the global clock, because delays occur due to delays in the divider.

3 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 310 bezeichnet ist. Die Darstellung zeigt eine Anzahl an TBU-Kanälen 312, in denen jeweils eine Zeit- oder Winkelbasis 314 und eine Steuerung 316 vorgesehen ist. Die Zeit- oder Winkelbasis 314 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 320 und ein Register BASE_CAPTURE 322 vorgesehen, wenn es sich um einen Modulo-Zähler der Zeit- oder Zustandsbasis handelt. Dabei wird immer geprüft (Vergleicher 321), ob ein bestimmter Wert der Zeit- oder Winkelbasis BASE_MARK 320 erreicht ist und dann die Zeit- oder Winkelbasis 314 auf den Wert 0 zurückgesetzt. 3 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 310 is designated. The illustration shows a number of TBU channels 312 in each of which a time or angle basis 314 and a controller 316 is provided. The time or angle base 314 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 320 and a register BASE_CAPTURE 322 provided that it is a modulo counter of the time or state basis. It is always checked (comparator 321 ), whether a given value of the time or angle BASE_MARK 320 is reached and then the time or angle base 314 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 312a, weil dort nur Inkrementieren möglich ist)
  • bei der TBU1, 2: 0, +1 oder -1, (TBU-Kanal 312b, weil dort ein Inkrementieren und Dekrementieren möglich ist)
  • bei der TBU3: 0, +1 oder -1, (TBU-Kanal 312c, weil dort ein Inkrementieren und Dekrementieren möglich ist)
  • weil bei den letzteren auch eine Rückwärtsrichtung möglich ist.
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 312a because only incrementing is possible there)
  • at the TBU1, 2: 0, +1 or -1, (TBU channel 312b because it allows incrementing and decrementing)
  • at the TBU3: 0, +1 or -1, (TBU channel 312c because it allows incrementing and decrementing)
  • because in the latter also a reverse direction is possible.

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

In 3 wird dem oberen TBU-Kanal 312a ein Signal 323 mit 27 Bit ausgegeben, in den beiden mittleren TBU-Kanälen 312a, b (TBU1 und TBU2) wird jeweils ein Signal 325 mit 24 Bits ausgegeben und in dem unteren TBU-Kanal 312c (TBU3) wird ein 24 Bit Signal ausgegeben.In 3 becomes the upper TBU channel 312a a signal 323 With 27 Bit output, in the two middle TBU channels 312a , b (TBU1 and TBU2) each become a signal 325 With 24 Bits are output and in the lower TBU channel 312c (TBU3) becomes one 24 Bit signal output.

Claims (10)

Verfahren zum Überwachen eines Zeitgebermoduls (10), das mindestens einen Taktteiler (220, 236, 240), mindestens eine Zustandsbasis, die durch Impulse inkrementiert oder dekrementiert wird und diese Impulse Informationen über Eigenschaften eines Systems umfassen, und mindestens eine Datenübertragungseinrichtung (80), die mindestens eine Datenübertragung pro Zeiteinheit ermöglicht und eine Datenübertragung zwischen ersten und zweiten Modulen vornimmt, aufweist, wobei das Zeitgebermodul (10) mit mindestens einem abgeleiteten Takt betrieben wird, der von einem Systemtakt mittels des mindestens einen Taktteilers (220, 236, 240) abgeleitet wird, wobei zur Überwachung des Zeitgebermoduls (10) eine Anzahl von Prüfschritten durchgeführt wird, wobei in einem ersten Prüfschritt eine Prüfung hinsichtlich einer Taktgebung des Zeitgebermoduls (10) durchgeführt wird, in einem zweiten Prüfschritt die mindestens eine Zustandsbasis und in einem dritten Prüfschritt die mindestens eine Datenübertragungseinrichtungen (80) geprüft werden.A method of monitoring a timer module (10) comprising at least one clock divider (220, 236, 240), at least one state base incremented or decremented by pulses, and including information about system characteristics, and at least one data transfer device (80), the at least one data transmission per unit time allows and carries out a data transmission between first and second modules, wherein the timer module (10) is operated with at least one derived clock derived from a system clock by means of the at least one clock divider (220, 236, 240) in which a number of checking steps are carried out for monitoring the timer module (10), wherein in a first checking step a check is made with respect to a clocking of the timer module Timer module (10) is performed, in a second test step the at least one state basis and in a third test step, the at least one data transmission means (80) are checked. Verfahren nach Anspruch 1, bei dem die Frequenz des Systemtakts mittels Verarbeitung und Ausgabe unter zu Hilfenahme einer unabhängigen Zeitbasis geprüft wird.Method according to Claim 1 in which the frequency of the system clock is checked by means of processing and output with the aid of an independent time base. Verfahren nach Anspruch 1 oder 2, bei dem Teilerverhältnisse zwischen dem Systemtakt und dem mindestens einen abgeleiteten Takts so geprüft werden, dass eine Taktfrequenz dieser abgeleiteten Takte damit bestimmbar ist.Method according to Claim 1 or 2 in which division ratios between the system clock and the at least one derived clock are checked in such a way that a clock frequency of these derived clocks can thus be determined. Verfahren nach einem der Ansprüche 1 bis 3, bei dem zur Überwachung der mindestens einen Zustandsbasis in mindestens einem Speicher die Zustandsbasis mit einem Systemtakt periodisch zwischenzuspeichern ist, wobei mit mindestens einem Vergleicher (321) die aktuelle Zustandsbasis mit der einen Systemtakt zuvor zwischengespeicherten Zustandsbasis verglichen wird, wobei anhand dieses Vergleichs ein Fehler erkannt wird.Method according to one of Claims 1 to 3 in which, for monitoring the at least one state basis in at least one memory, the state basis is temporarily stored with a system clock, wherein the current state basis is compared with the state base previously buffered by a system clock with at least one comparator (321), an error being detected on the basis of this comparison becomes. Verfahren nach einem der Ansprüche 1 bis 4, bei dem zur Überwachung der mindestens einen Zustandsbasis in einen Speicher der Zustand der Zustandsbasis periodisch zwischengespeichert wird und mit mindestens einem Vergleicher (321) der Zustand der Zustandsbasis vor der Zwischenspeicherung, der in dem Speicher gespeichert ist, mit dem Zustand der Zustandsbasis nach der Zwischenspeicherung verglichen wird und anhand des Vergleichs einen Fehler erkannt wird.Method according to one of Claims 1 to 4 in which, for monitoring the at least one state basis in a memory, the state of the state basis is periodically buffered, and with at least one comparator (321) the state of the state basis before the buffer stored in the memory with the state of the state basis after the buffering is compared and an error is detected based on the comparison. Verfahren nach einem der Ansprüche 1 bis 5, bei dem zum Überprüfen einer Adresse bei einer Datenübertragung, die mit der mindestens einen Datenübertragungseinrichtung (80) erfolgt, die Adresse mit mindestens einem zusätzlichen Codebit versehen wird, das eine Fehlererkennung ermöglicht, wobei im Falle einer Anforderung zur Datenübertragung die Adresse zusammen mit diesen Codebits zu übertragen wird und die Adresse unter Berücksichtigung des mindestens einen Codebits überprüft wird.Method according to one of Claims 1 to 5 in which, in order to check an address in a data transmission which takes place with the at least one data transmission device (80), the address is provided with at least one additional code bit enabling error detection, wherein in the case of a request for data transmission the address together with these code bits is transmitted and the address is checked taking into account the at least one code bit. Verfahren nach einem der Ansprüche 1 bis 6, bei dem zur Überwachung mindestens eines Zählers für die mindestens eine Datenübertragungseinrichtung (80), wobei der mindestens eine Zähler nacheinander Module für die Datenübertragung adressiert, wobei in mindestens einen Speicher wenigstens ein Zählerstand mit einem Systemtakt periodisch gespeichert wird, wobei mit mindestens einem Vergleicher (321) der aktuelle Zählerstand mit dem einen Systemtakt zuvor gespeicherten Zählerstand verglichen wird und anhand dieses Vergleichs einen Fehler erkannt wird.Method according to one of Claims 1 to 6 in which for monitoring at least one counter for the at least one data transmission device (80), wherein the at least one counter successively addresses modules for data transmission, wherein at least one counter is periodically stored in at least one memory with a system clock, wherein at least one comparator ( 321) the current counter reading is compared with the one meter clock previously stored counter reading and based on this comparison an error is detected. Verfahren nach einem der Ansprüche 1 bis 7, bei dem bei dem zur Überwachung mindestens eines Zählers für die mindestens eine Datenübertragungseinrichtung (80), wobei der mindestens eine Zähler nacheinander Module für die Datenübertragung adressiert, in mindestens einem Speicher die Zustandsbasis mit einem Systemtakt periodisch zwischenzuspeichern ist, wobei mit mindestens einem Vergleicher der Zählerstand vor der Zwischenspeicherung, der in dem Speicher gespeichert ist, mit dem Zählerstand nach der Zwischenspeicherung zu vergleichen und anhand dieses Vergleichs ein Fehler erkannt wird.Method according to one of Claims 1 to 7 in which, for monitoring at least one counter for the at least one data transmission device (80), wherein the at least one counter successively addresses modules for data transmission, the state basis is to be buffered periodically in at least one memory with a system clock, wherein with at least one comparator of Count before caching, which is stored in the memory to compare with the count after caching and based on this comparison, an error is detected. Verfahren nach einem der Ansprüche 1 bis 8, bei dem Daten überwacht werden, die bei einer Datenübertragung mit der mindestens einen Datenübertragungseinrichtung (80) übertragen werden, wobei die Daten mit mindestens einem zusätzlichen Codebit versehen werden, das eine Fehlererkennung ermöglicht, wobei im Falle einer Anforderung zur Datenübertragung die Daten zusammen mit diesen Codebits übertragen werden und die Daten unter Berücksichtigung des mindestens einen Codebits überprüft werden.Method according to one of Claims 1 to 8th in which data is monitored, which are transmitted in a data transmission with the at least one data transmission device (80), wherein the data is provided with at least one additional code bit, which allows error detection, wherein in the case of a request for data transmission, the data together with these Code bits are transmitted and the data are checked taking into account the at least one code bit. Schaltungsanordnung zum Überwachen eines Zeitgebermoduls (10), die zur Durchführung eines Verfahrens nach einem der Ansprüche 1 bis 9 eingerichtet ist.Circuit arrangement for monitoring a timer module (10), which is used to carry out a method according to one of the Claims 1 to 9 is set up.
DE102017207977.0A 2017-05-11 2017-05-11 Method for monitoring a timer module Pending DE102017207977A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102017207977.0A DE102017207977A1 (en) 2017-05-11 2017-05-11 Method for monitoring a timer module

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102017207977.0A DE102017207977A1 (en) 2017-05-11 2017-05-11 Method for monitoring a timer module

Publications (1)

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

Family

ID=63962340

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017207977.0A Pending DE102017207977A1 (en) 2017-05-11 2017-05-11 Method for monitoring a timer module

Country Status (1)

Country Link
DE (1) DE102017207977A1 (en)

Similar Documents

Publication Publication Date Title
DE69030528T2 (en) Method and arrangement for testing circuit boards
DE69815686T2 (en) TIMER WITH A SHORT RECOVERY TIME BETWEEN THE PULSE
DE112018004541T5 (en) Fault-tolerant clock monitoring system
DE2625545A1 (en) AUTOMATIC PULSE CALIBRATION DEVICE
DE602005002931T2 (en) Testing a test object with sampling of the clock signal and the data signal
DE102014204128A1 (en) Electronic unit for a vehicle communication interface
DE69816818T2 (en) MAJORITY DECISION DEVICE AND CORRESPONDING METHOD
EP0766092B1 (en) Testable circuit with multiple identical circuit blocks
DE112009003680T5 (en) Method for determining the frequency or period of a signal
DE102012105159B4 (en) Fault-tolerant memory
DE69517604T2 (en) TIMER WITH MULTIPLE COHERENT SYNCHRONIZED CLOCKS
WO2011120802A1 (en) Method for testing signal and module activites in a timer module and timer module
EP0108414B1 (en) Device for testing a large scale integrated microprogramme-controlled electronic component
DE10336585B4 (en) Real-time interrupt module for operating systems and time-triggered applications
EP0012185B1 (en) Test circuit for synchronously operating clock generators
DE10243765A1 (en) Semiconductor device with delay correction function
DE102006002735B3 (en) Duty cycle correction device, especially for DRAM DDRx memory has two delay devices for stepwise varying of the delay between rising and falling flanks, or vice versa, until the signal oscillation is lost for use in evaluation
DE102017207977A1 (en) Method for monitoring a timer module
EP0564923A2 (en) Method and device for phase measuring
WO2011120798A1 (en) Hardware data processing unit and method for monitoring a cycle duration of a routing unit
DE10018190C2 (en) Switch seamlessly between two oscillator precision clocks
EP1025501A1 (en) Method and device for checking an error control procedure of a circuit
DE102017207978A1 (en) Method for monitoring a state basis
DE112020002008T5 (en) SYNCHRONOUS RESET SIGNAL GENERATION CIRCUIT AND DIGITAL PROCESSING DEVICE
DE60200289T2 (en) Transition adjustment

Legal Events

Date Code Title Description
R012 Request for examination validly filed