DE10330328B4 - Method and device for processing data at different clock signals - Google Patents

Method and device for processing data at different clock signals Download PDF

Info

Publication number
DE10330328B4
DE10330328B4 DE2003130328 DE10330328A DE10330328B4 DE 10330328 B4 DE10330328 B4 DE 10330328B4 DE 2003130328 DE2003130328 DE 2003130328 DE 10330328 A DE10330328 A DE 10330328A DE 10330328 B4 DE10330328 B4 DE 10330328B4
Authority
DE
Germany
Prior art keywords
clock signal
time
signal
edge
clk1
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.)
Expired - Fee Related
Application number
DE2003130328
Other languages
German (de)
Other versions
DE10330328A1 (en
Inventor
Leo Aichriedler
Benoit Picaud
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE2003130328 priority Critical patent/DE10330328B4/en
Publication of DE10330328A1 publication Critical patent/DE10330328A1/en
Application granted granted Critical
Publication of DE10330328B4 publication Critical patent/DE10330328B4/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/08Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations, the intermediate ones not being accessible for either enqueue or dequeue operations, e.g. using a shift register
    • 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/12Synchronisation of different clock signals provided by a plurality of clock generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/24Testing correct operation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

Verfahren zum Verarbeiten von Daten einer Datenquelle (10), die im Takt eines ersten Taktsignals (CLK1) zur Verfügung stehen, nach Maßgabe eines zweiten Taktsignals (CLK2), wobei das Verfahren für jede Taktperiode des zweiten Taktsignals (CLK2) folgende Verfahrensschritte umfasst:
– Verzögern des zweiten Taktsignals (CLK2) um eine vorgegebene Verzögerungszeit (td1) zur Bereitstellung eines dritten Taktsignals (CLK22) und Verarbeiten der Daten im Takt des dritten Taktsignals (CLK22),
– Auswerten der zeitlichen Lage einer vorgegebenen Flanke des ersten Taktsignal (CLK1) in Bezug auf eine erste Flanke des dritten Taktsignals (CLK21),
– Bereitstellen eines Prüfsignals (CS), das abhängig davon, ob die vorgegebene Flanke des ersten Taktsignals (CLK1) innerhalb eines vorgegebenen Zeitfensters liegt, das die erste Flanke des dritten Taktsignals (CLK21) umfasst, einen ersten oder einen zweiten Wert annimmt.
Method for processing data from a data source (10) which are available at the rate of a first clock signal (CLK1) in accordance with a second clock signal (CLK2), the method comprising the following method steps for each clock period of the second clock signal (CLK2):
Delaying the second clock signal (CLK2) by a predetermined delay time (td1) to provide a third clock signal (CLK22) and processing the data in time with the third clock signal (CLK22),
Evaluating the temporal position of a predetermined edge of the first clock signal (CLK1) with respect to a first edge of the third clock signal (CLK21),
- Providing a test signal (CS) which, depending on whether the predetermined edge of the first clock signal (CLK1) is within a predetermined time window, which includes the first edge of the third clock signal (CLK21) assumes a first or a second value.

Figure 00000001
Figure 00000001

Description

Die vorliegende Erfindung betrifft ein Verfahren und eine Vorrichtung zur Verarbeitung von Daten, die im Takt eines ersten Taktsignals zur Verfügung stehen, nach Maßgabe eines zweiten Taktsignals.The The present invention relates to a method and an apparatus for processing data in time with a first clock signal be available, in accordance with a second clock signal.

Insbesondere bei komplexeren digitalen Systemen, wie beispielsweise System-ASICs, kommt es vor, dass verschiedene Teile oder Module des Systems von unterschiedlichen Taktsignalen gespeist werden, die untereinander nicht synchronisiert sind, die also keine definierte Frequenz- oder Phasenbeziehung haben. Bei solchen Systemen werden beispielweise Daten durch eine beliebig ausgebildete Datenquelle, die durch ein erstes Taktsignal getaktet ist, zur Verfügung gestellt und sollen durch eine Verarbeitungsschaltung, die durch ein zweites Taktsignal getaktet ist, weiterverarbeitet werden.Especially in more complex digital systems, such as system ASICs It is that different parts or modules of the system of different Fed clock signals that are not synchronized with each other, which therefore have no defined frequency or phase relationship. In such systems, for example, data by any a trained data source clocked by a first clock signal, to disposal and are supposed to be processed by a processing circuit a second clock signal is clocked, be further processed.

Eine Verarbeitung der Daten im Takt des zweiten Taktsignals bedeutet am Eingang der weiterverarbeitenden Schaltung, dass die Daten jeweils mit vorgegebenen Flanken des zweiten Taktsignals, beispielsweise jeweils den steigenden Flanken, durch diese Schaltung übernommen, beispielsweise in einem Register gespeichert werden. Hierfür ist es erforderlich, dass sich die zu übernehmenden Daten eine bestimmte Zeitspanne vor und eine bestimmte Zeitspanne nach diesen ersten Flanken des zweiten Taktsignals nicht ändern, da es sonst zu einer fehlerhaften Datenübernahme kommen kann, wie nachfolgend anhand der 1 und 2 erläutert ist.A processing of the data in time with the second clock signal means at the input of the further processing circuit that the data are respectively taken over predetermined edges of the second clock signal, for example the rising edges, by this circuit, for example stored in a register. For this purpose, it is necessary that the data to be transferred does not change a certain period of time before and a certain period of time after these first edges of the second clock signal, since otherwise incorrect data transfer may occur, as described below with reference to FIG 1 and 2 is explained.

1 zeigt ein Beispiel einer Schaltung mit zwei unterschiedlichen Domänen, die durch zwei sich unterscheidende, nicht miteinander synchronisierte Taktsignale CLK10, CLK20 getaktet werden. Eine Datenquelle 100 ist in dem Beispiel durch ein Register bzw. D-Flip-Flop 100 gebildet, dem Daten D_in an seinem Dateneingang 1D und das erste Taktsignal CLK10 an seinem Takteingang C1 zugeführt sind. Das Flip-Flop 100 übernimmt im Takt des ersten Taktsignals CLK10 jeweils mit dessen steigender Flanke die Daten des Datensignals D_in und stellt diese jeweils für eine Taktperiode des Taktsignals CLK10 gespeicherten Daten als gespeichertes Signal Q100 an seinem Ausgang Q zur Verfügung. Diese von der Datenquelle 100 im Takt des ersten Taktsignals CLK10 bereitgestellten Daten werden von einer Datensenke 200 übernommen, die in dem Beispiel ebenfalls als Register bzw. als D-Flip-Flop ausgebildet ist, dessen Dateneingang 1D das Signal Q100 zugeführt ist. Die Datensenke 200 übernimmt diese gespeicherten Daten Q100 im Takt des zweiten Taktsignals CLK20, das mit dem ersten Taktsignal CLK10 nicht synchronisiert ist. 1 Figure 4 shows an example of a circuit having two different domains clocked by two differing unsynchronized clock signals CLK10, CLK20. A data source 100 is in the example by a register or D flip-flop 100 formed, the data D_in at its data input 1D and the first clock signal CLK10 are supplied to its clock input C1. The flip-flop 100 takes over the data of the data signal D_in in the rhythm of the first clock signal CLK10, each time with its rising edge, and makes available these data, which are respectively stored for a clock period of the clock signal CLK10, as a stored signal Q100 at its output Q. This from the data source 100 Data provided in time with the first clock signal CLK10 are from a data sink 200 taken, which is also formed in the example as a register or as a D-type flip-flop whose data input 1D, the signal Q100 is supplied. The data sink 200 takes this stored data Q100 in time with the second clock signal CLK20, which is not synchronized with the first clock signal CLK10.

2 zeigt beispielhaft untereinander dargestellt zeitliche Verläufe des Datensignals D_in, des ersten Taktsignals CLK10, des Datenspeichersignals Q100 des zweiten Taktsignals CLK20 und des Ausgangssignals Q200 des Registers 200, wobei dieses Flip-Flop 200 beispielsweise als Eingangsschaltung für eine die eingehenden Daten Q100 weiterverarbeitende Schaltung dient. 2 shows, by way of example, time profiles of the data signal D_in, the first clock signal CLK10, the data memory signal Q100 of the second clock signal CLK20 and the output signal Q200 of the register 200 , this flip-flop 200 For example, serves as an input circuit for the incoming data Q100 further processing circuit.

Wie in 2 dargestellt ist, übernimmt das als Datenquelle fungierende Register 100 im Takt des ersten Taktsignals CLK10 jeweils mit steigenden Flanken dieses Taktsignals CLK10 das Eingangssignal D_in und stellt Daten im Takt dieses Taktsignals CLK10 an seinem Ausgang zur Verfügung. Bei der Übernahme der Daten muss dabei gewährleistet sein, dass eine bestimmte Zeitdauer vor der steigenden Flanke des Taktsignals CLK10, die als Setup-Zeit bezeichnet wird, und eine bestimmte Zeitdauer nach dieser steigenden Flanke, die als Haltezeit bezeichnet wird, das Datensignal D_in seinen Pegel nicht ändert, da es sonst zu einer nicht korrekten Datenübernahme kommen kann.As in 2 is represented, acts as the data source acting register 100 to the clock of the first clock signal CLK10 each with rising edges of this clock signal CLK10 the input signal D_in and provides data in the clock of this clock signal CLK10 at its output. In the acquisition of the data must be ensured that a certain period of time before the rising edge of the clock signal CLK10, which is referred to as setup time, and a certain period of time after this rising edge, referred to as hold time, the data signal D_in its level does not change, because otherwise it can lead to an incorrect data transfer.

Das im Takt des ersten Taktsignals CLK10 vorliegende Datensignal Q100 wird im Takt des zweiten Taktsignals CLK20 von dem als Datensenke fungierenden Flip-Flop 200 übernommen. In 2 sind drei solcher Taktzyklen des zweiten Taktsignals CLK20 vollständig dargestellt, wobei diese Taktzyklen zu Zeitpunkten t1, t2 und t3 beginnen. Zu den Zeitpunkten t1, t2 wird das gespeicherte Signal Q100 dabei korrekt von der Datensenke 200 übernommen. Zum Zeitpunkt t3 jedoch kommt es zu einer Timing-Verletzung, da sich das Datensignal Q100 innerhalb des durch die Setup-Zeit und die Haltezeit definierten Zeitfensters ändert, so dass keine korrekte Datenübernahme gewährleistet werden kann. Das Ausgangssignal Q200 ist in diesem Fall unbestimmt, bis es mit Beginn des nächsten Taktzyklusses wieder zu einer korrekten Datenübernahme kommen kann. Derartige undefinierte Ausgangszustände der Datensenke, die auch als metastabile Zustände bezeichnet werden, können sich als metastabiler Zustand im darin angeschlossenen System fortsetzen, was zu Instabilitäten führen kann.The present in time with the first clock signal CLK10 data signal Q100 is in the clock of the second clock signal CLK20 from acting as a data sink flip-flop 200 accepted. In 2 For example, three such clock cycles of the second clock signal CLK20 are fully illustrated, these clock cycles beginning at times t1, t2, and t3. At the times t1, t2, the stored signal Q100 is correct from the data sink 200 accepted. At timing t3, however, there is a timing violation because the data signal Q100 changes within the time window defined by the setup time and the hold time, so that correct data transfer can not be ensured. In this case, the output signal Q200 is indefinite until correct data transfer can start again at the beginning of the next clock cycle. Such undefined output states of the data sinks, which are also referred to as metastable states, can continue as a metastable state in the system connected therein, which can lead to instabilities.

Herkömmliche Lösungsansätze für dieses Problem, die beispielsweise in Chelcea, Tiberiu et al.: Robust Interfaces for Mixed-Timing Systems with Application to Latency-Insensitive Protocols. Las Vegas, DAC 2001, oder Moore, Simon et al.: Channel Communication Between Independent Clock Domains; First AciD-WG Workshop of the European Commission's Fifth Framework Programme; Neuchatel, CH 2001, beschrieben sind, sehen einen Handshake entweder zwischen der Datenquelle und der Datensenke oder zwischen der Datensenke und der das zweite Taktsignal CLK2 erzeugenden Schaltungseinheit vor. Diese Lösungen zeichnen sich in der Regel durch einen vergleichsweise hohen Schaltungsaufwand aus.Traditional approaches to solving this problem are described, for example, in Chelcea, Tiberiu et al .: Robust Interfaces for Mixed-Timing Systems with Application to Latency Insensitive Protocols. Las Vegas, DAC 2001, or Moore, Simon et al .: Channel Communication Between Independent Clock Domains; First AciD-WG Workshop of the European Commission's Fifth Framework Program; Neuchatel, CH 2001, provide a handshake either between the data source and the data sink or between the data sink and the circuit unit generating the second clock signal CLK2. These solutions usually stand out by a comparatively high circuit complexity.

Es gibt Applikationen, bei denen eine durch die Asynchronität der beiden Taktsignale bewirkte Ungültigkeit übertragener Daten toleriert werden kann, so dass in diesem Fall keine Vorkehrungen zur Vermeidung/Detektierung solcher Timing-Verletzungen getroffen werden müssen. Andererseits gibt es sicherheitsrelevante Anwendungen, bei denen derartige Timing-Verletzungen unter allen Umständen vermieden oder zumindest erkannt werden müssen, und bei denen keine Handshake-Verfahren zur Anwendung vorgesehen sind. Derartige Anwendungen sind beispielsweise die in der Automobiltechnik verbreiteten Schaltungsanordnungen, bei denen Daten über eine sogenannte SPI-Schnittstelle (SPI = Seriell Parallel Interface) übertragen werden. Solchen Schnittstellen werden Daten in serieller Weise nach Maßgabe eines ersten Taktsignals zugeführt und im Takt eines zweiten Taktsignals in ein Eingangsregister der weiterverarbeitenden Schaltung eingelesen, um von dort parallel weiterverarbeitet werden zu können. Über derartige SPI-Schnittstellen werden beispielsweise Druck- und Beschleunigungsdaten von Sensoren eines Airbag-Systems übertragen, wobei die Übertragung ungültiger Daten bei einer solchen Anwendung zu einer nicht akzeptablen Verzögerung der Airbag-Auslösung oder zu Fehlauslösungen führen kann.It There are applications where one due to the asynchronicity of the two Clock signals caused invalidity of transferred Data can be tolerated, so in this case no precautions must be taken to avoid / detect such timing violations. on the other hand There are safety-related applications where such timing violations are taking place all circumstances avoided or at least must be detected, and where no handshake procedure for use are provided. Such applications are for example those in the automotive industry widespread circuit arrangements in which Data about one transmitted so-called SPI interface (SPI = serial parallel interface) become. Such interfaces become data in a serial way proviso supplied to a first clock signal and in the clock of a second clock signal in an input register of the further processing Circuit read in order to be further processed from there parallel to be able to. About such For example, SPI interfaces become print and acceleration data transmitted by sensors of an airbag system, wherein the transmission invalid Data in such an application to an unacceptable delay the airbag deployment or to false triggering can lead.

Die WO 89/00311 A1 beschreibt eine Schaltungsanordnung zur Bereitstellung eines verzögerten Taktsignals aus einem Haupttaktsignal. Die Anordnung umfasst eine Verzögerungsanordnung mit mehreren in Reihe geschalteten Verzögerungsgleidern, zwischen denen jeweils ein gegenüber dem Haupttaktsignal verzögertes Taktsignal zur Verfügung steht. Diese einzelnen unterschiedlich verzögerten Taktsignals sind einem Multiplexer zugeführt, der angesteuert durch ein Steuersignal eines dieser verzögerten Taktsignale ausfällt und einer Treiberschaltung zugeführt, die das verzögerte Taktsignal zur Verfügung stellt. Zur Einstellung der Verzögerungszeit zwischen dem Haupttaktsignal und dem bereitgestellten verzögerten Taktsignal ist eine Phasenkomparatoranordnung vorgesehen, der das am Ausgang zur Verfügung stehende verzögerte Taktsignal sowie ein von einer Referenzverzögerungsanordnung bereitgestelltes verzögertes Referenz-Taktsignal zugeführt sind. Die Phasenkomparatoranordnung vergleicht die Verzögerungszeiten dieser beiden Taktsignale in Bezug auf das Haupttaktsignal und steuert den Multiplexer an, um das verzögerte Taktsignal auszu wählen, welches zu einem Ausgangsignal führt, dessen Verzögerungszeit der Verzögerungszeit des Referenz-Taktsignals entspricht. Bei dieser bekannten Schaltung ist außerdem eine Fehlererkennungsschaltung vorgesehen, wenn keine Anpassung zwischen dem durch die Schaltungsanordnung bereietsgestellten Ausgangstaktsignal und dem Referenz-Taktsignal erreicht werden kann.The WO 89/00311 A1 describes a circuit arrangement for providing a delayed clock signal from a main clock signal. The arrangement comprises a delay arrangement with several delay gates connected in series, between them one opposite each other the main clock signal delayed Clock signal is available. These individual differently delayed clock signal are one Fed multiplexer, which is driven by a control signal of one of these delayed clock signals fails and supplied to a driver circuit, which delayed that Clock signal available provides. For setting the delay time between the main clock signal and the provided delayed clock signal a phase comparator arrangement is provided, which at the output to disposal standing delayed Clock signal as well as one provided by a reference delay arrangement delayed Reference clock signal supplied are. The phase comparator arrangement compares the delay times of these two clock signals with respect to the main clock signal and controls the Multiplexer on to the delayed Select clock signal, which leads to an output signal, its delay time the delay time of the Reference clock signal corresponds. In this known circuit is also an error detection circuit provided if no adjustment between the output clock signal provided by the circuit arrangement and the reference clock signal can be achieved.

Ziel der vorliegenden Erfindung ist es, ein Verfahren und eine Vorrichtung zum Verarbeiten von Daten einer Datenquelle, die im Takt eines ersten Taktsignals zur Verfügung stehen, nach Maßgabe eines zweiten Taktsignals zur Verfügung zu stellen, wobei ungültige Datenübertragungen sicher detektiert werden sollen, um beispielsweise im Falle einer ungültigen Übertragung eine erneute Datenübertragung veranlassen zu können.aim It is the object of the present invention to provide a method and an apparatus for processing data from a data source in time with a first clock signal to disposal stand, as required a second clock signal, with invalid data transfers be reliably detected, for example, in the case of a invalid transfer to initiate a new data transmission to be able to.

Dieses Ziel wird durch ein Verfahren gemäß Anspruch 1 und durch eine Schaltungsanordnung gemäß Anspruch 6 gelöst. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteranspüche.This The object is achieved by a method according to claim 1 and by a Circuit arrangement according to claim 6 solved. Advantageous embodiments are the subject of Unteranspüche.

Bei dem erfindungsgemäßen Verfahren zum Bearbeiten von Daten einer Datenquelle, die im Takt eines ersten Taktsignals zur Verfügung stehen, nach Maßgabe eines zweiten Taktsignals ist vorgesehen, das zweite Taktsignal um eine vorgegebene Verzögerungszeit zur Bereitstellung eines dritten Taktsignals zu verzögern und die im Takt des ersten Taktsignals zur Verfü gung stehenden Daten im Takt dieses aus dem zweiten Taktsignal abgeleiteten dritten Taktsignals zu verarbeiten. Das Verfahren sieht weiter vor, für jede Taktperiode des zweiten Taktsignals die zeitlichen Lagen einer vorgegebenen Flanke, beispielsweise der steigenden Flanke, des ersten Taktsignals in Bezug auf eine erste Flanke, beispielsweise die steigende Flanke, des dritten Taktsignals auszuwerten und ein Prüfsignal bereitzustellen, das abhängig davon, ob die vorgegebene Flanke des ersten Taktsignals innerhalb eines vorgegebenen Zeitfensters liegt, das die erste Flanke des dritten Taktsignals umfasst, einen ersten oder einen zweiten Wert annimmt.at the method according to the invention to edit data from a data source in time with a first Clock signal available stand, as required a second clock signal is provided, the second clock signal by a predetermined delay time to delay and provide a third clock signal the clock in the clock of the first clock available data available in time this derived from the second clock signal third clock signal to process. The method continues, for each clock period of the second clock signal, the temporal positions of a predetermined Edge, for example the rising edge, of the first clock signal with respect to a first flank, for example the rising flank, of the third clock signal and to provide a test signal, the dependent of whether the predetermined edge of the first clock signal within a predetermined time window, which is the first edge of the third clock signal comprises a first or a second value accepts.

Das Zeitfenster um die erste Flanke des dritten Taktsignals wird dabei vorzugsweise definiert durch die zeitlich vor der ersten Flanke des dritten Taktsignals liegende erste Flanke des zweiten Taktsignals und durch die erste Flanke eines vierten Taktsignals, das durch Zeitverzögerung aus dem dritten bzw. zweiten Taktsignal gebildet ist. In diesem Fall wird der Pegel des ersten Taktsignals zu einem ersten Zeitpunkt, der dem Zeitpunkt der ersten Flanke des zweiten Taktsignals entspricht, und zu einem zweiten Zeitpunkt, der dem Zeitpunkt der ersten Flanke des vierten Taktsignals entspricht, ermittelt, wobei das Prüfsignal derart erzeugt wird, dass es den ersten Wert annimmt, wenn sich der Pegel des ersten Taktsignals zum ersten Zeitpunkt vom Pegel des ersten Taktsignals zum zweiten Zeitpunkt unterscheidet, wenn zwischen diesen Zeitpunkten also ein Flankenwechsel des ersten Taktsignals stattgefunden hat.The Time window around the first edge of the third clock signal is doing preferably defined by the time before the first edge of the third clock signal lying first edge of the second clock signal and by the first edge of a fourth clock signal passing through Time Delay is formed from the third and second clock signal. In this Case becomes the level of the first clock signal at a first time, which corresponds to the time of the first edge of the second clock signal, and at a second time, the time of the first flank the fourth clock signal, determined, wherein the test signal is generated so that it assumes the first value when the level of the first clock signal at the first time of the level of the first clock signal at the second time differs when between these times so an edge change of the first clock signal took place.

Der wesentliche Aspekt des erfindungsgemäßen Verfahrens besteht darin, die im Takt des ersten Taktsignals zur Verfügung gestellten Daten zwar im Takt des zweiten Taktsignals, der auch dem Takt des dritten Taktsignals entspricht, jedoch unmittelbar abhängig von dem aus dem zweiten Taktsignal gebildeten dritten Taktsignal zu verarbeiten, und darin, zu überprüfen, ob innerhalb eines Zeitfensters um eine die Datenübernahme repräsentierende Flanke des dritten Signals ein Pe gelwechsel des ersten Taktsignals stattgefunden hat. Das Zeitfenster um die die Datenübernahme repräsentierende Flanke des dritten Taktsignals ist dabei größer als die Zeitdauer, für welche um diese Flanke ein sich nicht änderndes Datensignal gewährleistet werden muss, wobei diese Zeitdauer üblicherweise der Summe aus Setup-Zeit und Haltezeit entspricht. Potentielle Änderungen dieses Datensignals werden bei dem erfindungsgemäßen Verfahren anhand von Pegelwechseln des ersten Taktsignals identifiziert. Liegt ein solcher Pegelwechsel des ersten Taktsignals innerhalb des vorgegebenen Zeitfensters, so kann potentiell eine Änderung des Datensignals innerhalb der Setup- oder Haltezeit auftreten, was zu einer ungültigen Datenübernahme führen könnte. Ein derartiger Pegelwechsel des ersten Taktsignals innerhalb des vorgegebenen Zeitsignals wird deshalb durch das Prüfsignal angezeigt, um gegebenenfalls die Datenübertragung wiederholen zu können.Of the essential aspect of the method according to the invention is Although the data provided in the clock of the first clock signal in the Clock of the second clock signal, which is also the clock of the third clock signal corresponds, but directly dependent on that from the second Processing clock signal formed third clock signal, and therein to check if within a time window around a data transfer representing Edge of the third signal a Pe gelwechsel the first clock signal took place. The time window around the data transfer representing Flank of the third clock signal is greater than the time duration for which around this flank an unchanging one Data signal ensured which period is usually the sum of Setup time and hold time is equivalent. Potential changes This data signal in the inventive method based on level changes identified the first clock signal. Is such a level change the first clock signal within the predetermined time window, so potentially a change of the data signal within the setup or hold time, what an invalid Data Transfer to lead could. Such a level change of the first clock signal within the predetermined time signal is therefore due to the test signal displayed in order to be able to repeat the data transmission if necessary.

Die erfindungsgemäße Schaltungsanordnung zur Erzeugung eines Prüfsignals für das zuvor erläuterte Verfahren umfasst eine erste Verzögerungsschaltung zur Erzeugung eines dritten Taktsignals aus dem zweiten Taktsignal durch Verzögern des zweiten Taktsignals, Mittel zur Ermittlung eines Pegels des ersten Taktsignals zu einem ersten Zeitpunkt, eine vorgegebene erste Zeitdauer vor einer vorgegebenen ersten Flanke des dritten Taktsignals und zu einem zweiten Zeitpunkt eine vorgegebene Zeitdauer nach der vorgegebenen ersten Flanke des dritten Taktsignals, sowie Vergleichsmittel zum Vergleichen des Pegels des ersten Taktsignals zum ersten und zweiten Zeitpunkt und zum Bereitstellen des Prüfsignals abhängig von dem Vergleichsergebnis.The inventive circuit arrangement for generating a test signal for the previously explained Method includes a first delay circuit for generating a third clock signal from the second clock signal by delaying the second clock signal, means for determining a level of the first Clock signal at a first time, a predetermined first period of time before a predetermined first edge of the third clock signal and at a second time a predetermined time after the predetermined first edge of the third clock signal, as well as comparison means for Comparing the level of the first clock signal to the first and second Time and to provide the test signal depending on the comparison result.

Die Vergleichsmittel sind dabei vorzugsweise dazu ausgebildet, das Prüfsignal derart zu erzeugen, dass es einen ersten Wert aufweist, wenn der Pegel des ersten Taktsignals zum ersten und zweiten Zeitpunkt unterschiedlich ist, und dass es sonst einen zweiten Wert aufweist.The Comparative means are preferably designed to the test signal such that it has a first value when the level different from the first clock signal at the first and second times is, and that it otherwise has a second value.

Die erste Verzögerungsschaltung verzögert das zweite Taktsignal dabei vorzugsweise um diese erste Zeitdauer, so dass das zweite Taktsignal zur Ermittlung des Pegels des ersten Taktsignals zu dem ersten Zeitpunkt verwendet werden kann. Die Mittel zur Ermittlung des Pegels des ersten Taktsignals umfassen dabei ein erstes Speicherelement, das im Takt des zweiten Taktsignals den Pegel des ersten Taktsignals speichert und als ersten Vergleichswert an seinem Ausgang bereitstellt, ein zweites Verzögerungsglied, das das dritte Taktsignal um die zweite Zeitdauer verzögert, um ein viertes Taktsignal zur Verfügung zu stellen, und ein zweites Speicherelement, das im Takt des vierten Taktsignals den Pegel des ersten Taktsignals speichert und als zweiten Vergleichswert an seinem Ausgang bereitstellt.The first delay circuit delay that second clock signal preferably at this first time duration, so that the second clock signal for determining the level of the first Clock signal can be used at the first time. The means for Determining the level of the first clock signal include a first memory element, the clock in the second clock signal Level of the first clock signal stores and as a first comparison value provides at its output, a second delay element, which is the third Clock signal delayed by the second period of time to a fourth clock signal available too and a second memory element in time with the fourth Clock signal stores the level of the first clock signal and second Comparative value at its output provides.

Zur Erzeugung des Prüfsignals werden der erste und zweite Vergleichswert durch die Vergleicherschaltung miteinander verglichen, wobei diese Vergleicherschaltung vorzugsweise ein Exklusiv-ODER-Gatter aufweist, das ein Signal mit einem High-Pegel dann bereitstellt, wenn der erste und zweite Vergleichswert unterschiedlich sind, wenn also innerhalb des Zeitfensters ein Pegelwechsel des ersten Taktsignals stattgefunden hat, und das sonst ein Signal mit einem Low-Pegel zur Verfügung stellt.to Generation of the test signal become the first and second comparison value by the comparator circuit compared with each other, this comparator preferably an exclusive-OR gate, which then provides a signal with a high level, if the first and second comparison values are different, if so within the time window, a level change of the first clock signal has taken place, and otherwise a signal with a low level to disposal provides.

Vorzugsweise kann auch der momentane Pegel des ersten Taktsignals in die Erzeugung des Prüfsignals einbezogen werden.Preferably may also be the instantaneous level of the first clock signal in the generation the test signal be included.

Die vorliegende Erfindung wird nachfolgend anhand der beigefügten Figuren näher erläutert und in den Figuren zeigtThe The present invention will now be described with reference to the accompanying drawings explained in more detail and in the figures shows

1 eine Schaltungsanordnung mit einer durch ein erstes Taktsignal getakteten Datenquelle und einer durch ein zweites Taktsignal getakteten Datensenke nach dem Stand der Technik, 1 a circuit arrangement having a data source clocked by a first clock signal and a data sink clocked by a second clock signal according to the prior art,

2 beispielhafte Zeitverläufe ausgewählter Signale bei der Schaltung gemäß 1, 2 exemplary time profiles of selected signals in the circuit according to 1 .

3 eine Schaltungsanordnung mit einer durch ein erstes Taktsignal getakteten Datenquelle, mit einer durch ein aus einem zweiten Datensignal abgeleiteten dritten Datensignal getakteten Datensenke und mit einer erfindungsgemäßen Schaltungsanordnung zur Erzeugung eines Prüfsignals, 3 a circuit arrangement having a data source clocked by a first clock signal, a data sink clocked by a third data signal derived from a second data signal, and a circuit arrangement according to the invention for generating a test signal,

4 ausgewählte zeitliche Verläufe einiger der in der Schaltung gemäß 3 vorkommender Signale für unterschiedliche Szenarien (4a) und eine Wertetabelle für ausgewählte Signale bei den unterschiedlichen Szenarien (4b). 4 selected time profiles of some of the circuit in accordance with 3 occurring signals for different scenarios ( 4a ) and a table of values for selected signals in the different scenarios ( 4b ).

3 zeigt eine Schaltung mit einer Datenquelle 10, einer Datensenke 20 und einer Schaltungsanordnung zur Bereitstellung eines Prüfsignals CS. 3 shows a circuit with a data source 10 , a data sink 20 and a circuit arrangement for providing a test signal CS.

Die Datenquelle 10 ist beispielhaft als Ausgangsregister in Form eines D-Flip-Flops einer im weiteren nicht näher erläuterten Schaltung dargestellt, wobei diese Schaltung ein Datensignal D_in zur Verfügung stellt, das im Takt eines ersten Taktsignals CLK1 in das Register D10 übernommen wird und im Takt dieses ersten Taktsignals CLK1 als Ausgangssignal Q10 dieser Datenquelle 10 zur Verfügung steht. Die Datensenke 20 umfasst in dem Beispiel ein Eingangsregister D21 in Form eines D-Flip-Flop, dessen Dateneingang 1D das Ausgangssignal Q10 der Datensenke 10 zugeführt ist. Dieses Eingangs-Flip-Flop D21 kann das erste einer Kette von D-Flip-Flops sein, die ein Eingangsregister zur Speicherung eines Datenwortes bilden, wobei der Dateneingang eines jeden nachfolgenden Flip-Flops an den Datenausgang des zuvor in der Kette geschalteten Flip-Flops angeschlossen ist. Dieses Eingangs-Flip-Flop D21, und die diesem Eingangs-Flip-Flop D21 gegebenenfalls nachgeschalteten weiteren Flip-Flops sind im Takt eines aus einem zweiten Taktsignal CLK2 abgeleiteten dritten Taktsignals CLK21 getaktet, wodurch jedes dem Eingangs-Flip-Flop D21 nachgeschaltete Flip-Flop D2n im Takt dieses dritten Taktsignals den in dem jeweils vorgeschalteten Flip-Flop gespeicherten Wert übernimmt. Die in den Flip-Flops gespeicherten Werte können in nicht näher dargestellter Weise beispielsweise gleichzeitig ausgelesen werden, um dadurch eine Seriell-Parallel-Wandlung des am Ausgang der Datenquelle 10 zur Verfügung stehenden Datensignals Q10 durchzuführen.The data source 10 is exemplified as an output register in the form of a D flip-flop of a circuit not further explained in detail Darge represents, this circuit provides a data signal D_in available, which is taken over in the clock of a first clock signal CLK1 in the register D10 and in the clock of this first clock signal CLK1 as the output Q10 of this data source 10 is available. The data sink 20 in the example comprises an input register D21 in the form of a D flip-flop whose data input 1D is the output signal Q10 of the data sink 10 is supplied. This input flip-flop D21 may be the first of a chain of D flip-flops forming an input register for storing a data word, the data input of each subsequent flip-flop being applied to the data output of the previously in-chain flip-flop connected. This input flip-flop D21, and the further flip-flops downstream of this input flip-flop D21 are clocked at the rate of a third clock signal CLK21 derived from a second clock signal CLK2, whereby each flip-flop downstream of the input flip-flop D21 is clocked. Flop D2n takes over the value stored in the respective upstream flip-flop in time with this third clock signal. The values stored in the flip-flops can be read in a manner not shown, for example, simultaneously, thereby a serial-parallel conversion of the output of the data source 10 to perform the available data signal Q10.

Das dritte Taktsignal CLK21 ist aus dem zweiten Taktsignal CLK2, mit dessen Frequenz die Verarbeitung der Daten in der Datensenke 20 erfolgen soll, durch Verzögern um eine erste Verzögerungsdauer td1 erzeugt. Die Verzögerung wird durch ein Verzögerungsglied DEL1 bewirkt. Aus dem dritten Taktsignal CLK21 ist durch Verzögern dieses Taktsignals CLK21 um eine zweite Verzögerungsdauer td2 mittels eines zweiten Verzögerungsglieds DEL2 ein viertes Taktsignal CLK22 gebildet. Die Prüfsignalerzeugungsschaltung 30 nimmt keinen Einfluss auf die Verarbeitung des Datensignals Q10 in der Datensenke 20, gibt jedoch ein Prüfsignal CS aus, das für jede Taktperiode des zweiten Taktsignals CLK2 angibt, ob eine mögliche Timing-Verletzung bei der Übernahme der Daten des Datensignals Q10 in die Datensenke 20 aufgetreten sein kann. Hierfür wird in der Schaltungsanordnung 30 überprüft, ob ein Pegelwechsel des ersten Taktsignals CLK1 innerhalb eines vorgegebenen Zeitfensters stattgefunden hat. Wird ein solcher Pegelwechsel detektiert, so wird in dem Beispiel ein Prüfsignal CS mit einem High-Pegel erzeugt, um eine möglicherweise nicht korrekte Datenübernahme anzuzeigen.The third clock signal CLK21 is the second clock signal CLK2 whose frequency is the processing of the data in the data sink 20 is to be done by delaying by a first delay time td1 generated. The delay is effected by a delay DEL1. From the third clock signal CLK21, a fourth clock signal CLK22 is formed by delaying this clock signal CLK21 by a second delay duration td2 by means of a second delay element DEL2. The test signal generation circuit 30 does not affect the processing of the data signal Q10 in the data sink 20 However, it outputs a test signal CS, which indicates for each clock period of the second clock signal CLK2, whether a possible timing violation in the transfer of the data of the data signal Q10 in the data sink 20 may have occurred. For this purpose, in the circuit arrangement 30 checks whether a level change of the first clock signal CLK1 has taken place within a predetermined time window. If such a level change detected, so in the example, a test signal CS is generated with a high level to indicate a possibly incorrect data transfer.

Zur Ermittlung eines Pegelwechsels dieses ersten Taktsignals CLK1 innerhalb des Zeitfensters wird der Pegel des zweiwertigen ersten Taktsignals CLK1 mit jeder steigenden Flanke des zweiten Taktsignals CLK2 in einem als D-Flip-Flop ausgebildeten Register D1 abgespeichert, um einen ersten Vergleichswert DR1 zur Verfügung zu stellen. Diese steigende Flanke CLK2 liegt um die erste Verzögerungszeit Ttd1 vor der die Datenübernahme in die Datensenke 20 initiierenden steigenden Flanke des dritten Taktsignals CLK21. Entsprechend wird der Pegel des ersten Taktsignals CLK1 mit jeder steigenden Flanke des vierten Taktsignals CLK22 in einem zweiten Register D2 gespeichert, um einen zweiten Vergleichswert DR2 zur Verfügung zu stellen. Die steigende Flanke dieses vierten Taktsignal CLK22 liegt bedingt durch die Erzeugung dieses vierten Taktsignals CLK22 um die zweite Zeitdauer td2 nach der die Datenübernahme initiierenden steigenden Flanke des dritten Taktsignals CLK21. Der erste und zweite Vergleichswert DR1, DR2 sind einem Exclusiv-ODER-Gatter XOR1 zugeführt, welches das Prüfsignal CS bereitstellt. Optional ist in dem Beispiel gemäß 3 ein UND-Gatter AND1 vorgesehen, mit dem das Ausgangssignal dieses Exclusiv-ODER-Gatter XOR1 verknüpft wird, um hieraus das Prüfsignal CS bereitzustellen.To determine a level change of this first clock signal CLK1 within the time window, the level of the bivalent first clock signal CLK1 is stored with each rising edge of the second clock signal CLK2 in a D-type flip-flop formed register D1 to provide a first comparison value DR1 available. This rising edge CLK2 lies around the first delay time Ttd1 before the data transfer into the data sink 20 initiating rising edge of the third clock signal CLK21. Accordingly, the level of the first clock signal CLK1 is stored with each rising edge of the fourth clock signal CLK22 in a second register D2 to provide a second comparison value DR2. The rising edge of this fourth clock signal CLK22 is due to the generation of this fourth clock signal CLK22 by the second time duration td2 after the rising edge of the third clock signal CLK21 initiating the data acceptance. The first and second comparison values DR1, DR2 are supplied to an exclusive-OR gate XOR1, which provides the test signal CS. Optionally, in the example according to 3 an AND gate AND1 is provided, to which the output signal of this exclusive-OR gate XOR1 is connected to provide the test signal CS therefrom.

Die Funktionsweise der das Prüfsignal erzeugenden Schaltung 30 wird nachfolgend anhand von 4 näher erläutert.The operation of the test signal generating circuit 30 is described below by means of 4 explained in more detail.

4a zeigt übereinander dargestellt zeitliche Verläufe des zweiten Taktsignals CLK2, des durch Verzögerung aus dem zweiten Taktsignal CLK2 gebildeten dritten Taktsignals CLK21 und des durch Verzögerung aus dem dritten Taktsignal gebildeten vierten Taktsignals CLK22. Weiterhin dargestellt in 4 sind schematisch Setup-Zeiten und Haltezeiten um die steigenden Flanken dieser Taktsignale CLK2, CLK21, CLK22, wobei die Setup- und Haltezeiten um die steigende Flanke des zweiten Taktsignals CLK2 diese Setup- und Haltezeiten des ersten Registers D1 repräsentieren. Entsprechend repräsentieren die Setup- und Haltezeiten um die steigenden Flanken des dritten und vierten Taktsignals CLK21, CLK22 die Setup- und Haltezeiten des Eingangsregisters D21 der Datensenke 20 und des zweiten Registers D2. 4a shows one above the other shown temporal courses of the second clock signal CLK2, the third clock signal CLK21 formed by delay from the second clock signal CLK2 and the fourth clock signal CLK22 formed by delay from the third clock signal. Furthermore shown in 4 are schematically setup times and hold times around the rising edges of these clock signals CLK2, CLK21, CLK22, the setup and hold times around the rising edge of the second clock signal CLK2 representing these setup and hold times of the first register D1. Accordingly, the setup and hold times around the rising edges of the third and fourth clock signals CLK21, CLK22 represent the setup and hold times of the input register D21 of the data sink 20 and the second register D2.

4a zeigt im unteren Teil zeitliche Verläufe des ersten Taktsignals CLK1 für vier unterschiedliche Szenarien, für de ren Unterscheidung der Bezeichnung des ersten Taktsignals CLK1 die Kennzeichnungen (a)–(d) hinzugefügt sind. Die Wertetabelle in der nebenstehenden 4b gibt die Werte der ersten und zweiten Vergleichsignale DR1, DR2 und des Prüfsignals CS wieder. Weiterhin ist durch ein Häkchen angegeben, wenn eine korrekte Datenübernahme möglich ist, und durch ein Kreuz angegeben, wenn eine nicht korrekte Datenübernahme möglich ist. Wie bereits erläutert, entsteht das dritte Taktsignal CLK21 durch Zeitverzögerung des zweiten Taktsignals CLK2 um die erste Zeitdauer td1, und das vierte Taktsignal CLK22 entsteht durch Zeitverzögerung des dritten Taktsignals um eine zweite Zeitdauer td2, wobei diese Zeitdauern vorzugsweise gleichlang sind. 4a shows in the lower part temporal courses of the first clock signal CLK1 for four different scenarios, for the ren distinction of the name of the first clock signal CLK1 the markings (a) - (d) are added. The table of values in the adjacent 4b Returns the values of the first and second comparison signals DR1, DR2 and the test signal CS. Furthermore, a check mark indicates if correct data transfer is possible and a cross indicates that incorrect data transfer is possible. As already explained, the third clock signal CLK21 is produced by a time delay of the second clock signal CLK2 by the first time duration td1, and the fourth clock signal CLK22 is produced by time delays tion of the third clock signal by a second time period td2, these time periods are preferably the same length.

Im ersten Fall (a) liegt eine steigende Flanke des ersten Taktsignals CLK1 zeitlich noch vor der steigenden Flanke des zweiten Taktsignals CLK2 und noch vor Beginn der Setup-Zeit des ersten Registers D1. Das erste Taktsignal CLK1 verbleibt dabei auf dem High-Pegel bis nach der steigenden Flanke des vierten Taktsignals CLK22 und der Haltezeit des das zweite Vergleichssignal DR2 bereitstellenden Registers D2. In diesem Fall weisen das erste und zweite Vergleichssignal DR1, DR2 einen logischen High-Pegel auf, so dass am Ausgang des Exklusiv-ODER-Gatters XOR1 gemäß 3 ein Signal mit einem Low-Pegel zur Verfügung steht. Dieses Low-Signal wird durch das UND-Glied AND1, das dieses Ausgangssignal mit dem Momentanwert des ersten Taktsignals CLK1 verknüpft, als Prüfsignal CS mit einem Low-Pegel ausgegeben, wobei ein Low-Pegel dieses Prüfsignals CS eine korrekte Datenübernahme anzeigt.In the first case (a), a rising edge of the first clock signal CLK1 is still in time before the rising edge of the second clock signal CLK2 and before the start of the setup time of the first register D1. The first clock signal CLK1 remains at the high level until after the rising edge of the fourth clock signal CLK22 and the hold time of the second comparison signal DR2 providing register D2. In this case, the first and second comparison signal DR1, DR2 have a logic high level, so that at the output of the exclusive-OR gate XOR1 according to 3 a signal with a low level is available. This low signal is output by the AND gate AND1, which combines this output signal with the instantaneous value of the first clock signal CLK1, as a test signal CS with a low level, wherein a low level of this test signal CS indicates a correct data transfer.

Im zweiten Fall (b) liegt eine steigende Flanke des ersten Taktsignals CLK1 noch vor der steigenden Flanke des dritten Taktsignals CLK21 und noch vor Beginn der Setup-Zeit des Eingangsregisters D21 vor, die steigende Flanke liegt jedoch innerhalb des durch die Setup-Zeit und die Haltezeit vorgegebenen Zeitintervalls um die steigende Flanke des zweiten Taktsignals CLK2, so dass zwar eine korrekte Datenübernahme durch die Datensenke 20 möglich ist, das erste Vergleichsignal DR1 jedoch unbestimmt ist, was in der Wertetabelle in 4b durch das Symbol "x" dargestellt ist. Der Pegel des ersten Taktsignals CLK1 bleibt bis nach Ablauf der Haltezeit des zweiten Registers D2 auf dem High-Pegel, so dass das zweite Vergleichssignal DR2 den Wert einer logischen 1 annimmt. Zusammenfassend ist in diesem Fall (b) eine korrekte Datenübernahme durch die Datensenke 20möglich, das Prüfsignal CS ist jedoch unbestimmt, so dass es in diesem Fall zu einem eine nicht korrekte Datenübernahme anzeigendes Prüfsignal CS kommen kann, was aus Sicherheitsgründen jedoch tolerierbar ist.In the second case (b), a rising edge of the first clock signal CLK1 is present before the rising edge of the third clock signal CLK21 and before the beginning of the setup time of the input register D21, but the rising edge is within that of the setup time and Hold time predetermined time interval to the rising edge of the second clock signal CLK2, so that although a correct data transfer through the data sink 20 is possible, however, the first comparison signal DR1 is indeterminate, which is in the value table in 4b represented by the symbol "x". The level of the first clock signal CLK1 remains at the high level until after the holding time of the second register D2 has elapsed, so that the second comparison signal DR2 assumes the value of a logical one. In summary, in this case (b) a correct data transfer by the data sink 20 is possible, but the test signal CS is indefinite, so that in this case an incorrect data transfer indicating test signal CS may occur, which is tolerable for safety reasons.

Im Fall (c) liegt die steigende Flanke des ersten Taktsignals CLK1 innerhalb des durch die erste und zweite Zeitdauer td1, td2 vorgegebenen Zeitintervalls und nach der Haltezeit des ersten Registers D1 und vor Beginn der Setup-Zeit des zweiten Registers D2. Das erste Vergleichssignal DR1 nimmt somit den Wert einer logischen 0 an, während das zweite Vergleichssignal den Wert einer logischen 1 annimmt. Das Prüfsignal CS nimmt dadurch den Wert einer logischen 1 an und weist so auf die Möglichkeit einer nicht korrekten Datenübernahme hin. Hierbei ist zu beachten, dass die Datenübernahme tatsächlich nur dann nicht korrekt erfolgen kann, wenn die Flanke des ersten Taktsignals CLK1 innerhalb des durch die Setup-Zeit und die Haltezeit des Eingangsregisters D21 definierten Zeitintervalls um die steigende Flanke des dritten Taktsignals CLK21 liegt. Aus Sicherheitsgründen sind die erste und zweite Zeitdauer td1, td2 jedoch größer als diese Setup- und Haltezeit gewählt, so dass es Situationen geben kann, in denen das Prüfsignal CS auf eine nicht korrekte Datenübernahme hinweist, obwohl eine korrekte Datenübernahme stattgefunden hat. Aus Sicherheitsaspekten ist ein solcher fälschlicherweise angezeigter Fehler jedoch tolerierbar.in the Case (c) is the rising edge of the first clock signal CLK1 within the predetermined by the first and second time periods td1, td2 Time interval and after the holding time of the first register D1 and before the start of the setup time of the second register D2. The first comparison signal DR1 thus assumes the value of a logical 0, while the second comparison signal takes the value of a logical 1. The test signal CS thereby takes the Value of a logical 1, thus indicating the possibility of an incorrect one Data Transfer out. It should be noted that the data transfer actually only then can not be done correctly when the edge of the first clock signal CLK1 within the by the setup time and the hold time of the input register D21 defined time interval around the rising edge of the third Clock signal CLK21 is located. For safety reasons, the first and second time periods td1, td2 is greater than chose this setup and hold time, so that there may be situations in which the test signal CS on an incorrect data transfer indicates, although a correct data transfer took place. For security reasons, one is incorrectly displayed Error, however, tolerable.

Im Fall (d) liegt die steigende Flanke des ersten Taktsignals CLK1 nach der steigenden Flanke des dritten Taktsignals CLK21 und nach Ablauf der Haltezeit des Eingangsregisters D21, je doch noch innerhalb des durch die Setup-Zeit und die Haltezeit des zweiten Registers vorgegebenen Zeitintervalls, so dass der am Ausgang dieses zweiten Registers D2 anliegende zweite Vergleichswert DR2 unbestimmt ist. Der erste Vergleichswert DR1 nimmt in diesem Fall den Wert einer logischen 0 an. Entsprechend dem Fall (b) liegt hier eine korrekte Datenübernahme vor, das Prüfsignal CS zeigt wegen des unbestimmten Zustandes des zweiten Registers DR2 jedoch möglicherweise fälschlicherweise eine nicht korrekte Datenübernahme an, was unter Sicherheitsaspekten jedoch tolerierbar ist.in the Case (d) is the rising edge of the first clock signal CLK1 after the rising edge of the third clock signal CLK21 and after Expiration of the holding time of the input register D21, but still within of the setup time and the hold time of the second register predetermined time interval, so that at the output of this second Register D2 second reference value DR2 is indefinite. The first comparison value DR1 takes the value of one in this case logical 0. According to case (b), here is a correct one Data Transfer before, the test signal CS shows because of the indefinite state of the second register DR2, however, may be falsely an incorrect data transfer which is tolerable under safety aspects.

In einem nicht näher dargestellten Fall liegt die steigende Flanke des ersten Taktsignals CLK1 nach Ablauf der Haltezeit des zweiten Registers D2, so dass sowohl das erste als auch das zweite Vergleichssignal DR1, DR2 den Wert 0 annehmen und das Vergleichssignal CS durch den Wert einer logischen 0 eine korrekte Datenübernahme anzeigt.In one not closer As shown, the rising edge of the first clock signal CLK1 after expiration of the hold time of the second register D2, so that both the first and the second comparison signal DR1, DR2 the Assume value 0 and the comparison signal CS by the value of a logical 0 a correct data transfer displays.

Für die in 4 dargestellten Szenarien kann das Ausgangssignal des Exklusiv-ODER-Gatters unmittelbar als Prüfsignal CS übernommen werden. Es besteht jedoch die Möglichkeit, dass das Taktsignal CLK1 innerhalb des durch die Zeitdauern td1, td2 vorgegebenen Zeitintervalls eine fallende Flanke aufweist, wodurch sich die Vergleichssignale DR1, DR2 unterscheiden würden. Um zu verhindern, dass in diesem Fall ein Prüfsignal CS mit einer logischen 0 ausgegeben wird, was auf eine fehlerhafte Datenübernahme hinweisen würde, obwohl bei einer fallenden Flanke des ersten Taktsignals CLK1 keine Änderung der durch die Datenquelle 10 zur Verfügung gestellten Daten vorliegen kann, wird das Ausgangssignal des Exklusiv-ODER-Gatters XOR1 gemäß 3 vorzugsweise mit dem Momentanwert des ersten Taktsignals CLK1 UND-verknüpft. Dies führt dazu, dass bei einem High-Pegel des ersten Taktsignals CLK1 nach Erzeugung des zweiten Vergleichssignals DR2 das Ausgangssignal des Exklusiv-ODER-Gatters XOR1 unverändert als Prüfsignal CS ausgegeben wird.For the in 4 illustrated scenarios, the output signal of the exclusive-OR gate can be taken directly as a test signal CS. However, there is the possibility that the clock signal CLK1 has a falling edge within the time interval predetermined by the time periods td1, td2, whereby the comparison signals DR1, DR2 would differ. In order to prevent a test signal CS from being output with a logical 0 in this case, which would indicate erroneous data transfer, although on a falling edge of the first clock signal CLK1 no change is caused by the data source 10 provided data is available, the output of the exclusive-OR gate XOR1 according to 3 preferably ANDed with the instantaneous value of the first clock signal CLK1. As a result, at a high level of the first clock signal CLK1 after generation of the second comparison signal DR2, the output signal of the exclusive-OR gate XOR1 is outputted as the test signal CS unchanged.

Bei einem Low-Pegel des ersten Taktsignals CLK1 wird ein Prüfsignal CS mit einem auf eine korrekte Datenübernahme hinweisenden Low-Pegel zur Verfügung gestellt, da bei Vorliegen eines Low-Pegels nach Erzeugung des zweiten Vergleichssignals DR2 allenfalls eine fallende Flanke innerhalb des durch die erste und zweite Verzögerungszeit td1, td2 vorgegebenen Zeitfensters vorliegen kann, bei der keine Änderung der durch die Datenquelle 10 bereitgestellten Ausgangsdaten Q10 erfolgen kann und die somit unkritisch ist.At a low level of the first clock signal CLK1 a test signal CS is provided with a pointing to a correct data transfer low level available, since in the presence of a low level after generation of the second comparison signal DR2 at best a falling edge within the first and second delay time td1, td2 predetermined time window can be present at the no change by the data source 10 provided output data Q10 can be made and thus is not critical.

Zusammenfassend wird bei dem erläuterten Ausführungsbeispiel des erfindungsgemäßen Verfahrens überprüft, ob eine steigende Flanke des ersten Taktsignals CLK1 innerhalb eines Zeitfensters um die steigende Flanke des dritten Taktsignals CLK21 liegt. Dieses Zeitfenster ist in dem konkreten Ausführungsbeispiel um die Haltezeit thD1 des ersten Registers D1 und die Setup-Zeit tsD2 des zweiten Registers D2 verkürzt. Liegt innerhalb dieses Zeitintervalls eine steigende Flanke des ersten Taktsignals CLK1 vor, so wird sicher eine logische 1 am Ausgang der Prüfsignalerzeugungseinrichtung bereitgestellt, um auf eine mögliche nicht korrekte Datenübernahme hinzuweisen. Die erste Verzögerungszeit td1 ist im Hinblick auf die Haltezeit thD1 des Registers D1 und die Setup-Zeit tsD21 des Eingangsregisters D21 so gewählt, dass gilt: td1 > thD1 + tsD21. In summary, in the described exemplary embodiment of the method according to the invention, it is checked whether a rising edge of the first clock signal CLK1 lies within a time window around the rising edge of the third clock signal CLK21. This time window is shortened in the specific embodiment by the hold time thD1 of the first register D1 and the setup time tsD2 of the second register D2. If there is a rising edge of the first clock signal CLK1 within this time interval, then a logical 1 is reliably provided at the output of the test signal generation device in order to indicate a possible incorrect data transfer. The first delay time td1 is selected with respect to the hold time thD1 of the register D1 and the setup time tsD21 of the input register D21 such that: td1> thD1 + tsD21.

Entsprechend gilt für die zweite Verzögerungszeit TD2: Td2 > thD21 + tsD2,wobei THd21 die Haltezeit des Eingangsregisters D21 und tsD2 die Setup-Zeit des zweiten Registers D2 ist.Accordingly, for the second delay time TD2: Td2> thD21 + tsD2, where THd21 is the hold time of the input register D21 and tsD2 is the setup time of the second register D2.

In dem dargestellten Beispiel wird sicher eine auf eine korrekte Datenübernahme hinweisende logische 0 am Ausgang der Prüfsignalerzeugungseinrichtung 30 erzeugt, wenn die steigen de Flanke des ersten Taktsignals CLK1 um die Setup-Zeit tsD1 vor der steigenden Flanke des zweiten Taktsignals CLK2 oder um die Haltezeit thD2 des zweiten Registers D2 nach der steigenden Flanke des vierten Taktsignals CLK22 liegt. Bei steigenden Flanken des Taktsignals CLK1 innerhalb der durch die Setup-Zeit und die Haltezeit der ersten und zweiten Register D1 und D2 vorgegebenen Zeitintervalle kann es fälschlicherweise zu einer logischen 0 am Ausgang der Prüfsignalerzeugungseinrichtung 30 kommen, was aus Sicherheitsgründen jedoch tolerierbar ist.In the illustrated example, a logical 0 indicative of a correct data transfer will certainly be present at the output of the test signal generating device 30 generated when the rising edge of the first clock signal CLK1 is the setup time tsD1 before the rising edge of the second clock signal CLK2 or the hold time thD2 of the second register D2 after the rising edge of the fourth clock signal CLK22. With rising edges of the clock signal CLK1 within the time intervals specified by the setup time and the hold time of the first and second registers D1 and D2, it may erroneously result in a logical 0 at the output of the test signal generator 30 come, which is tolerable for safety reasons.

Die Weiterverarbeitung des Prüfsignals CS ist nicht Gegenstand der vorliegenden Erfindung. Es sei nur beispielhaft darauf hingewiesen, dass die Möglichkeit besteht, dieses Prüfsignals CS dazu zu verwenden, um abhängig vom Wert dieses Prüfsignals CS in der Datensenke 20 empfangene Daten zu verwerfen und den Sender bzw. die Datenquelle aufzufordern, diese Daten nochmals zu übertragen.The further processing of the test signal CS is not the subject of the present invention. It should be pointed out, by way of example only, that it is possible to use this test signal CS to determine the value of this test signal CS in the data sink 20 discard received data and request the sender or data source to retransmit this data.

1010
Datenquelle, D-Flip-Flop,Data Source, D flip-flop,
Ausgangsregisteroutput register
100100
DatenquelleData Source
2020
Datensenke, RegisterData sink register
200200
Datensenkedata sink
3030
Prüfsignalerzeugungsschaltungprobe generation
AND1AND1
UND-GatterAND gate
CLK1CLK1
erstes Taktsignalfirst clock signal
CLK10, CLK20CLK10 CLK20
erstes/zweites Taktsignalfirst / second clock signal
CLK2CLK2
zweites Taktsignalsecond clock signal
CLK21CLK21
drittes Taktsignalthird clock signal
CLK22CLK22
viertes Taktsignalfourth clock signal
CSCS
Prüfsignaltest signal
D_ind_in
Datensignaldata signal
D_out(o), D_out(n)D_out (o), D_out (n)
RegisterausgangssignaleRegister outputs
D1, D2D1, D2
erstes/zweites Registerfirst / second register
D10D10
D-Flip-Flop-RegisterD flip-flop registers
D21, D2nD21, D2n
D-Flip-Flops, RegisterD-Flip-Flops, register
DEL1, DEL2DEL1, DEL2
erstes/zweites Verzögerungsgliedfirst / second delay
DR1, Dr2DR1, Dr 2
erstes/zweites Vergleichssignalfirst / second comparison signal
Q10Q10
Ausgangssignal der Datenquelleoutput the data source
td1, td2td1, td2
erste/zweite Verzögerungszeitfirst second Delay Time
XOR1XOR1
Exlusiv-ODER-GatterExclusive OR gate

Claims (12)

Verfahren zum Verarbeiten von Daten einer Datenquelle (10), die im Takt eines ersten Taktsignals (CLK1) zur Verfügung stehen, nach Maßgabe eines zweiten Taktsignals (CLK2), wobei das Verfahren für jede Taktperiode des zweiten Taktsignals (CLK2) folgende Verfahrensschritte umfasst: – Verzögern des zweiten Taktsignals (CLK2) um eine vorgegebene Verzögerungszeit (td1) zur Bereitstellung eines dritten Taktsignals (CLK22) und Verarbeiten der Daten im Takt des dritten Taktsignals (CLK22), – Auswerten der zeitlichen Lage einer vorgegebenen Flanke des ersten Taktsignal (CLK1) in Bezug auf eine erste Flanke des dritten Taktsignals (CLK21), – Bereitstellen eines Prüfsignals (CS), das abhängig davon, ob die vorgegebene Flanke des ersten Taktsignals (CLK1) innerhalb eines vorgegebenen Zeitfensters liegt, das die erste Flanke des dritten Taktsignals (CLK21) umfasst, einen ersten oder einen zweiten Wert annimmt.Method for processing data from a data source ( 10 ), which are available at the rate of a first clock signal (CLK1), in accordance with a second clock signal (CLK2), the method comprising the following method steps for each clock period of the second clock signal (CLK2): - delaying the second clock signal (CLK2) by one predetermined delay time (td1) for providing a third clock signal (CLK22) and processing the data in time with the third clock signal (CLK22), evaluating the time position of a predetermined edge of the first clock signal (CLK1) with respect to a first edge of the third clock signal ( CLK21), - providing a test signal (CS) which assumes a first or a second value depending on whether the predetermined edge of the first clock signal (CLK1) is within a predetermined time window which includes the first edge of the third clock signal (CLK21) , Verfahren nach Anspruch 1, bei dem das Zeitfenster eine erste Zeitdauer (td1) vor der ersten Flanke des dritten Taktsignals (CLK21) beginnt und eine zweite Zeitdauer (td2) nach der ersten Flanke des dritten Taktsignals (CLK21) endet.The method of claim 1, wherein the time window a first time period (td1) before the first edge of the third clock signal (CLK21) starts and a second time period (td2) after the first Edge of the third clock signal (CLK21) ends. Verfahren nach Anspruch 1 oder 2, bei dem die vorgegebene Flanke des ersten Taktsignals (CLK1) die steigende Flanke ist.The method of claim 1 or 2, wherein the predetermined Edge of the first clock signal (CLK1) is the rising edge. Verfahren nach einem der vorangehenden Ansprüche, bei dem die erste Flanke des dritten Taktsignals (CLK21) die steigende Flanke ist.Method according to one of the preceding claims, wherein the first edge of the third clock signal (CLK21) the rising Flank is. Verfahren nach einem der Ansprüche 2 bis 4, das folgende weitere Verfahrensschritte aufweist: – Ermitteln des Pegels des ersten Taktsignals (CLK1) zu einem ersten Zeitpunkt (t1), der dem Zeitpunkt der ersten Flanke des zweiten Taktsignals (CLK2) entspricht, und zu einem zweiten Zeitpunkt (t2), der dem Zeitpunkt der gegenüber der ersten Flanke des zweiten und dritten Taktsignals (CLK2, CLK21) verzögerten ersten Flanke eines vierten Taktsignals (CLK22) entspricht, – Erzeugen des Prüfsignals (CS) derart, dass es den ersten Wert annimmt, wenn sich der Pegel des ersten Taktsignals (CLK1) zum ersten Zeitpunkt (t1) vom Pegel des ersten Taktsignals (CLK1) zum zweiten Zeitpunkt (t2) unterscheidet.Method according to one of claims 2 to 4, the following further Method steps comprises: - Determining the level of the first clock signal (CLK1) at a first time (t1) corresponding to Time of the first edge of the second clock signal (CLK2) corresponds, and at a second time (t2), which is the time of the opposite first edge of the second and third clock signals (CLK2, CLK21) delayed first edge of a fourth clock signal (CLK22), - Produce the test signal (CS) such that it takes the first value when the level of the first clock signal (CLK1) at the first time (t1) from the level of the first clock signal (CLK1) at the second time (t2). Schaltungsanordnung zur Erzeugung eines Prüfsignals (CS) für ein Verfahren nach einem der vorangehenden Ansprüche, die folgende Merkmale aufweist: – eine erste Verzögerungsschaltung (DEL1) zur Erzeugung eines dritten Taktsignals (CLK21) aus einem zweiten Taktsignal (CLK2) durch Verzögern des zweiten Taktsignals (CLK2), – Mittel zur Ermittlung eines Pegels des ersten Taktsignals (CLK1) zu einem ersten Zeitpunkt (t1) eine vorgegebene erste Zeitdauer (td1) vor einer vorgegebenen ersten Flanke des dritten Taktsignals (CLK21) und zu einem zweiten Zeitpunkt (t2) eine vorgegebene zweite Zeitdauer (td2) nach der vorgegebenen ersten Flanke des dritten Taktsignals (CLK3), – Vergleichsmittel zum Vergleich des Pegels des ersten Taktsignals (CLK1, CLK2) zum ersten und zweiten Zeitpunkt (t1, t2) und zum Bereitstellen des Prüfsignals (CS) abhängig von dem Vergleichsergebnis.Circuit arrangement for generating a test signal (CS) for A method according to any one of the preceding claims, comprising: - a first one delay circuit (DEL1) for generating a third clock signal (CLK21) from a second clock signal (CLK2) by delaying the second clock signal (CLK2), - Medium for determining a level of the first clock signal (CLK1) to a first time (t1) a predetermined first time period (td1) before a predetermined first edge of the third clock signal (CLK21) and at a second time (t2) a predetermined second period of time (td2) after the predetermined first edge of the third clock signal (CLK3), - comparison means for comparing the level of the first clock signal (CLK1, CLK2) to first and second time (t1, t2) and to provide the test signal (CS) dependent from the comparison result. Schaltungsanordnung nach Anspruch 6, bei der die Vergleichsmittel das Prüfsignal (CS) derart erzeugen, dass es einen ersten Wert aufweist, wenn der Pegel des ersten Taktsignals zum ersten und zweiten Zeitpunkt (t1, t2) unterschiedlich ist, und dass es sonst einen zweiten Wert aufweist.Circuit arrangement according to Claim 6, in which the Comparative means the test signal (CS) generate such that it has a first value when the Level of the first clock signal at the first and second times (t1, t2) is different and otherwise has a second value. Schaltungsanordnung nach einem der Ansprüche 6 oder 7, bei dem die erste Verzögerungsschaltung (DEL1) das zweite Taktsignal (CLK2) um die erste Zeitdauer (td1) verzögert und die Mittel zur Ermittlung des Pegels des ersten Taktsignals zum ersten und zweiten Zeitpunkt folgende Merkmale aufweisen: – ein erstes Speicherelement (D1), das im Takt des zweiten Taktsignals (CLK2) den Pegel des ersten Taktsignals (CLK1) speichert und als ersten Vergleichswert (DR1) an seinem Ausgang bereitstellt, – ein zweites Verzögerungsglied (DEL2), das das dritte Taktsignal um die zweite Zeitdauer (td2) verzögert, um ein viertes Taktsignal (CLK22) zur Verfügung zu stellen, – ein zweites Speicherelement (D2), das im Takt des vierten Taktsignals den Pegel des ersten Taktsignals (CLK1) speichert und als zweiten Vergleichswert (DR2) an seinem Ausgang bereitstellt.Circuit arrangement according to one of claims 6 or 7, in which the first delay circuit (DEL1) the second clock signal (CLK2) by the first time duration (td1) delayed and the means for determining the level of the first clock signal have the following characteristics at the first and second times: - a first Memory element (D1) which is in time with the second clock signal (CLK2) stores the level of the first clock signal (CLK1) and as the first one Provides comparison value (DR1) at its output, - a second delay (DEL2), the third clock signal by the second time period (td2) delayed to provide a fourth clock signal (CLK22), - a second Memory element (D2), the level in the clock of the fourth clock signal of the first clock signal (CLK1) stores and as a second comparison value (DR2) at his exit. Schaltungsanordnung nach Anspruch 8, bei der das erste und zweite Speicherelement den Pegel des ersten Taktsignals (CLK1) jeweils mit der ersten Flanke des zweiten und vierten Taktsignals (CLK2, CLK22) speichern.Circuit arrangement according to Claim 8, in which the first and second memory elements the level of the first clock signal (CLK1) in each case with the first edge of the second and fourth clock signal (CLK2, CLK22). Schaltungsanordnung nach einem der Ansprüche 8 oder 9, bei der die Vergleicherschaltung ein Exklusiv-Oder-Gatter (XOR1) umfasst, dem der erste und zweite Vergleichswert (DR1, DR2) zugeführt sind.Circuit arrangement according to one of claims 8 or 9, in which the comparator circuit is an exclusive OR gate (XOR1) comprises, the first and second comparison value (DR1, DR2) are supplied. Schaltungsanordnung nach Anspruch 10, bei dem das Ausgangssignal des Gatter (XOR1) das Prüfsignal (CS) bildet.Circuit arrangement according to Claim 10, in which the Output signal of the gate (XOR1) forms the test signal (CS). Schaltungsanordnung nach Anspruch 10, bei der das Ausgangssignal des Gatters (XOR1) mit dem ersten Taktsignal verknüpft wird, um das Prüfsignal (CS) bereitzustellen.Circuit arrangement according to Claim 10, in which the Output signal of the gate (XOR1) is linked to the first clock signal, around the test signal (CS) provide.
DE2003130328 2003-07-04 2003-07-04 Method and device for processing data at different clock signals Expired - Fee Related DE10330328B4 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2003130328 DE10330328B4 (en) 2003-07-04 2003-07-04 Method and device for processing data at different clock signals

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2003130328 DE10330328B4 (en) 2003-07-04 2003-07-04 Method and device for processing data at different clock signals

Publications (2)

Publication Number Publication Date
DE10330328A1 DE10330328A1 (en) 2005-01-27
DE10330328B4 true DE10330328B4 (en) 2006-09-21

Family

ID=33546849

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2003130328 Expired - Fee Related DE10330328B4 (en) 2003-07-04 2003-07-04 Method and device for processing data at different clock signals

Country Status (1)

Country Link
DE (1) DE10330328B4 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1989000311A1 (en) * 1987-06-30 1989-01-12 Unisys Corporation Automatic clock de-skewing on a circuit board
DE19737813A1 (en) * 1996-08-29 1998-03-05 Nec Corp Rotary speed control circuit for disc drives

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1989000311A1 (en) * 1987-06-30 1989-01-12 Unisys Corporation Automatic clock de-skewing on a circuit board
DE19737813A1 (en) * 1996-08-29 1998-03-05 Nec Corp Rotary speed control circuit for disc drives

Also Published As

Publication number Publication date
DE10330328A1 (en) 2005-01-27

Similar Documents

Publication Publication Date Title
DE102005046350B4 (en) Arrangement with a CAN connection in a CAN system
DE102007044110B4 (en) Method and circuit for adjusting the phase shift
DE112006002092T5 (en) Circuit card synchronization within a standardized test instrument chassis
DE112006003101T5 (en) Method and device for setting synchronous clock signals
DE102010040772A1 (en) Decoding unit for conversion of differential Manchester signal into binary signal, has logic unit that detects whether flanks are provided in Manchester signal or not, where decoding unit sets level in binary signal during absence of flanks
DE102004021398B4 (en) Method and circuit arrangement for resetting an integrated circuit
EP0328093A2 (en) Gray code converter giving a fault signal
DE102005024917A1 (en) Register transfer level simulation device for simulating bit or bus synchronization of digital electronic circuit in e.g. silicon chip, has delay unit selectively delaying digital signal of flip-flop register around variable delay time
DE102014111061B4 (en) Method, device and system for communication with a facility
DE10330328B4 (en) Method and device for processing data at different clock signals
DE10122081B4 (en) Method for calibrating a test system for an integrated semiconductor circuit and calibratable test system
DE10297489T5 (en) Phase adjustment device and semiconductor memory test device
DE102013213088A1 (en) Monitoring circuit with a signature watchdog
DE19845220A1 (en) Process and device for synchronization and checking of processor and monitoring circuit
EP1025501B1 (en) Method and device for checking an error control procedure of a circuit
EP1723523A1 (en) Method and integrated switching circuit for increasing the immunity to interference
EP1721407A1 (en) Interface device and method for synchronizing data
EP1148647A2 (en) Circuit arrangement for receiving at least two digital signals
DE102013218305A1 (en) Method and device for synchronizing a control unit and at least one associated peripheral unit
DE60202697T2 (en) ASYNCHRONOUS DATA TRANSFER ARRANGEMENT WITH CONTROL DEVICE FOR CLOCK DEVIATIONS
DE60200289T2 (en) Transition adjustment
EP1069690A2 (en) Process for sampling biphase coded digital signals
DE3320587A1 (en) Circuit arrangement for monitoring electronic computing chips
EP0410212A2 (en) Redundant clock generator arrangement
WO1999063664A2 (en) Device and method for synchronizing an asynchronous signal in synthesis and simulation of a clocked circuit

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee