US20060038598A1 - Generation and measurement of timing delays by digital phase error compensation - Google Patents
Generation and measurement of timing delays by digital phase error compensation Download PDFInfo
- Publication number
- US20060038598A1 US20060038598A1 US11/251,711 US25171105A US2006038598A1 US 20060038598 A1 US20060038598 A1 US 20060038598A1 US 25171105 A US25171105 A US 25171105A US 2006038598 A1 US2006038598 A1 US 2006038598A1
- Authority
- US
- United States
- Prior art keywords
- voltage
- time
- circuit
- ramp
- value
- 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.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/31725—Timing aspects, e.g. clock distribution, skew, propagation delay
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/30—Marginal testing, e.g. by varying supply voltage
- G01R31/3016—Delay or race condition test, e.g. race hazard test
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/319—Tester hardware, i.e. output processing circuits
- G01R31/3193—Tester hardware, i.e. output processing circuits with comparison between actual response and known fault free response
- G01R31/31937—Timing aspects, e.g. measuring propagation delay
Definitions
- This invention relates generally to apparatus and methods for the generation of events following a trigger pulse. It is disclosed in the context of an electronic circuit and method for the generation of events following a trigger pulse when the trigger pulse occurs at an indeterminate time between clock pulses. However, it is believed to be useful in other applications as well.
- a timing delay generator receives a trigger signal and counts pulses of an internally generated master clock to generate a known delay.
- This timing uncertainty commonly called jitter, is caused from the triggering event not being related in phase to the master clock.
- the timing uncertainty relates to the temporal difference between the trigger signal and the master clock pulse. Therefore, the timing uncertainty relates to the period of the master clock.
- the frequency, or speed, of the master clock is increased, and its period proportionally reduced, the maximum timing uncertainty is reduced.
- increasing the speed of the master clock typically comes at the expense of increased circuit complexity and cost.
- apparatus for generating a delayed event comprises a clock for producing regular clock pulses, a voltage converter for producing a voltage that is directly proportional to the difference between a triggering pulse and a clock pulse, an analog-to-digital converter for converting a voltage produced by the voltage converter to a digital value, and a summing circuit coupled to the analog-to-digital converter for producing a signal related to the sum of (i) a first time related to a predetermined number of clock pulses and (ii) a second time related to the digital value.
- the voltage converter for producing a voltage that is directly proportional to the difference between a triggering pulse and a subsequent clock pulse comprises a voltage converter for producing a voltage that is directly proportional to the difference between a triggering pulse and a subsequent clock pulse.
- the summing circuit coupled to the analog-to-digital converter for producing a signal related to the sum of (i) a first time related to a predetermined number of clock pulses and (ii) a second time related to the storable digital value comprises a summing circuit coupled to the analog-to-digital converter for producing a signal related to the sum of (i) a first time that is identifiable by counting a predetermined number of clock pulses and (ii) a second time related to the digital value.
- the summing circuit coupled to the analog-to-digital converter for producing a signal related to the sum of (i) a first time related to a predetermined number of clock pulses and (ii) a second time related to the digital value comprises a summing circuit coupled to the analog-to-digital converter for producing a signal related to the sum of (i) a first time related to a predetermined number of clock pulses and (ii) a second time that is identifiable by converting the digital value to an analog value followed by converting the analog value to a time value
- the summing circuit coupled to the analog-to-digital converter for producing a signal related to the sum of (i) a first time related to a predetermined number of clock pulses and (ii) a second time related to the digital value comprises a summing circuit coupled to the analog-to-digital converter for producing a signal related to the sum of (i) a first time related to a predetermined number of clock pulses and (ii) a second time related to the phase error between a leading edge of a clock pulse and the triggering pulse.
- the apparatus includes a memory circuit coupled to the analog-to-digital converter and the summing circuit, the memory circuit having a memory register capable of storing the digital value.
- the memory circuit comprises a field-programmable gate array.
- the apparatus includes a digital-to-analog converter for representing the digital value as an analog voltage, the digital-to-analog converter coupled to the memory circuit and the summing circuit.
- the apparatus includes a time converter coupled to the digital-to-analog converter for representing the analog voltage as a time value.
- the time converter comprises a voltage ramp generator.
- the voltage converter comprises a voltage ramp generator.
- the voltage converter further comprises a sample-and-hold circuit, a voltage comparator, and a sampling amplifier.
- the voltage converter further comprises a control circuit for controlling the quiescent current of the voltage ramp generator.
- the summing circuit comprises a plurality of delay generator devices.
- the summing circuit comprises a voltage ramp generator and a comparator, the comparator having a first input coupled to a reference voltage source and a second input coupled to an output of the voltage ramp generator.
- the apparatus comprises a field programmable gate array for identifying the first and the second times.
- the apparatus comprises a synchronization circuit coupled to the field programmable gate array for improving the synchronization of the outputs of the field programmable gate array.
- the apparatus comprises a logic converter circuit for converting a signal from a first logic family to a second logic family.
- a method for generating delayed events comprises representing the time between a triggering pulse and a subsequent clock pulse as a voltage, converting the voltage to a digital value, and defining a desired delay time following the triggering pulse by (i) identifying a first time and (ii) adding to the first time a second time determined by converting the digital value to an analog value and then converting the analog value to a time value.
- identifying a first time comprises identifying a time determined by counting a predetermined number of clock cycles.
- identifying a first time comprises retrieving a stored digital time value, the stored digital time value representing a predetermined number of clock cycles.
- representing the time between a triggering pulse and a subsequent clock pulse as a voltage comprises initiating a ramp voltage for the duration of the time between the triggering pulse and the subsequent clock pulse.
- converting the voltage to a stored digital value comprises (i) converting the voltage to a digital value and (ii) storing the digital value in a memory device.
- converting the stored digital value first to an analog value and then to a time value comprises initiating a ramp voltage for a duration until the ramp voltage is substantially equal to the analog value.
- initiating a ramp voltage for a duration until the ramp voltage is substantially equal to the analog value comprises holding the ramp voltage at a voltage substantially equal to the analog value.
- holding the ramp voltage at a voltage substantially equal to the analog value comprises controlling the quiescent current of a ramp generator.
- controlling the quiescent current of a ramp generator comprises reducing the quiescent current towards zero amps.
- the method comprises defining a desired-pulse width by (i) identifying a third time and (ii) adding to the third time a fourth time determined by converting the stored digital value to an analog value and then converting the analog value to a time value.
- identifying a third time comprises identifying a time determined by counting a predetermined number of clock cycles.
- identifying a third time comprises retrieving a stored digital time value, the stored digital time value representing a predetermined number of clock cycles.
- the method comprises producing an output trigger event a duration after the trigger pulse, the duration being substantially equal to the desired delay time, the output trigger event having a duration substantially equal to the desired pulse width.
- the method comprises converting the stored digital value to a leading edge value.
- converting the stored digital value to a leading edge value comprises converting the stored digital value to a first time value, calculating a difference of a period of a master clock and the first time value, and converting the difference to a digital value.
- apparatus for generating a delayed event comprises first means for producing regular clock pulses, second means for producing a voltage that is directly proportional to the difference between a triggering pulse and a clock pulse, third means for converting a voltage produced by the second means to a digital value, and fourth means for producing a signal related to the sum of (i) a first time related to a predetermined number of clock pulses and (ii) a second time related to the digital value, the fourth means coupled to the third means.
- the second means comprises second means for producing a voltage that is directly proportional to the difference between a triggering pulse and a subsequent clock pulse.
- the fourth means for producing a signal related to the sum of (i) a first time related to a predetermined number of clock pulses and (ii) a second time related to the digital value comprises fourth means for producing a signal related to the sum of (i) a first time that is identifiable by counting a predetermined number of clock pulses and (ii) a second time related to the digital value.
- the fourth means for producing a signal related to the sum of (i) a first time related to a predetermined number of clock pulses and (ii) a second time related to the storable digital value comprises fourth means for producing a signal related to the sum of (i) a first time related to a predetermined number of clock pulses and (ii) a second time that is identifiable by converting the digital value to an analog value and then converting the analog value to a time value.
- the fourth means for producing a signal related to the sum of (i) a first time related to a predetermined number of clock pulses and (ii) a second time related to the storable digital value comprises fourth means for producing a signal related to the sum of (i) a first time related to a predetermined number of clock pulses and (ii) a second time related to the phase error between a leading edge of a clock pulse and the triggering pulse.
- the apparatus includes fifth means for storing the digital value, the fifth means including a memory register, the fifth means coupled to the third means and the fourth means.
- the fifth means comprises a field-programmable gate array.
- the apparatus includes sixth means for representing the digital value as an analog voltage, the sixth means coupled to the fourth means and the fifth means.
- the apparatus includes seventh means for representing the analog voltage as a time value, the seventh means coupled to the sixth means.
- the seventh means comprises a voltage ramp generator.
- the second means comprises a voltage ramp generator.
- the second means further comprises a sample-and-hold circuit, a voltage comparator, and a sampling amplifier.
- the second means further comprises a control circuit for controlling the quiescent current of the voltage ramp generator.
- the fourth means comprises a plurality of delay generator devices.
- the fourth means comprises a voltage ramp generator and a comparator, the comparator having a first input coupled to a reference voltage source and a second input coupled to an output of the voltage ramp generator.
- the apparatus comprises a field programmable gate array for identifying the first and the second times.
- the apparatus comprises a synchronization circuit coupled to the field programmable gate array for improving the synchronization of the outputs of the field programmable gate array.
- the apparatus comprises fifth means for converting a signal from a first logic family to a second logic family.
- a method for measuring a time between two trigger events comprises initiating a first ramp voltage for the duration of a time between a first trigger event and a subsequent clock pulse, initiating a time counter contemporaneously with the end of the first ramp voltage, initiating a second ramp voltage for the duration of a time between a second trigger event and a subsequent clock pulse, terminating the time counter contemporaneously with the end of the second ramp voltage, and calculating the delay between the first trigger event and the second trigger event.
- the method further comprises converting a peak voltage of the first ramp voltage to a first time value and converting a peak voltage of the second ramp voltage to a second time value.
- calculating the delay between the first trigger event and the second trigger event comprises converting a peak voltage of the first ramp voltage to a first time value, converting a peak voltage of the second ramp voltage to a second time value, summing the first time value with the time counter, and subtracting the second time value from the time counter.
- a method for self-calibrating a delay measurement and generation circuit comprises initiating a first voltage ramp for about one clock cycle, storing a first peak voltage of the first voltage ramp, initiating a second voltage ramp for about two clock cycles, storing a second peak voltage of the second voltage ramp, calculating the slope and intercept of a voltage-to-time line including the first and second peak voltages.
- storing a first peak voltage of the first voltage ramp comprises sampling and holding the voltage ramp after about one clock cycle.
- storing a second peak voltage of the second voltage ramp comprises sampling and holding the voltage ramp after about one clock cycle.
- storing a first peak voltage of the first voltage ramp comprises converting the first peak voltage to a first digital value and subsequently storing the first digital value in a memory location.
- storing a second peak voltage of the second voltage ramp comprises converting the second peak voltage to a second digital value and subsequently storing the second digital value in a memory location.
- the method further comprises storing the slope and intercept of the voltage-to-time line in a memory location.
- FIG. 1 illustrates a greatly simplified block diagram of a circuit constructed according to the disclosure
- FIG. 2 illustrates a block diagram of one embodiment of a circuit constructed according to the disclosure
- FIG. 3 illustrates a master clock circuit of the circuit illustrated in FIG. 2 ;
- FIG. 4 illustrates an edge detection circuit of the circuit illustrated in FIG. 2 ;
- FIG. 5 illustrates a resynchronization and jitter pulse construction circuit of the circuit illustrated in FIG. 2 ;
- FIGS. 6 and 7 illustrate a time-to-voltage converter and analog-to-digital converter circuit of the circuit illustrated in FIG. 2 ;
- FIG. 8 illustrates a memory storage and delay calculation circuit of the circuit illustrated in FIG. 2 ;
- FIG. 9 illustrates an output synchronization and converter circuit of the circuit illustrated in FIG. 2 ;
- FIGS. 10-12 illustrate a delay output circuit of the circuit illustrated in FIG. 2 ;
- FIG. 13 is a process flow diagram of a memory storage and delay calculation program for use with the circuit illustrated in FIG. 2 ;
- FIG. 14 illustrates a timing diagram of the process illustrated in FIG. 13 ;
- FIG. 15 illustrates a process flow diagram of a self-calibration method for use with the circuit illustrated in FIG. 2 ;
- FIG. 16 illustrates a timing diagram of the process illustrated in FIG. 15 ;
- FIG. 17 illustrates a process flow diagram of a delay time measurement method of the circuit illustrated in FIG. 2 ;
- FIG. 18 illustrates a timing diagram of the process illustrated in FIG. 17 .
- an illustrative circuit 10 generates delayed output events (e.g., output trigger pulses after a delay time) after a trigger pulse which occurs at a random time relative to an internal pulse from a master clock.
- Circuit 10 includes a master clock circuit 12 , a trigger detection circuit 14 , a resynchronization and jitter pulse construction circuit 16 , a time-to-voltage converter (hereinafter sometimes TVC) and analog-to-digital converter (hereinafter sometimes ADC) circuit 18 , a memory storage and delay calculation circuit 20 , and a delay output circuit 22 .
- the master clock circuit 12 produces regular clock pulses which are received by circuits 16 and 20 .
- the trigger detection circuit 14 detects the occurrence of a trigger event or pulse and produces a trigger signal corresponding to the trigger event.
- the resynchronization and jitter pulse construction circuit 16 receives the trigger signal and constructs a trigger jitter pulse corresponding to the trigger pulse and a subsequent clock edge.
- the TVC and ADC circuit 18 converts the trigger jitter pulse to a digital value and the memory storage and delay calculation circuit 20 stores the digital value.
- the circuit 20 also calculates the final delay time which, in some embodiments, may include summing the digital value with a predetermined arbitrary delay time. Additionally, in some embodiments, the circuit 20 calculates an arbitrary output pulse width.
- the delay output circuit 22 communicates with circuit 20 to produce an output pulse after the expiration of the appropriate delay time having a pulse width substantially equal to the arbitrary output pulse width.
- circuits 12 , 14 , 16 , 18 , 20 , and 22 may be otherwise divided.
- the functionality of circuit 18 can be provided by separate time-to-voltage converter and analog-to-digital converter circuits.
- the functionality of two or more of the circuits 12 , 14 , 16 , 18 , 20 , and 22 may be combined into a single circuit.
- the functions of circuits 12 and 14 can be combined into a single trigger detection, resynchronization, and jitter pulse construction circuit.
- circuit 10 may include any number of delay output circuits 22 to thereby increase the number of output channels of the circuit 10 . Additionally, the functionality of the complete circuit 10 , or a portion thereof, may be implemented in a single or multiple integrated chip(s). The circuit illustrated in FIG. 1 may also be included as a component of a larger circuit.
- the circuit 10 may be implemented using any one or more of a number of control logics.
- the illustrative circuit 10 described hereinafter use a combination of positive emitter coupled logic (hereinafter sometimes PECL) having a logic high level value of approximately 4.0 volts and a logic low-level value of approximately 3.25 volts, negative emitter coupled logic (hereinafter sometimes NECL) having a logic high level value of approximately ⁇ 0.8 volts and a logic low level value of approximately ⁇ 1.75 volts, transistor-transistor logic (hereinafter sometimes TTL) having a logic high level value of approximately 5 volts and a logic low level value of approximately 0 volts, and complimentary metal-oxide semiconductor (hereinafter sometimes CMOS) logic.
- circuit 10 may be implemented using any single logic family including other logic families such as, for example, low voltage differential signal (hereinafter sometimes LVDS) logic, or any combination of logic families as desired in the particular implementation.
- PECL positive emitter coupled logic
- NECL negative emit
- a circuit 30 for generating events after a pulse which occurs at a random time relative to an internal pulse from a master clock includes a master clock circuit 32 , a trigger detection circuit 34 , a resynchronization and jitter pulse construction circuit 36 , a time-to-voltage converter (hereinafter sometimes TVC) and analog-to-digital converter (hereinafter sometimes ADC) circuit 38 , a memory storage and delay calculation circuit 40 , an output synchronization and converter circuit 41 , and a delay output circuit 42 .
- TVC time-to-voltage converter
- ADC analog-to-digital converter
- the master clock circuit 32 is electrically coupled to circuits 36 , 40 , and 41 .
- the master clock circuit 32 generates clock pulses which are received by circuits 36 , 40 , and 41 .
- the master clock 32 produces regular square wave clock pulses.
- other types of regular clock pulses may be generated.
- Clock circuits for the generation of regular clock pulses are widely known to those skilled in the art.
- PECL regular clock pulses are produced by a clock generator 50 , illustratively an On Semiconductor type NBC 12430/LQFP 3.3V/5V Programmable PLL Synthesized Clock Generator.
- control signals TTL_CLK_SCLK, TTL_CLK_SD, TTL_CLK_SLD, are used to program the functions (e.g., clock frequency) of the clock generator 50 .
- the CLK_SCLK, TTL_CLK_SD, TTL_CLK_SLD signal lines are coupled to the memory storage and delay calculation circuit 40 which is configured to produce the appropriate control signals.
- the control signals may be produced via a separate control circuit or the like.
- the functions of the clock generator 50 may be monitored by monitoring a clock test signal, TTL_CLKTEST.
- the TTL_CLK_TEST signal line is coupled to the circuit 40 which is configured to perform the monitoring functions.
- the output of the clock generator 30 is controllable by a clock enable signal, TTL_CLOCK_EN, received on an output enable terminal, OE, of the generator 50 .
- the TTL_CLOCK_EN signal line is coupled to the circuit 30 which is configured to produce the appropriate clock enable signal.
- the frequency of the clock generator 50 is determined, in part, by a crystal oscillator 52 .
- the oscillator 52 is a temperature or “oven” compensated crystal oscillator, but other types of oscillators may be used.
- the oscillator 52 is an ILSI America type VCTCXO 1302 Series DIP Clipped Sinewave oscillator.
- An FOUT terminal of the oscillator 52 is coupled to an FREF_EXT terminal of the clock generator 50 .
- An Fadj terminal of the oscillator 32 is coupled to an FADJ signal line.
- the FADJ signal is used to control the operation (e.g., the oscillating frequency) of the oscillator 52 .
- the clock generator 50 is also coupled to a clock distribution device 54 .
- the clock distribution device 54 is an ON Semiconductor type MC 100EL15 5V ECL 1:4 Clock Distribution Chip.
- the input terminals, #CLK and CLK, of the distribution device 54 are coupled to the output terminals, #FOUT and FOUT, respectively, of the clock generator 50 .
- the distribution device 54 distributes the clock signal across four outputs (or more outputs in embodiments using a distribution device having additional distribution outputs).
- Three sets of outputs of the device 54 are coupled to the 100 MHZ_PECL 1 signal lines, 100 MHZ_PECL 2 signal lines, and the 100 MHZ_PECL 3 signal lines, respectively.
- the fourth set of outputs, Q 3 and #Q 3 are coupled to a translator 56 , illustratively an ON Semiconductor type MC100ELT21 5V Differential PECL to TTL Translator.
- the translator 56 converts the PECL clock pulses produced on the output terminals Q 3 and #Q 3 of the device 54 to TTL clock pulses for use with devices requiring TTL logic.
- the output, Q, of the translator 56 is coupled to the 100 MHZ_TTL signal line.
- the collection of clock signal lines, 100 MHZ_TTL, 100 MHZ_PECL 1 , #100 MHZ_PECL 1 , 100 MHZ_PECL 2 , #100 MHZ_PECL 2 , 100 MHZ_PECL 3 , and #100 MHZ_PECL 3 form a clock bus, CLK_BUS signal line, which is coupled to the memory storage and delay calculation circuit 40 as illustrated in FIG. 2 .
- a master clock circuit Although only one exemplary embodiment of a master clock circuit is shown in FIG. 3 , other methods and circuits for producing regular clock pulses may be used. For example, 555 timer circuits, capacitor discharging circuits, and other integrated and discrete-component timing circuits may be used to construct the master clock circuit 32 and produce regular clock pulse.
- the trigger detection circuit 34 detects the presence of a trigger event received on an input signal line.
- the trigger event is detected by a window comparator with two predetermined reference voltages.
- the window comparator is formed from a predetermined maximum voltage reference and a predetermined minimum voltage reference.
- the reference voltages may be buffered using, for example, differential amplifiers.
- the voltage level of the trigger event must fall within the voltage window created by these predetermined maximum and minimum voltage references for the trigger event to be recognized by the circuit 34 .
- the illustrative trigger detection circuit 34 includes two comparators 60 , 62 .
- a maximum voltage reference, TW 0 signal line is coupled to the IN+ input terminal of comparator 60 .
- Comparator 60 illustratively is a Maxim type MAX9601 dual PECL ultra-high-speed comparator.
- the IN ⁇ input terminal of comparator 60 is coupled to a port 64 carrying the trigger event or pulse.
- comparator 60 compares the maximum voltage reference signal, TW 0 , applied to its IN+terminal and the voltage level of any trigger event applied to the IN ⁇ terminal. If the voltage level of the trigger event falls below the maximum voltage reference, the comparator 60 will produce a PECL low level signal at the #Q output terminal.
- the minimum voltage reference, TW 1 signal line is coupled to the IN ⁇ input terminal of comparator 62 .
- Comparator 62 also illustratively is a Maxim type MAX9601 comparator.
- the IN+ input terminal of the comparator 62 is coupled to the IN ⁇ input terminal of comparator 60 and to the port 64 carrying the trigger event.
- comparator 62 compares the minimum voltage reference signal, TW 1 , applied to the IN ⁇ terminal and the voltage level of any trigger event applied to the IN+ terminal. If the voltage level of the trigger event falls above the minimum voltage reference, the comparator 62 will produce a PECL low level signal at the #Q output terminal.
- the #Q output terminals of the comparators 60 , 62 are coupled together in a wired-OR configuration to a #WINDOW_OUT_PECL signal line.
- a logic low window trigger signal is produced on the #WINDOW_OUT_PECL signal line when the trigger event voltage is within the voltage window determined by the voltage references.
- the voltage reference signals, TW 0 and TW 1 may be produced by the memory storage and delay calculation circuit 20 , a separate control circuit, or tied to a constant voltage reference signal.
- the window can be adjusted as required by the application by adjusting the voltage reference signals, TW 0 and TW 1 .
- the resynchronization and jitter pulse construction circuit 36 preserves the leading edge of the trigger event signal and synchronizes the trailing edge of the trigger signal with a subsequent clock transition.
- the trigger signal is constructed and synchronized by the cooperation of a plurality of flip-flops.
- the illustrative resynchronization and jitter pulse construction circuit 36 includes a D flip-flop 70 .
- the D flip-flop 70 is an ON Semiconductor type MC100EL31 5V ECL D flip-flop with Set and Reset.
- Circuit 36 further includes a shift register 71 comprising two D flip-flops 72 , 74 , also illustratively MC100EL31 flip-flops, and an exclusive-OR(hereinafter sometimes XOR) gate 76 , illustratively an ON Semiconductor type MC100EL07 5V ECL 2-input XOR/XNOR gate.
- a shift register 71 comprising two D flip-flops 72 , 74 , also illustratively MC100EL31 flip-flops, and an exclusive-OR(hereinafter sometimes XOR) gate 76 , illustratively an ON Semiconductor type MC100EL07 5V ECL 2-input XOR/XNOR gate.
- the #WINDOW_OUT_PECL signal line is coupled to a first input terminal of the XOR gate 76 .
- a TRIG_POLARITY_PECL signal line is coupled to a second input terminal of the XOR gate 76 .
- the trigger polarity signal controls the polarity of the window trigger signal and may be used to change the polarity by causing the XOR gate 58 to function as an inverter. This functionality allows subsequent circuit triggering on either the rising or the falling edge of the #WINDOW_OUT_PECL signal, and thereby, the trigger event signal.
- the TRIG_POLARITY_PECL signal may be a preset logic entity configured during trigger setup or may be produced by a control circuit. Illustratively, as shown in FIG.
- the TRIG_POLARITY_PECL signal line is coupled to the output synchronization and converter circuit 41 .
- the trigger polarity signal is produced by the memory storage and delay calculation circuit 40 as a TTL signal (i.e., TTL_TRIG_POLAR) and converted from the TTL signal to a PECL signal (i.e., TRIG_POLARITY_PECL) by the circuit 41 as described below in regard to FIG. 9 .
- TTL_TRIG_POLAR i.e., TTL_TRIG_POLAR
- PECL signal i.e., TRIG_POLARITY_PECL
- the Q output terminal of the XOR gate 76 is coupled to a CLK terminal of the flip-flop 70 .
- the flip-flop 70 may be configured via a number of control signals, ARM_PECL and TRIG_INHIB_PECL.
- the ARM_PECL signal line is coupled to the set terminal, S, of the flip-flop 70 and the ARM_PECL signal is used to preset the output of the flip-flop 70 .
- the TRIG_INHIB_PECL signal line is coupled to the data terminal, D, of the flip-flop 70 and the TRIG_INHIB_PECL signal is used to configure the logic level of the output of the flip-flop 70 after a triggering event (i.e., a rising edge of the inverted #WINDOW_OUT_PECL signal).
- the flip-flop control signals, ARM_PECL and TRIG_INHIB_PECL may also be preset logic entities configured during setup or may be produced by a control circuit.
- the arm and trigger inhibit control signals are produced by the circuit 40 as TTL signals (i.e., TTL_ARM and TTL_TRIG_INHIB, respectively) and converted from the TTL signal to a PECL signal (i.e., ARM_PECL and TRIG_INHIB_PECL, respectively) by the circuit 41 .
- TTL signals i.e., TTL_ARM and TTL_TRIG_INHIB, respectively
- PECL signal i.e., ARM_PECL and TRIG_INHIB_PECL, respectively
- the flip-flop 70 is preset to a logic high by the ARM_PECL and the TRIG_INHIB_PECL is held to a logic low to provide a logic low output of the flip-flop 70 after the triggering of the flip-flop 70 .
- the rising edge of the inverted #WINDOW_OUT_PECL signal triggers the flip-flop 70 , producing a falling edge on the Q output terminal of flip-flop 70 .
- the Q output terminal of flip-flop 70 is coupled to a first input terminal of an OR gate 78 .
- the OR gate 78 illustratively is an ON Semiconductor type MC100EL01 5V ECL 4-input OR/NOR gate.
- the 100 MHZ_PECL 1 master clock signal line is coupled to the CLK terminals of the flip-flops 72 , 74 of the shift register 71 .
- the D input terminal of the flip-flop 72 is coupled to the #Q output terminal of flip-flop 70 .
- a rising edge or high logic signal is produced on the #Q terminal of the flip-flop 70 .
- This high logic signal is propagated through the shift register 71 .
- the shift register 71 produces a logic high output signal that is substantially coincident with a master clock transition.
- the Q output terminal of the flip-flop 74 of the shift register 71 is coupled to a second input terminal of OR gate 78 .
- the OR gate 60 therefore, produces a “trigger jitter” output signal which is indicative of the asynchronicity of the initial trigger pulse or event plus one or more clock cycles as determined, in part, by the number of flip flops included in the shift register 71 .
- the output signal of the OR gate 78 is indicative of the asynchronicity of the initial trigger event plus one additional clock cycle.
- the output signal of the OR gate 78 comprises the asynchronous falling edge output of flip-flop 70 and the synchronous rising edge output of shift register 71 .
- the Q and #Q terminal outputs of OR gate 78 are coupled to the TRIG_JITTER_PECL and #TRIG_JITTER_PECL signal lines, respectively.
- the Time-to-Voltage and Analog-to-Digital Converter circuit 38 converts the trigger jitter signal to an analog voltage and the analog voltage to a digital value.
- the TVC and ADC circuit 38 includes a Time-to-Voltage circuit 80 illustrated in FIG. 6 and an Analog-to-Digital Converter circuit 82 illustrated in FIG. 7 .
- the trigger jitter signal is converted to an analog voltage by initiating a ramp generator for the duration of the resynchronized trigger jitter signal.
- the analog voltage value produced by the ramp generator is held for a time period suitable for an analog-to-digital converter to convert the analog voltage value to a digital value.
- the digitized voltage is thereby substantially proportional to the trigger jitter signal pulse width which is substantially proportional to the phase difference of the trigger event and a subsequent clock pulse.
- the illustrative TVC circuit 80 includes a translator 84 and a ramp generator 86 .
- the illustrative ADC circuit 82 includes an analog-to-digital converter 88 .
- Translator 72 illustratively is an ON Semiconductor type MC100ELT21 5V Differential PECL to TTL Translator.
- the Ramp generator 74 illustratively is a Burr-Brown type OPA660BB wide bandwidth operational transconductance amplifier and buffer.
- the Analog-to-digital converter 78 illustratively is an Analog Devices type AD9220 A/D converter.
- the TRIG_JITTER_PECL and #TRIG_JITTER_PECL signal lines are respectively coupled to the D and #D input terminals of the translator 84 .
- the translator 84 converts the PECL trigger jitter signal to a TTL output signal having a width corresponding to the width of the trigger jitter signal.
- the Q output terminal of the translator 84 is coupled to the Vin (or Base) input terminal of an operational transconductance amplifier 90 of the ramp generator 86 , which is configured as an integrator.
- the Collector terminal of the operational transconductance amplifier 90 is coupled to the INput terminal of a buffer amplifier 92 of the ramp generator 86 .
- a ramp voltage i.e., the RAMP_OUT signal
- the final ramp voltage is substantially proportional to the trigger jitter signal pulse width.
- the final ramp voltage produced by the ramp generator 86 is held for a time period suitable for the ADC circuit 82 to convert the final ramp voltage to a digital value.
- the quiescent current of the operational transconductance amplifier 90 is controlled (i.e., the quiescent current is reduced toward zero) so as to cause the generator 86 to maintain the final ramp voltage for a short period of time (i.e., approximately 500 nanoseconds).
- a quiescent current adjust terminal, Iq, of the operational transconductance amplifier 90 is used to reduce the quiescent current of the ramp generator 86 to substantially zero amps.
- a switch 94 illustratively a Fairchild type MMBTH81 PNP Transistor, is coupled to the Iq terminal of the amplifier 90 .
- the switch 94 is controlled by a TTL_HOLD control signal applied to the base terminal of the switch 94 .
- the quiescent current of the ramp generator 74 may be adjusted (e.g., reduced toward zero) by adjusting the TLL_HOLD signal (i.e., applying a logic low level to the base of the switch 76 ).
- the TTL_HOLD signal may be a preset logic entity configured at setup or may be produced by a control circuit.
- the TTL_HOLD signal is produced by the memory storage and delay calculation circuit 40 , as shown in FIG. 2 .
- the output of the ramp generator 86 may be coupled to a sample and hold circuit configured to sample the final ramp voltage and hold the voltage value long enough for the ADC circuit 82 to convert the voltage value to a representative digital value.
- the RAMP OUT signal produced by the ramp generator 86 is supplied to the analog-to-digital converter 88 of the ADC circuit 82 on the VINA input terminal as illustrated in FIG. 6 .
- the ADC 82 converts the ramp voltage to a twelve bit digital value.
- the digital value is a digital representation of the pulse width between the asynchronous trigger event and a subsequent internal clock pulse.
- the digital value is produced on the output port, terminals D 0 -D 11 , of the ADC 88 . It should be appreciated that ADCs having lesser or greater resolution (i.e., output bits) may be used so as to increase or decrease the resolution of the digital value according to the requirements of the particular implementation.
- the memory storage and delay calculation circuit 40 stores the digital value representing the pulse width between the asynchronous trigger event and a subsequent internal clock pulse in a memory circuit and calculates the appropriate delay time intervals. Storing the representation value digitally in memory improves the drift over time of the representation value compared to an analog storage device, for example, a capacitor storage circuit.
- the circuit 40 also calculates two distinct time intervals. The first time interval calculated by the circuit 40 is the predetermined, arbitrary initialization delay time of the delayed output event (i.e., the time to delay the beginning of the output trigger pulse). The second time interval calculated by the circuit 40 is the predetermined, arbitrary pulse width of the delayed output event (i.e., the pulse width of the output trigger pulse).
- the two time intervals are embodied as digital representations of time values which are predetermined during setup.
- the two time intervals are stored in the circuit 40 .
- the two time intervals may be determined, altered, or otherwise supplied to the circuit 30 during runtime conditions and may be stored or produced by other sub-circuits electrically coupled to circuit 40 such as a bank of selectable switches or the like.
- the two time intervals are used in conjunction with the stored digital value representing the pulse width between the trigger event and a subsequent master clock pulse, or calculated digital values based thereon, to produce a delayed output event having an initialization delay approximately equal to the arbitrary initialization delay time and a pulse width substantially equal to the arbitrary pulse width time.
- the arbitrary initialization delay time is summed with the digital value to produce a final initialization delay time.
- the delayed output event or pulse is initialized.
- the arbitrary pulse width time is also summed with the digital value to produce a final pulse width time. After the lapse of this final pulse width delay time, the delayed output event or pulse is terminated.
- the arbitrary initialization delay time and the digital value representing the pulse width between the trigger event and a subsequent master clock pulse are summed by converting the stored digital value to an analog value and further to a time value after the lapse of the arbitrary initialization delay. Subsequently, the delayed output event or pulse is initiated. Similarly, the arbitrary pulse width time and the digital value are summed by converting the stored digital value to an analog value and further to a time value after the lapse of the arbitrary pulse width time Subsequently, the delayed output event or pulse is terminated.
- the two time intervals may be summed separately with the digital value internally within the circuit 40 .
- the delayed output pulse may then be initialized after the expiration of the final initialization delay time, as counted or otherwise determined by the circuit 40 , and terminated after the expiration of the final pulse width time, as counted or otherwise determined by the circuit 40 .
- the digital values summed with the two time intervals may be the stored digital value representing the pulse width between the trigger event and a subsequent master clock pulse or calculated digital values based on the stored digital value.
- the two calculated digital values may be the same value or different values for each separate time interval. Such calculated digital values may be used in those embodiments where the arbitrary initialization delay may be a non-multiple of the master clock period (see the discussion of FIG. 11 ), other extraneous values are accounted for such as calibration factors, and the like.
- the digital value representing the pulse width between the trigger event and a subsequent master clock pulse is stored in a memory register.
- the two distinct time intervals are calculated by a programmable processing circuit as discussed below in regard to FIGS. 8 and 11 .
- the stored digital value, or calculated digital values based thereon, is converted to an analog value by a digital-to-analog converter and further converted to a time representation value by a voltage-to-time converter as discussed below in regard to FIGS. 10-12 .
- the functions of the memory storage and delay calculation circuit 40 are programmed into a Field-Programmable Gate Array device 100 (hereinafter sometimes FPGA).
- FPGA Field-Programmable Gate Array
- the functions of the circuit 40 may programmed into other types of integrated circuits or be implemented using discrete circuits and/or sub-circuits.
- the FPGA 100 illustratively is an Altera type APEX 20K FPGA.
- the functionality of circuit 40 is embodied as a software program stored in the FPGA 100 and written using Very High Speed Integrated Circuit Hardware Description Language (hereinafter sometimes VHDL).
- VHDL Very High Speed Integrated Circuit Hardware Description Language
- the FPGA 100 receives the digital value representing the pulse width between the trigger event and a subsequent master clock pulse on the D 0 -D 11 signal lines.
- the digital value is stored within memory locations or registers in the FPGA 100 .
- the FPGA 100 produces the stored digital value, or calculated digital values based on the stored digital value, on output data lines DATA_OUT 0 -DATA_OUT 11 .
- the digital value used in summation with the arbitrary initialization delay time and the digital value used in summation with the arbitrary pulse width time are multiplexed on the DATA_OUT data lines using the WRT 1 and WRT 2 control signals. Accordingly, the FPGA 100 can produce similar or different stored digital values, or calculated digital values based thereon, for summation with each of the arbitrary time intervals.
- the FPGA 100 determines the two time intervals via retrieving digital representations of the time intervals from memory locations or registers, or in alternative embodiments, may receive the time interval values on input signal lines. After the lapse of the arbitrary initialization delay time, as determined by the FPGA 100 by counting the appropriate master clock cycles, the FPGA 100 produces a trigger signal or pulse on the TTL_START_ 1 signal line. Similarly, after the lapse of the arbitrary pulse width time, as determined by the FPGA 100 by counting the appropriate master clock cycles, the FPGA produces a trigger signal or pulse on the TTL_STOP_ 1 signal line.
- the FPGA 100 can be configured to accommodate multiple output channels having alternative time intervals produced on other TTL_START and TTL_STOP signal lines.
- the FPGA 100 also produces a number of control signals, as illustrated in FIGS. 2 and 8 , for controlling various circuits of circuit 10 .
- a process flow diagram of a program 160 for use with the FPGA 100 is illustrated in FIG. 13 .
- the program 160 is programmed into the FPGA 100 using VHDL. See the discussion of FIG. 8 .
- the program 160 begins with a process step 162 in which portions of the FPGA 100 are initialized.
- the desired arbitrary initialization delay time and the arbitrary pulse width time values may be retrieved from memory locations of the FPGA 100 , or alternatively, from associated memory devices or input ports of the FPGA 100 .
- the two time values are used to calculate the final initialization delay time and the pulse width of the delayed output event.
- the arbitrary initialization delay time value is divided by the period of the master clock.
- the quotient of the operation of process step 164 is loaded into a synchronous timer 1 (e.g., an internal data accumulator, register, memory location, or the like) in process step 166 .
- a synchronous timer 1 e.g., an internal data accumulator, register, memory location, or the like
- two clock cycles are subtracted from the quotient of the operation of process step 164 to account for the additional clock cycle inherent in the voltage ramp and the leading edge calculation of the trigger event as discussed below in regard to process step 184 .
- process step 166 the remainder of the operation of process step 164 is loaded into an asynchronous timer 1 (e.g., an internal data accumulator, register, memory location, or the like), the arbitrary pulse width delay time value is stored in a synchronous timer 2 (e.g., an internal data accumulator, register, memory location, or the like), and the trigger circuit is armed.
- asynchronous timer 1 e.g., an internal data accumulator, register, memory location, or the like
- a synchronous timer 2 e.g., an internal data accumulator, register, memory location, or the like
- An exemplary arbitrary initialization delay time 200 and an exemplary arbitrary pulse width time 202 are illustrated in FIG. 14 .
- program 160 determines if a trigger event 206 has occurred.
- the FPGA 100 may determine that a trigger event has occurred by receiving a trigger pulse received on the TTL_TRIG_OUT signal line as illustrated in FIG. 2 . If no trigger event 206 has been received, the program 160 continues to monitor for the trigger event 206 .
- a synchronous counter is initiated in process step 170 .
- the synchronous counter begins to count master clock cycles beginning with the next clock pulse after the trigger event or pulse as illustratively shown in FIG. 14 as initialization count 210 .
- a voltage ramp 208 is initiated contemporaneously with the trigger event 206 (see discussion of FIG. 6 ). For example, as illustrated in FIG.
- the ramp 208 is initiated at a time point 212 .
- the time point 212 may or may not be synchronous with the trigger event 206 due to inherent delays (e.g., component propagation delays) within circuit 30 .
- the ramp 208 continues to rise until a convenient leading edge of the master clock pulse train 204 .
- the ramp 208 continues for a time period equal to the phase error between the trigger event 206 and the leading edge of the subsequent clock cycle of the master clock pulse train 204 plus one additional clock cycle, i.e., a time point 214 at the rising edge of the second master clock cycle after the detection of the trigger event 206 .
- the time point 214 may or may not occur synchronously with the rising edge of a clock pulse of the master clock pulse train 204 due to inherent delays within circuit 30 .
- the inherent delays within circuit 30 are accounted for during a self-calibration method 230 which will be discussed below in connection with FIGS. 15 and 16 .
- the voltage value of the ramp 208 is held at the final ramp value (i.e., the value at time point 214 ) for a period of time suitable to convert the analog voltage value to a digital value which thereby represents the pulse width between the trigger event 206 and the second subsequent clock pulse of the master clock pulse train 204 (see discussion of FIG. 6 ).
- the digital value representing the pulse width between the trigger event 206 and the second subsequent master clock pulse is received and read by the FPGA 100 on the DO-D 11 data lines.
- the digital value is subsequently stored in memory in process step 174 .
- the digital value is stored in an asynchronous timer 2 (e.g., an internal data accumulator, register, memory location, or the like).
- the digital value is converted to a time value in process step 176 .
- the digital value is converted using the calibration coefficients as determined by the self-calibration method 230 discussed below in regard to FIGS. 15 and 16 .
- process step 178 the converted time value is summed with the time value (i.e., the quotient of process step 164 ) previously stored in the asynchronous timer 1 (process step 166 ) and the sum of this addition is stored in the asynchronous timer 1 .
- process step 180 the program 160 determines if the time value stored in the asynchronous timer 1 is greater than one master clock cycle. If the time value stored in the asynchronous timer 1 is not greater than one master clock cycle, the program 160 skips process step 182 and advances to process step 184 which will be discussed below. If the time value stored in the asynchronous timer 1 is greater than one master clock cycle, in process step 182 , one clock cycle is subtracted from the asynchronous time 1 and one clock cycle is added to the synchronous timer 1 . In process step 184 , the time values stored in the asynchronous timer 1 and timer 2 are converted to leading edge voltage values using the calibration coefficients as determined by the self-calibration method 230 discussed below in regard to FIGS.
- Each of the time values stored in the asynchronous timer 1 and timer 2 are converted to leading edge time values by subtracting their current time values from the period of the master clock.
- the resultant leading edge time values represent the pulse width from the start of the clock cycle in which the trigger event occurred to the trigger event.
- the leading edge time value may also include any asynchronous portion of the arbitrary initialization delay time as discussed above in regard to process steps 164 and 166 .
- the leading edge time values are subsequently converted to voltage values using the calibration coefficients.
- the program 160 determines if the time value stored in the synchronous timer 1 has elapsed.
- the FPGA 100 determines the elapse of the synchronous timer 1 by comparing the synchronous counter (i.e., the number of elapsed clock cycles) with the synchronous timer 1 . If the synchronous timer 1 has not elapsed, the synchronous counter continues to count clock cycles until the number of counted clock cycles equals the time value stored in the synchronous timer 1 . If the synchronous timer 1 has elapsed, the synchronous counter is restarted in process step 188 .
- the synchronous counter begins counting the master clock cycles contemporaneously with the end of the first synchronous counter as illustratively shown in FIG.
- the voltage value stored in the asynchronous timer 1 is written to the output port of the FPGA 100 and appears on the output signal lines DATA_OUT[ 0 . . . 11 ].
- the output data is multiplexed on the DATA_OUT[ 0 . . . 11 ] data lines and, consequently, the WRT 1 signal is used to identify that the voltage value stored in the asynchronous timer 1 is being written to the DATA_OUT[ 0 . . . 11 ] data lines.
- the initialization delay ramp 216 is also triggered in process step 190 and rises to a target voltage (at time point 218 ) determined by the voltage value written to the output port, thereby converting the voltage value to a time value.
- the initialization delay ramp is triggered via the TTL_START_ 1 signal (see FIG. 11 )
- the program 160 determines if the time value stored in the synchronous timer 2 has elapsed in process step 192 .
- the FPGA 100 determines the elapse of the synchronous timer 2 by comparing the synchronous counter (i.e., the number of elapsed clock cycles) with the synchronous timer 2 . If the synchronous timer 2 has not elapsed, the synchronous counter continues to count clock cycles until the number of counted clock cycles equals the time value stored in the synchronous timer 2 . If the synchronous timer 1 has elapsed, the voltage value stored in the asynchronous timer 2 is written to the output port of the FPGA 100 in process step 194 and appears at the output signal lines DATA_OUT[ 0 . . . 11 ].
- the WRT 2 signal is used to identify that the voltage value stored in the asynchronous timer 1 is being written to the DATA_OUT[ 0 . . . 11 ] signal lines.
- the pulse width time ramp 222 is also triggered in process step 194 and rises to a target voltage (at time point 224 ) determined by the voltage value written to the output port, thereby converting the voltage value to a time value.
- the initialization delay ramp is triggered via the TTL_STOP_ 1 signal.
- An output pulse 226 is produced which includes an initialization edge corresponding to the time point 218 at which the initialization delay ramp reached the target voltage value as determined by the asynchronous timer 1 and a terminating edge corresponding to the time point 224 at which the pulse width time ramp reached the target voltage value as determined by the asynchronous timer 2 . Therefore, the output pulse 226 has an initialization delay substantially equal to the sum of the arbitrary initialization delay and the phase error of the trigger event and a pulse width substantially equal to the arbitrary pulse width time.
- the trigger circuit is rearmed and the program 160 loops back to process step 168 to monitor for another trigger event.
- the output synchronization and converter circuit 41 synchronizes a number of the outputs of the memory storage and delay calculation circuit 40 (i.e., the FPGA 100 ) and converts the outputs of the circuit 41 from TTL outputs to ECL outputs as required by subsequent circuits.
- the circuit 41 may not be required in those embodiments in which the memory storage and delay calculation circuit 40 exhibits minimal jitter between outputs. Additionally, in embodiments in which the circuit 30 is implemented using a single logic family or in which the logic family of the outputs of circuit 40 match the logic family of the circuits receiving said outputs, the outputs of the circuit 40 need not be converted.
- the circuit 41 includes a synchronization circuit 110 and a number of converter circuits 112 , 116 , 118 , 120 , and 122 .
- the synchronization circuit 110 includes two translators 124 , 126 and a register 128 .
- the translators 124 , 126 are two portions of an ON Semiconductor type MC100ELT22 5V dual TTL to differential PECL translator and the register 128 is an ON Semiconductor type MC10EP451 3.3V/5V ECL 6-Bit differential register.
- the input terminal, D 0 , of the translator 124 is coupled to the TTL_START_ 1 signal line and the input terminal, D 1 , of translator 126 is coupled to the TTL_STOP_ 1 signal line.
- the translators 124 , 126 convert the TTL_START_ 1 and TTL_STOP_ 1 signals produced by the circuit 40 to PECL signals.
- the outputs, Q and #Q, of translator 124 are coupled to the D 0 and #D 0 input terminals of the register 128 .
- the outputs, Q and #Q, of translator 126 are coupled to the D 1 and #D 1 input terminals of the register 128 .
- the clock terminals, CLK and #CLK, of the register 128 are coupled to the 100 MHZ_PECL and #100MHZ_PECL master clock signal lines.
- the Q 0 and #Q 0 output terminals of register 128 are coupled to the TRIG_START_PECL and #TRIG_START_PECL signal lines, respectively, of the register 128 .
- the Q 1 and #Q 1 output terminals of the register 128 are coupled to the TRIG_STOP_PECL and #TRIG_STOP_PECL signal lines, respectively, of the register 128 .
- the register 128 minimizes any jitter present in the outputs of the memory storage and delay calculation circuit 40 by synchronizing the start and stop signals with the master clock.
- Each of the converter circuits 112 , 116 , 118 , 120 , 122 include TTL to ECL translators to convert the TTL control signals to ECL signals.
- the converter circuit 112 includes a translator 113 having an input terminal, D 0 , coupled to the TTL_TRIG_INHIB signal line and a translator 114 having an input terminal, D 1 , coupled to the TTL_ARM signal line.
- the Q 0 output terminal of translator 113 is coupled to the TRIG_INHIB_PECL signal line and the Q 0 output terminal of translator 114 is coupled to the ARM_PECL signal line.
- the translators 113 , 114 are two portions of an ON Semiconductor type MC100ELT22 5V dual TTL to differential PECL translator.
- the converter circuit 116 includes a translator 117 , illustratively an ON Semiconductor type MC100ELT20 5V TTL to differential PECL translator, having an input terminal, D, coupled to the TTL_TRIG_POLAR signal line and an output terminal, Q, coupled to the TRIG_POLARITY_PECL signal line.
- Each of the converter circuits 118 , 120 , 122 includes a translator 119 , 121 , 123 , respectively, configured to convert a TTL control signal to an NECL signal.
- the translators 119 , 121 , 123 are ON Semiconductor type MC100ELT24 5V TTL to differential ECL translators.
- the translator 119 includes an input terminal, D, coupled to the TLL_RST_TGL signal line and an output terminal, Q, coupled to the RST_TGL_NECL signal line.
- the translator 121 includes an input terminal, D, coupled to the TTL_HOLD_LATCH signal line and output terminals, Q and #Q, coupled to the RAMPLATCH_NECL and #RAMPLATCH_NECL signal lines, respectively.
- the translator 123 includes an input terminal, D, coupled to the TTL_OUT_INHIB signal line and output terminal, Q and #Q, coupled to the OUT_INHIB_NECL and #OUT_INHIB_NECL signal lines, respectively. Additional converter circuits may be used in other embodiments to convert additional control signals to similar or other logic families as required by the particular embodiment or implementation of the circuit 30 .
- the delay output circuit 42 delays the initialization of the output delay event by the sum of the pulse width between the trigger event and a subsequent master clock pulse as represented by the stored digital value and the arbitrary initialization delay time. Further, the circuit 42 produces an output delay event having a pulse width substantially equal to the arbitrary pulse width delay at an output port.
- a digital-to-analog converter converts the stored digital value, or calculated digital values based thereon, to a first and a second analog voltage value. A first voltage ramp is initiated after the arbitrary initialization delay time has elapsed as determined by the circuit 40 . Once the first voltage ramp equals the first converted analog voltage value, a first output pulse is generated.
- a second voltage ramp is initiated after the arbitrary pulse width delay time has elapse as determined by the circuit 40 . Once the voltage of the second ramp equals the second converted analog voltage value, a second output pulse is generated. A delayed output event is subsequently produced having an initialization edge (i.e., a rising edge) corresponding to the first output pulse and a terminating edge (i.e., a falling edge) corresponding to the second output pulse.
- an initialization edge i.e., a rising edge
- a terminating edge i.e., a falling edge
- the delay output circuit includes a digital-to-analog converter 130 , a first and second current-to-voltage converter 132 , 134 , respectively, a first and second translator 136 , 138 , respectively, a first and second ramp generator 140 , 142 , respectively, a first and second comparator 144 , 146 , an AND gate 148 , a JK flip-flop 150 , and an integrated driver 152 .
- the DAC 130 illustratively is a Burr-Brown type DAC2902 dual, 12 bit, 125 MSPS, digital-to-analog converter.
- the converters 132 , 134 illustratively are Burr-Brown type OPA686/SO wideband, low noise, voltage feedback operational amplifiers.
- the translators 136 , 138 illustratively are ON Semiconductor type MC100ELT21 5V differential PECL to TTL translators.
- the ramp generators 140 , 142 illustratively are Burr-Brown type OPA660BB wide bandwidth operational transconductance and buffers.
- the comparators 144 , 146 illustratively are Maxim type MAX9600 dual ECL ultra-high-speed comparators.
- the AND gate 148 illustratively is an ON Semiconductor type MC100EL04 5V ECL 2-input AND/NAND gate.
- the JK flip-flop 150 illustratively is an ON Semiconductor type MC100EL35 JK flip-flop and the integrated driver 152 is an Analog Devices type AD53040 ultrahigh speed pin driver.
- the DAC 130 includes a first and second input port having data input terminals D 0 _ 1 -D 11 _ 1 and D 0 _ 2 -D 11 _ 2 , respectively.
- the D 0 _ 1 -D 11 _ 1 and D 0 _ 2 -D 11 _ 2 data terminals are wired in a parallel configuration to the data lines D 0 -D 11 , respectively (See FIG. 2 ).
- Data information is multiplexed on the data lines, D 0 -D 11 , by the FPGA 100 .
- the WRT 1 and WRT 2 control signals determine the particular port and associated data terminals of the DAC 130 to which the data on the D 0 -D 11 data lines is written.
- the WRT 1 terminal of DAC 130 is coupled to the WRT 1 signal line and the WRT 2 terminal of DAC 130 is coupled to the WRT 2 signal line.
- the DAC 130 converts the digital values received at the first and second input ports to analog output values produced at IOUT 1 and IOUT 2 terminals, respectively, of the DAC 130 .
- the outputs of the DAC 130 are current outputs and are subsequently converted to voltage outputs by the converters 132 , 134 .
- the IOUT 1 and #IOUT 1 terminals of the DAC 130 are coupled to the non-inverting input terminal (+) and inverting input terminal ( ⁇ ), respectively, of the converter 132 .
- the IOUT 2 and #IOUT 2 terminals of the DAC 130 are coupled to the non-inverting input terminal (+) and the inverting input terminal ( ⁇ ), respectively, of the converter 134 .
- the output of converters 132 , 134 are analog voltage values of the digital values received on the data lines D 0 -DL 1 .
- the output of the converter 132 corresponds to the asynchronous timer 1 voltage value which provides a target voltage level for the output initialization delay ramp and is coupled to the V_START_DELAY signal line.
- the output of the converter 132 corresponds to the asynchronous timer 2 voltage value which provides a target voltage level for the output pulse width ramp and is coupled to the V_STOP_DELAY signal line. The operation of the voltage ramps is discussed in detail below in regard to FIG. 11 .
- the V_START_DELAY and V_STOP_DELAY signal lines are coupled to the IN ⁇ terminals of comparators 144 , 146 , respectively.
- the TRIG_START_PECL and #TRIG_START_PECL signal lines are coupled to the Q and #Q inputs of the translator 136 .
- the TRIG_STOP_PECL and #TRIG_STOP_PECL signal lines are coupled to the Q and #Q inputs of translator 138 .
- the translators 136 , 138 convert the PECL signals on the TRIG_START_PECL and TRIG_STOP_PECL signal lines to TTL signals.
- the output of the translator 136 is coupled to the Vi input terminal of the operational transconductance amplifier of the ramp generator 140 .
- the ramp generator 140 is configured as an integrator and generates a voltage ramp when the generator 140 receives the TRIG_START_PECL signal.
- the OUTput terminal of ramp generator 140 is coupled to the IN+ terminal of the comparator 144 .
- the comparator 144 produces a PECL low logic level pulse signal on the #Q output terminal when the ramp voltage of the ramp generator 140 is substantially equal to or greater than the analog voltage value of the V_START_DELAY data signal.
- the output value of the comparator 144 is latched for an appropriate time period to produce an output pulse having a suitable pulse width using the RAMPLATCH_NECL and #RAMPLATCH_NECL signals.
- the #Q output terminal of the comparator 144 is coupled to the D 0 input terminal of the AND gate 148 .
- the output of translator 138 is coupled to the Vi input terminal of the operational transconductance amplifier of the ramp generator 142 .
- the ramp generator 142 is also configured as an integrator and generates a voltage ramp when the generator 142 receives the TRIG_STOP_PECL signal.
- the OUTput terminal of ramp generator 142 is coupled to the IN+ terminal of the comparator 146 .
- the comparator 146 produces a PECL low logic level pulse signal on the #Q output terminal when the ramp voltage of the ramp generator 142 is substantially equal to or greater than the analog voltage value of the V_STOP_DELAY data signal.
- the output value of the comparator 146 is latched for an appropriate time period to produce an output pulse having a suitable pulse width using the RAMPLATCH_NECL and #RAMPLATCH_NECL signals.
- the #Q output terminal of the comparator 146 is coupled to the D 1 input terminal of the AND gate 148 .
- the AND gate 148 produces a first PECL high logic level pulse corresponding to the PECL low logic level pulse of the output of comparator 144 and a second PECL high logic level pulse corresponding to the PECL low logic level pulse of the output of comparator 146 at its #Q output terminal.
- the #Q output terminal of the AND gate 148 is coupled to the CLK control terminal of the flip-flop 150 .
- the flip-flop 150 is wired in a toggle configuration with a data value set to an NECL high logic level.
- the reset terminal, R, of the flip-flop 150 is coupled to the RST_TGL_NECL signal line thereby allowing the flip-flop 150 to be reset according to the RST_TGL_NECL signal.
- the output terminals, Q and #Q, of the flip-flop 150 are coupled to the PULSE_OUT_NECL and #PULSE_OUT_NECL signal lines.
- the flip-flop is toggled for a first time at the rising edge of the first PECL high logic level pulse received from the AND gate 148 and toggled a second time at the rising edge of the second PECL high logic level pulse received form the AND gate 148 .
- the PULSE_OUT_NECL signal is an NECL high logic level pulse with a pulse width approximately equal to the width between the rising edges of the first and second PECL high logic level output pulses of the AND gate 148 . It should be noted that the output signal of the flip-flop 150 may or may not be synchronous with the master clock.
- the PUSLE_OUT_NECL and #PULSE_OUT_NECL signal lines are coupled to the DATA and #DATA terminals, respectively, of the integrated driver 152 .
- the integrated driver 152 translates the voltage level of the output delayed event signal from flip-flop 150 to a voltage level determined by the VO_HIGH and VO_LOW control signals.
- the integrated driver 152 therefore, permits the production of an output delayed event signal having a variety of logic voltage levels.
- the control signals, VO_HIGH and VO_LOW may be preset voltage values or supplied by other circuits.
- the OUT_INHIB_NECL control signal may be used to control the operation of the integrated driver 152 .
- the OUT_INHIB_NECL and #OUT_INHIB_NECL control lines are coupled to the INH and #INH control terminals of the driver 152 , respectively.
- the V_OUT output terminal of integrated driver 152 is coupled to an output port 154 .
- the timing accuracy of circuits 10 , 30 is affected by the characteristics of the voltage ramp generated by the Time-to-Voltage Converter and Analog-to-Digital Converter circuits 18 , 38 , respectively.
- the ramps generated by the internal circuitry of the circuits 10 , 30 may include timing uncertainties.
- the start of the voltage ramps may include unknown internal delays, and therefore, may be asynchronous with the master clock.
- the termination of the voltage ramps may be asynchronous with the master clock.
- sub-circuits and individual components of circuits 10 , 30 for example, the ADC 88 of circuit 38 (illustrated in FIG. 7 ), may include unknown internal or propagation delays.
- a self-calibration method 230 may be used to compensate for the unknown timing uncertainties of the circuits 10 , 30 .
- the self-calibration method 230 is discussed below in reference to the circuit 30 which is one illustrative embodiment of the circuit 10 with the understanding that the method 230 may be used with any embodiment of the circuit 10 .
- the self-calibration method or process 230 begins with a process step 232 in which portions of the circuit 30 are initialized.
- the initialized portions may include, for example, the master clock circuit 32 among other sub-circuits of circuit 30 .
- the process 230 monitors for a leading edge of a clock cycle of a master clock pulse train. If no leading edge is detected, the process 230 loops back to process step 234 to continue monitoring for a leading edge of a master clock cycle.
- An exemplary master clock pulse train 280 is illustrated in FIG. 16 .
- a leading edge of a master clock cycle corresponds to a rising edge of the master clock cycle, but in other embodiments falling edges of master clock cycles may be used as leading edges of clock cycles.
- a first ramp 282 is initiated in process step 236 at a time point 284 contemporaneously with the detected leading edge of the master clock pulse train 280 as illustrated in FIG. 16 .
- the first ramp 282 is produced by the ramp generator 86 of the TVC and ADC circuit 38 of the circuit 30 , but other ramp generation circuits may be used to calculate additional inherent delays. It should be appreciated from FIG. 16 that the time point 284 may or may not be synchronous with the leading edge of the clock cycle of the master clock pulse train 280 due to the internal delays of the circuit 30 .
- the first ramp 282 continues for one full clock cycle of the master clock pulse train 280 .
- the process 230 monitors for the next leading edge of the master clock pulse train 280 in process step 238 . If no leading edge is detected, the process 230 loops back to process step 238 to continue monitoring for the leading edge of the next master clock cycle.
- the first voltage ramp 282 is stopped at a time point 286 contemporaneously with the detected leading edge (i.e., the end of the previous master clock cycle) of the next master clock cycle in process step 240 . Also in process step 240 , the ramp voltage of the first ramp 282 is held for a suitable time period (e.g., a time period suitable to convert the analog voltage value to a digital value).
- the ramp voltage produced by the ramp generator 88 of the TVC and ADC circuit 38 is held by controlling the quiescent current of the ramp generator 88 , but other methods of holding the ramp voltage may be used such as a sample and hold circuit as discussed above in regard to FIG. 6 . Similar to time point 284 , it should be appreciated that the time point 286 may be synchronous or asynchronous with the leading edge of the next master clock cycle due to the internal delays of the circuit 30 .
- the analog voltage value of the first ramp 282 which is held in step 240 is converted to a digital value in process step 242 .
- the analog ramp voltage value is converted to a digital ramp voltage value by the ADC 88 (see FIG. 7 ) of the TVC and ADC circuit 38 .
- the digital ramp voltage value is stored in a memory location.
- the digital ramp voltage value is stored by the Memory Storage and Delay Calculation circuit 40 in an internal memory location.
- the digital ramp voltage value may be stored in an external memory device.
- the circuit 30 is reset in process step 246 .
- process step 248 the process 230 monitors for another leading edge of a clock cycle of the master clock pulse train 280 . If no leading edge is detected, the process 230 loops back to the process step 248 to continue monitoring for another leading edge of a master clock cycle. Once process 230 detects another leading edge (i.e., a rising edge) of a clock cycle of the master clock pulse train 280 , a second ramp 292 is initiated in process step 250 at a time point 294 contemporaneously with the detected leading edge of the master clock pulse train 280 as illustrated in FIG. 16 .
- the time point 294 may be synchronous or asynchronous with the leading edge of the clock cycle of the master clock pulse train 280 due to the internal delays of the circuit 30 .
- the circuits 18 may be used to initiate multiple ramps at a single time point.
- the initiation time points 284 , 294 may or may not be synchronous with each.
- the second ramp 292 is initiated after the termination of the first ramp 282 and, accordingly, the initiation time points 284 , 294 are not synchronous with each other.
- the second ramp 292 continues for two full clock cycles of the master clock pulse train 280 .
- the process 230 monitors for the second leading edge of the master clock pulse train 280 in process step 252 . If the second leading edge is not detected, the process 230 loops back to process step 252 to continue monitoring for the second leading edge of the master clock pulse train 280 . Once the second leading edge of the master clock pulse train 280 has been detected, the second voltage ramp 292 is stopped at a time point 296 contemporaneously with the detected second leading edge (i.e., the end of the previous two master clock cycles) of the master clock pulse train 280 in process step 254 .
- the ramp voltage of the second ramp 282 is held for a suitable time period (e.g., a time period suitable to convert the analog voltage value to a digital value).
- the time point 296 may be synchronous or asynchronous with the second leading edge of the master clock pulse train 280 due to the internal delays of the circuit 30 .
- the analog voltage value of the second ramp 282 which is held in step 254 is converted to a digital value in process step 256 .
- the digital ramp voltage value is stored in a memory location such as in the Memory Storage and Delay Calculation circuit 40 .
- the circuit 30 is subsequently reset in process step 260 .
- voltages at times 284 , 286 , 294 , and 296 are known. These four voltages and their respective times are stored in memory, for example in the Memory Storage and Delay Calculation circuit 40 , in process step 262 .
- the process 230 calculates the slope and intercept of a voltage-to-time plot using the archived data values in process step 264 .
- the voltage-to-time plot permits referencing voltage values to time values and time values to voltage values.
- the voltage-to-time plot may increase the circuit's accuracy because the data points reflect some of the inherent delay times of circuit 30 .
- the coefficients of the voltage-to-time plot are subsequently stored in a memory location in process step 268 and the process 230 ends in process step 270 .
- a system including two circuits 10 of the type illustrated in FIG. 1 may be used to measure the delay time between two input pulses utilizing a delay time measurement method or process 300 .
- a system having a first and a second illustrative circuit 30 may be used with the method 300 .
- the method 300 is described below in reference to the circuit 30 which is one illustrative embodiment of the circuit 10 , it should be appreciated that the method 300 is applicable to other embodiments of the circuit 10 as well.
- a single master clock circuit 12 , 32 may be used in such systems.
- the delay time measurement method 300 begins with a process step 302 in which the first and second circuits 30 are initialized. Initialization may include, for example, initializing the master clock circuit 32 . An illustrative master clock pulse train 350 is shown in FIG. 18 .
- the trigger circuits of the first and second circuits 30 are armed and prepared for the detection of trigger events. For example, the window voltages are determined and supplied to the Signal Conditioning and Edge Detection Circuits 34 of the first and second circuits 30 and the flip-flops of the Resynchronization and Jitter Pulse construction circuits 36 of the first and second circuits 30 are preset and armed.
- process step 306 the process 300 determines if a first trigger event 352 has been received by the first circuit 30 . If the first circuit 30 received the first trigger event 352 , the process 300 advances to process step 310 which will be described below. If the first circuit 30 did not receive the first trigger event 352 , the process 300 determines if a second trigger event 354 has been received by the second circuit 30 in process step 208 . If the second circuit 30 received the second trigger event 354 , the process 300 advances to process step 322 which will be described below. If the second circuit 30 has not received the second trigger event 354 , the process 300 loops back to process step 306 to determine if the first circuit 30 has received the first trigger event 352 . Accordingly, the process 300 continues to monitor for one of the trigger events 352 , 354 by advancing through the monitoring loop formed from the process steps 306 and 308 .
- the phase error between the first trigger event 352 and the master clock pulse train 350 is determined in process step 310 .
- the phase error is determined by initiating a first voltage ramp 356 contemporaneously with the detection of the first trigger event 352 at a time point 358 .
- the first ramp 356 continues until a convenient leading edge of the master clock pulse train 350 .
- the first ramp 356 continues for a time period equal to the phase error between the first trigger event 352 and the leading edge of the next cycle of the master clock pulse train 350 plus one additional clock cycle, i.e., a time point 360 at the rising edge of the second master clock cycle after the detection of the first trigger event 352 .
- the time point 358 may or may not be synchronous with the detected first trigger event 352 due to inherent delays within the circuits 30 .
- the time point 360 may or may not be synchronous with the leading edge of the clock cycle of the master clock pulse train 350 due to inherent delays within circuits 30 .
- the self-calibration method 230 may be used to compensate for the inherent delays of the circuits 30 as discussed above in regard to FIGS. 15 and 16 .
- the voltage value of the ramp 356 is digitized and the digital value is stored in a memory location.
- the voltage value of the ramp 356 is digitized by the ADC 88 (see FIG. 7 ) of the TVC and ADC circuit 38 and stored in the Memory Storage and Delay Calculation circuit 40 (see FIG. 8 ).
- a synchronous counter illustrated in FIG. 18 by synchronous counter 368 , is initiated to count the number of elapsed master clock cycles.
- the synchronous counter 368 is initiated at the rising edge of the second master clock cycle after the first trigger event 352 and contemporaneously with the time point 362 .
- process step 314 the process 300 monitors for the second trigger event 354 . If the second circuit 30 has not received the second trigger event 354 , the process 300 loops back to process step 314 to continue monitoring for the second trigger event 354 . If the second circuit 30 has received the second trigger event 354 , the phase error between the second trigger event 354 and the master clock pulse train 350 is determined in process step 316 . Illustratively, the phase error is determined by initiating a second voltage ramp 362 contemporaneously with the detection of the second trigger event 354 at a time point 364 . The second ramp 362 continues until a convenient leading edge of the master clock pulse train 350 .
- the second ramp 362 continues for a time period equal to the phase error between the second trigger event 354 and the leading edge of the next cycle of the master clock pulse train 350 plus one additional clock cycle, i.e., a time point 366 at the rising edge of the second master clock cycle after the detection of the second trigger event 354 .
- the time point 364 may or may not be synchronous with the detected second trigger event 354 due to inherent delays within the circuits 30 .
- the time point 366 may or may not be synchronous with the leading edge of the clock cycle of the master clock pulse train 350 due to inherent delays within circuits 30 .
- the self-calibration method 230 may be used to compensate for the inherent delays of the circuits 30 as discussed above in regard to FIGS. 15 and 16 .
- the voltage value of the ramp 362 is digitized and the digital value is stored in a memory location.
- the voltage value of the ramp 362 is digitized by the ADC 88 (see FIG. 7 ) of the TVC and ADC circuit 38 and stored in the Memory Storage and Delay Calculation circuit 40 (see FIG. 8 ).
- the synchronous counter is terminated and the value of the synchronous counter is stored in a memory location:
- the synchronous counter is terminated contemporaneously with the time point 366 at the rising edge of the second master clock cycle after the second trigger event 354 .
- the time value of the synchronous counter is stored in the Memory Storage and Delay Calculation circuit 40 .
- the process 300 subsequently advances to process step 320 which will be described below.
- the process 300 performs a process routine formed of process steps 322 - 330 which is similar to the respective process steps of 310 - 318 .
- the process routine of process steps 322 - 330 and process steps 310 - 318 differ in that the second voltage ramp 362 is initiated prior to the first voltage ramp 356 because the second trigger event 354 is received prior to the first trigger event 352 .
- the synchronous counter is initiated at the termination of the second ramp 362 and is halted at the termination of the first ramp 356 .
- the calculation process of the phase error of the trigger events 352 , 354 is similar in both process routines. Accordingly, the process 300 operates in substantially the same manner independent of whether the first trigger event 352 occurs before or after the second trigger event 354 .
- the delay time between the two triggering events 352 , 354 is calculated by the process 300 .
- the delay time between the two trigger events 352 , 354 is calculated by summing the value of the synchronous counter with the time value of the voltage ramp associated with the first received trigger event (i.e. the first voltage ramp 356 if the first trigger event 352 is received prior to the second trigger event 354 and the second voltage ramp 362 if the second trigger event 354 is received prior to the first trigger event 352 ).
- the time value of the voltage ramp associated with the second received trigger event (i.e. the second voltage ramp 362 if the first trigger event 352 is received prior to the second trigger event 354 and the first voltage ramp 356 if the second trigger event 354 is received prior to the first trigger event 352 ) is then subtracted from this sum.
- the resulting value therefore, is the delay time between the first received trigger event and the second received trigger event.
- the time value of the digitized voltage ramp values may be determined by using the calibration coefficients determined by the self-calibration method 230 described above in regard to FIGS. 15 and 16 .
- the process 300 subsequently terminates in process step 332 .
- the delay time calculation process of process step 320 may be configured or otherwise altered to accommodate other timing factors including, but not limited to, fixed and known delays.
- Knowledge of the time delay between two trigger pulses may have many applications including, for example, measuring the propagation delay in electrical circuitry, RADAR, control circuits, and distance measurement circuitry.
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Analogue/Digital Conversion (AREA)
Abstract
A circuit and method for generating a delayed event following a trigger pulse occurring at a random time between clock pulses is disclosed. The circuit includes a clock circuit, a voltage converter, an analog-to-digital converter circuit, a memory storage circuit, and a summing circuit. The method includes representing the time between the triggering pulse and a subsequent clock pulse as a voltage, converting the voltage to a stored digital value, and defining a desired delay time by adding a first time determined by counting a predetermined number of clock cycles to a second time determined by converting the stored digital value first to an analog value and then to a time value.
Description
- This application is a divisional of U.S. patent application Ser. No. 10/744,834 filed Dec. 23, 2003, which claims priority under 35 U.S.C. § 119(e) to U.S. Provisional Application Ser. No. 60/455572, filed on Mar. 17, 2003, the disclosure of both which are hereby incorporated by reference herein.
- This invention relates generally to apparatus and methods for the generation of events following a trigger pulse. It is disclosed in the context of an electronic circuit and method for the generation of events following a trigger pulse when the trigger pulse occurs at an indeterminate time between clock pulses. However, it is believed to be useful in other applications as well.
- The generation of events following an input trigger pulse is a common requirement in electrical applications. Generally, a timing delay generator receives a trigger signal and counts pulses of an internally generated master clock to generate a known delay. When the trigger signal is received at a random time between the master clock pulses, there is inherent timing uncertainty. This timing uncertainty, commonly called jitter, is caused from the triggering event not being related in phase to the master clock. In particular, the timing uncertainty relates to the temporal difference between the trigger signal and the master clock pulse. Therefore, the timing uncertainty relates to the period of the master clock. As the frequency, or speed, of the master clock is increased, and its period proportionally reduced, the maximum timing uncertainty is reduced. However, increasing the speed of the master clock typically comes at the expense of increased circuit complexity and cost. Additionally, there are practical limits to the speed of a master clock. For example, in order to decrease the peak timing uncertainty to the picosecond order of magnitude, a master clock operating at one terahertz would be required. However, one terahertz clocks are not practical with currently available technology. Accordingly, there is a need for methods and apparatus for the generation of precision delays following trigger pulses which occur at random times between clock pulses.
- According to an aspect of the invention, apparatus for generating a delayed event comprises a clock for producing regular clock pulses, a voltage converter for producing a voltage that is directly proportional to the difference between a triggering pulse and a clock pulse, an analog-to-digital converter for converting a voltage produced by the voltage converter to a digital value, and a summing circuit coupled to the analog-to-digital converter for producing a signal related to the sum of (i) a first time related to a predetermined number of clock pulses and (ii) a second time related to the digital value.
- Illustratively according to this aspect of the invention, the voltage converter for producing a voltage that is directly proportional to the difference between a triggering pulse and a subsequent clock pulse comprises a voltage converter for producing a voltage that is directly proportional to the difference between a triggering pulse and a subsequent clock pulse.
- Illustratively according to this aspect of the invention, the summing circuit coupled to the analog-to-digital converter for producing a signal related to the sum of (i) a first time related to a predetermined number of clock pulses and (ii) a second time related to the storable digital value comprises a summing circuit coupled to the analog-to-digital converter for producing a signal related to the sum of (i) a first time that is identifiable by counting a predetermined number of clock pulses and (ii) a second time related to the digital value.
- Illustratively according to this aspect of the invention, the summing circuit coupled to the analog-to-digital converter for producing a signal related to the sum of (i) a first time related to a predetermined number of clock pulses and (ii) a second time related to the digital value comprises a summing circuit coupled to the analog-to-digital converter for producing a signal related to the sum of (i) a first time related to a predetermined number of clock pulses and (ii) a second time that is identifiable by converting the digital value to an analog value followed by converting the analog value to a time value
- Illustratively according to this aspect of the invention, the summing circuit coupled to the analog-to-digital converter for producing a signal related to the sum of (i) a first time related to a predetermined number of clock pulses and (ii) a second time related to the digital value comprises a summing circuit coupled to the analog-to-digital converter for producing a signal related to the sum of (i) a first time related to a predetermined number of clock pulses and (ii) a second time related to the phase error between a leading edge of a clock pulse and the triggering pulse.
- Further illustratively according to this aspect of the invention, the apparatus includes a memory circuit coupled to the analog-to-digital converter and the summing circuit, the memory circuit having a memory register capable of storing the digital value.
- Illustratively according to this aspect of the invention, the memory circuit comprises a field-programmable gate array.
- Further illustratively according to this aspect of the invention, the apparatus includes a digital-to-analog converter for representing the digital value as an analog voltage, the digital-to-analog converter coupled to the memory circuit and the summing circuit.
- Further illustratively according to this aspect of the invention, the apparatus includes a time converter coupled to the digital-to-analog converter for representing the analog voltage as a time value.
- Illustratively according to this aspect of the invention, the time converter comprises a voltage ramp generator.
- Illustratively according to this aspect of the invention, the voltage converter comprises a voltage ramp generator.
- Illustratively according to this aspect of the invention, the voltage converter further comprises a sample-and-hold circuit, a voltage comparator, and a sampling amplifier.
- Illustratively according to this aspect of the invention, the voltage converter further comprises a control circuit for controlling the quiescent current of the voltage ramp generator.
- Illustratively according to this aspect of the invention, the summing circuit comprises a plurality of delay generator devices.
- Illustratively according to this aspect of the invention, the summing circuit comprises a voltage ramp generator and a comparator, the comparator having a first input coupled to a reference voltage source and a second input coupled to an output of the voltage ramp generator.
- Further illustratively according to this aspect of the invention, the apparatus comprises a field programmable gate array for identifying the first and the second times.
- Further illustratively according to this aspect of the invention, the apparatus comprises a synchronization circuit coupled to the field programmable gate array for improving the synchronization of the outputs of the field programmable gate array.
- Further illustratively according to this aspect of the invention, the apparatus comprises a logic converter circuit for converting a signal from a first logic family to a second logic family.
- According to an aspect of the invention, a method for generating delayed events comprises representing the time between a triggering pulse and a subsequent clock pulse as a voltage, converting the voltage to a digital value, and defining a desired delay time following the triggering pulse by (i) identifying a first time and (ii) adding to the first time a second time determined by converting the digital value to an analog value and then converting the analog value to a time value.
- Illustratively according to this aspect of the invention, identifying a first time comprises identifying a time determined by counting a predetermined number of clock cycles.
- Illustratively according to this aspect of the invention, identifying a first time comprises retrieving a stored digital time value, the stored digital time value representing a predetermined number of clock cycles.
- Illustratively according to this aspect of the invention, representing the time between a triggering pulse and a subsequent clock pulse as a voltage comprises initiating a ramp voltage for the duration of the time between the triggering pulse and the subsequent clock pulse.
- Illustratively according to this aspect of the invention, converting the voltage to a stored digital value comprises (i) converting the voltage to a digital value and (ii) storing the digital value in a memory device.
- Illustratively according to this aspect of the invention, converting the stored digital value first to an analog value and then to a time value comprises initiating a ramp voltage for a duration until the ramp voltage is substantially equal to the analog value.
- Illustratively according to this aspect of the invention, initiating a ramp voltage for a duration until the ramp voltage is substantially equal to the analog value comprises holding the ramp voltage at a voltage substantially equal to the analog value.
- Illustratively according to this aspect of the invention, holding the ramp voltage at a voltage substantially equal to the analog value comprises controlling the quiescent current of a ramp generator.
- Illustratively according to this aspect of the invention, controlling the quiescent current of a ramp generator comprises reducing the quiescent current towards zero amps.
- Further illustratively according to this aspect of the invention, the method comprises defining a desired-pulse width by (i) identifying a third time and (ii) adding to the third time a fourth time determined by converting the stored digital value to an analog value and then converting the analog value to a time value.
- Illustratively according to this aspect of the invention, identifying a third time comprises identifying a time determined by counting a predetermined number of clock cycles.
- Illustratively according to this aspect of the invention, identifying a third time comprises retrieving a stored digital time value, the stored digital time value representing a predetermined number of clock cycles.
- Further illustratively according to this aspect of the invention, the method comprises producing an output trigger event a duration after the trigger pulse, the duration being substantially equal to the desired delay time, the output trigger event having a duration substantially equal to the desired pulse width.
- Further illustratively according to this aspect of the invention, the method comprises converting the stored digital value to a leading edge value.
- Illustratively according to this aspect of the invention, converting the stored digital value to a leading edge value comprises converting the stored digital value to a first time value, calculating a difference of a period of a master clock and the first time value, and converting the difference to a digital value.
- According to an aspect of the invention, apparatus for generating a delayed event comprises first means for producing regular clock pulses, second means for producing a voltage that is directly proportional to the difference between a triggering pulse and a clock pulse, third means for converting a voltage produced by the second means to a digital value, and fourth means for producing a signal related to the sum of (i) a first time related to a predetermined number of clock pulses and (ii) a second time related to the digital value, the fourth means coupled to the third means.
- Illustratively according to this aspect of the invention, the second means comprises second means for producing a voltage that is directly proportional to the difference between a triggering pulse and a subsequent clock pulse.
- Illustratively according to this aspect of the invention, the fourth means for producing a signal related to the sum of (i) a first time related to a predetermined number of clock pulses and (ii) a second time related to the digital value comprises fourth means for producing a signal related to the sum of (i) a first time that is identifiable by counting a predetermined number of clock pulses and (ii) a second time related to the digital value.
- Illustratively according to this aspect of the invention, the fourth means for producing a signal related to the sum of (i) a first time related to a predetermined number of clock pulses and (ii) a second time related to the storable digital value comprises fourth means for producing a signal related to the sum of (i) a first time related to a predetermined number of clock pulses and (ii) a second time that is identifiable by converting the digital value to an analog value and then converting the analog value to a time value.
- Illustratively according to this aspect of the invention, the fourth means for producing a signal related to the sum of (i) a first time related to a predetermined number of clock pulses and (ii) a second time related to the storable digital value comprises fourth means for producing a signal related to the sum of (i) a first time related to a predetermined number of clock pulses and (ii) a second time related to the phase error between a leading edge of a clock pulse and the triggering pulse.
- Further illustratively according to this aspect of the invention, the apparatus includes fifth means for storing the digital value, the fifth means including a memory register, the fifth means coupled to the third means and the fourth means.
- Illustratively according to this aspect of the invention, the fifth means comprises a field-programmable gate array.
- Further illustratively according to this aspect of the invention, the apparatus includes sixth means for representing the digital value as an analog voltage, the sixth means coupled to the fourth means and the fifth means.
- Further illustratively according to this aspect of the invention, the apparatus includes seventh means for representing the analog voltage as a time value, the seventh means coupled to the sixth means.
- Illustratively according to this aspect of the invention, the seventh means comprises a voltage ramp generator.
- Illustratively according to this aspect of the invention, the second means comprises a voltage ramp generator.
- Illustratively according to this aspect of the invention, the second means further comprises a sample-and-hold circuit, a voltage comparator, and a sampling amplifier.
- Illustratively according to this aspect of the invention, the second means further comprises a control circuit for controlling the quiescent current of the voltage ramp generator.
- Illustratively according to this aspect of the invention, the fourth means comprises a plurality of delay generator devices.
- Illustratively according to this aspect of the invention, the fourth means comprises a voltage ramp generator and a comparator, the comparator having a first input coupled to a reference voltage source and a second input coupled to an output of the voltage ramp generator.
- Further illustratively according to this aspect of the invention, the apparatus comprises a field programmable gate array for identifying the first and the second times.
- Further illustratively according to this aspect of the invention, the apparatus comprises a synchronization circuit coupled to the field programmable gate array for improving the synchronization of the outputs of the field programmable gate array.
- Further illustratively according to this aspect of the invention, the apparatus comprises fifth means for converting a signal from a first logic family to a second logic family.
- According to an aspect of the invention, a method for measuring a time between two trigger events comprises initiating a first ramp voltage for the duration of a time between a first trigger event and a subsequent clock pulse, initiating a time counter contemporaneously with the end of the first ramp voltage, initiating a second ramp voltage for the duration of a time between a second trigger event and a subsequent clock pulse, terminating the time counter contemporaneously with the end of the second ramp voltage, and calculating the delay between the first trigger event and the second trigger event.
- Further illustratively according to this aspect of the invention, the method further comprises converting a peak voltage of the first ramp voltage to a first time value and converting a peak voltage of the second ramp voltage to a second time value.
- Illustratively according to this aspect of the invention, calculating the delay between the first trigger event and the second trigger event comprises converting a peak voltage of the first ramp voltage to a first time value, converting a peak voltage of the second ramp voltage to a second time value, summing the first time value with the time counter, and subtracting the second time value from the time counter.
- According to an aspect of the invention, a method for self-calibrating a delay measurement and generation circuit comprises initiating a first voltage ramp for about one clock cycle, storing a first peak voltage of the first voltage ramp, initiating a second voltage ramp for about two clock cycles, storing a second peak voltage of the second voltage ramp, calculating the slope and intercept of a voltage-to-time line including the first and second peak voltages.
- Illustratively according to this aspect of the invention, storing a first peak voltage of the first voltage ramp comprises sampling and holding the voltage ramp after about one clock cycle.
- Illustratively according to this aspect of the invention, storing a second peak voltage of the second voltage ramp comprises sampling and holding the voltage ramp after about one clock cycle.
- Illustratively according to this aspect of the invention, storing a first peak voltage of the first voltage ramp comprises converting the first peak voltage to a first digital value and subsequently storing the first digital value in a memory location.
- Illustratively according to this aspect of the invention, storing a second peak voltage of the second voltage ramp comprises converting the second peak voltage to a second digital value and subsequently storing the second digital value in a memory location.
- Further illustratively according to this aspect of the invention, the method further comprises storing the slope and intercept of the voltage-to-time line in a memory location.
- The invention may best be understood by referring to the following detailed description and accompanying drawings which illustrate the invention. In the drawings:
-
FIG. 1 illustrates a greatly simplified block diagram of a circuit constructed according to the disclosure; -
FIG. 2 . illustrates a block diagram of one embodiment of a circuit constructed according to the disclosure; -
FIG. 3 illustrates a master clock circuit of the circuit illustrated inFIG. 2 ; -
FIG. 4 illustrates an edge detection circuit of the circuit illustrated inFIG. 2 ; -
FIG. 5 illustrates a resynchronization and jitter pulse construction circuit of the circuit illustrated inFIG. 2 ; -
FIGS. 6 and 7 illustrate a time-to-voltage converter and analog-to-digital converter circuit of the circuit illustrated inFIG. 2 ; -
FIG. 8 illustrates a memory storage and delay calculation circuit of the circuit illustrated inFIG. 2 ; -
FIG. 9 illustrates an output synchronization and converter circuit of the circuit illustrated inFIG. 2 ; -
FIGS. 10-12 illustrate a delay output circuit of the circuit illustrated inFIG. 2 ; -
FIG. 13 is a process flow diagram of a memory storage and delay calculation program for use with the circuit illustrated inFIG. 2 ; -
FIG. 14 illustrates a timing diagram of the process illustrated inFIG. 13 ; -
FIG. 15 illustrates a process flow diagram of a self-calibration method for use with the circuit illustrated inFIG. 2 ; -
FIG. 16 illustrates a timing diagram of the process illustrated inFIG. 15 ; -
FIG. 17 illustrates a process flow diagram of a delay time measurement method of the circuit illustrated inFIG. 2 ; and -
FIG. 18 illustrates a timing diagram of the process illustrated inFIG. 17 . - While the disclosure is susceptible to various modifications and alternative forms, specific embodiments thereof have been shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that there is no intent to limit the disclosure to the particular forms disclosed, but on the contrary, the disclosure is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the disclosure as defined by the appended claims.
- In the detailed descriptions that follow, several integrated circuits and other components are identified, with particular circuit types and sources. In many cases, terminal names and pin numbers for these specifically identified circuit types and sources are noted. This should not be interpreted to mean that the identified circuits are the only circuits available from the same, or any other, sources that will perform the described functions. Other circuits are typically available from the same, and other, sources which will perform the described functions. The terminal names and pin numbers of such other circuits may or may not be the same as those indicated for the specific circuits identified in this description of illustrative embodiments.
- Referring now to
FIG. 1 , anillustrative circuit 10 generates delayed output events (e.g., output trigger pulses after a delay time) after a trigger pulse which occurs at a random time relative to an internal pulse from a master clock.Circuit 10 includes amaster clock circuit 12, atrigger detection circuit 14, a resynchronization and jitterpulse construction circuit 16, a time-to-voltage converter (hereinafter sometimes TVC) and analog-to-digital converter (hereinafter sometimes ADC)circuit 18, a memory storage anddelay calculation circuit 20, and adelay output circuit 22. Themaster clock circuit 12 produces regular clock pulses which are received bycircuits trigger detection circuit 14 detects the occurrence of a trigger event or pulse and produces a trigger signal corresponding to the trigger event. The resynchronization and jitterpulse construction circuit 16 receives the trigger signal and constructs a trigger jitter pulse corresponding to the trigger pulse and a subsequent clock edge. The TVC andADC circuit 18 converts the trigger jitter pulse to a digital value and the memory storage anddelay calculation circuit 20 stores the digital value. Thecircuit 20 also calculates the final delay time which, in some embodiments, may include summing the digital value with a predetermined arbitrary delay time. Additionally, in some embodiments, thecircuit 20 calculates an arbitrary output pulse width. Thedelay output circuit 22 communicates withcircuit 20 to produce an output pulse after the expiration of the appropriate delay time having a pulse width substantially equal to the arbitrary output pulse width. - Only one of many possible embodiments of the present disclosure is shown illustratively in
FIG. 1 . In other embodiments, the functionality of thecircuits circuit 18 can be provided by separate time-to-voltage converter and analog-to-digital converter circuits. In other embodiments, the functionality of two or more of thecircuits circuits delay output circuit 22 is shown and described herein, it is contemplated that alternative embodiments ofcircuit 10 may include any number ofdelay output circuits 22 to thereby increase the number of output channels of thecircuit 10. Additionally, the functionality of thecomplete circuit 10, or a portion thereof, may be implemented in a single or multiple integrated chip(s). The circuit illustrated inFIG. 1 may also be included as a component of a larger circuit. - The
circuit 10 may be implemented using any one or more of a number of control logics. Theillustrative circuit 10 described hereinafter use a combination of positive emitter coupled logic (hereinafter sometimes PECL) having a logic high level value of approximately 4.0 volts and a logic low-level value of approximately 3.25 volts, negative emitter coupled logic (hereinafter sometimes NECL) having a logic high level value of approximately −0.8 volts and a logic low level value of approximately −1.75 volts, transistor-transistor logic (hereinafter sometimes TTL) having a logic high level value of approximately 5 volts and a logic low level value of approximately 0 volts, and complimentary metal-oxide semiconductor (hereinafter sometimes CMOS) logic. However, in alternative embodiments,circuit 10 may be implemented using any single logic family including other logic families such as, for example, low voltage differential signal (hereinafter sometimes LVDS) logic, or any combination of logic families as desired in the particular implementation. - One illustrative embodiment of
circuit 10 is shown inFIG. 2 . Acircuit 30 for generating events after a pulse which occurs at a random time relative to an internal pulse from a master clock includes amaster clock circuit 32, atrigger detection circuit 34, a resynchronization and jitterpulse construction circuit 36, a time-to-voltage converter (hereinafter sometimes TVC) and analog-to-digital converter (hereinafter sometimes ADC)circuit 38, a memory storage anddelay calculation circuit 40, an output synchronization andconverter circuit 41, and adelay output circuit 42. - Referring now to
FIGS. 2 and 3 , themaster clock circuit 32 is electrically coupled tocircuits master clock circuit 32 generates clock pulses which are received bycircuits master clock 32 produces regular square wave clock pulses. However, other types of regular clock pulses may be generated. Clock circuits for the generation of regular clock pulses are widely known to those skilled in the art. In the illustrative embodiment ofFIG. 3 , PECL regular clock pulses are produced by aclock generator 50, illustratively an On Semiconductor type NBC 12430/LQFP 3.3V/5V Programmable PLL Synthesized Clock Generator. A number of control signals, TTL_CLK_SCLK, TTL_CLK_SD, TTL_CLK_SLD, are used to program the functions (e.g., clock frequency) of theclock generator 50. In theillustrative circuit 30, the CLK_SCLK, TTL_CLK_SD, TTL_CLK_SLD signal lines are coupled to the memory storage anddelay calculation circuit 40 which is configured to produce the appropriate control signals. However, in other embodiments, the control signals may be produced via a separate control circuit or the like. The functions of theclock generator 50 may be monitored by monitoring a clock test signal, TTL_CLKTEST. For example, in the illustrative embodiment ofcircuit 30 the TTL_CLK_TEST signal line is coupled to thecircuit 40 which is configured to perform the monitoring functions. Additionally, the output of theclock generator 30 is controllable by a clock enable signal, TTL_CLOCK_EN, received on an output enable terminal, OE, of thegenerator 50. In the illustrative embodiment ofFIG. 3 , the TTL_CLOCK_EN signal line is coupled to thecircuit 30 which is configured to produce the appropriate clock enable signal. - The frequency of the
clock generator 50 is determined, in part, by acrystal oscillator 52. Theoscillator 52 is a temperature or “oven” compensated crystal oscillator, but other types of oscillators may be used. Illustratively, theoscillator 52 is an ILSI America type VCTCXO 1302 Series DIP Clipped Sinewave oscillator. An FOUT terminal of theoscillator 52 is coupled to an FREF_EXT terminal of theclock generator 50. An Fadj terminal of theoscillator 32 is coupled to an FADJ signal line. The FADJ signal is used to control the operation (e.g., the oscillating frequency) of theoscillator 52. - The
clock generator 50 is also coupled to aclock distribution device 54. In the illustrated embodiment ofFIG. 3 , theclock distribution device 54 is an ON Semiconductortype MC 100EL15 5V ECL 1:4 Clock Distribution Chip. The input terminals, #CLK and CLK, of thedistribution device 54 are coupled to the output terminals, #FOUT and FOUT, respectively, of theclock generator 50. Thedistribution device 54 distributes the clock signal across four outputs (or more outputs in embodiments using a distribution device having additional distribution outputs). Three sets of outputs of thedevice 54, Q0 and #Q0, Q1 and #Q1, and Q2 and #Q2, are coupled to the 100 MHZ_PECL1 signal lines, 100 MHZ_PECL2 signal lines, and the 100 MHZ_PECL3 signal lines, respectively. The fourth set of outputs, Q3 and #Q3, are coupled to atranslator 56, illustratively an ONSemiconductor type MC100ELT21 5V Differential PECL to TTL Translator. Thetranslator 56 converts the PECL clock pulses produced on the output terminals Q3 and #Q3 of thedevice 54 to TTL clock pulses for use with devices requiring TTL logic. The output, Q, of thetranslator 56 is coupled to the 100 MHZ_TTL signal line. The collection of clock signal lines, 100 MHZ_TTL, 100 MHZ_PECL1, #100 MHZ_PECL1, 100 MHZ_PECL2, #100 MHZ_PECL2, 100 MHZ_PECL3, and #100 MHZ_PECL3, form a clock bus, CLK_BUS signal line, which is coupled to the memory storage anddelay calculation circuit 40 as illustrated inFIG. 2 . - Although only one exemplary embodiment of a master clock circuit is shown in
FIG. 3 , other methods and circuits for producing regular clock pulses may be used. For example, 555 timer circuits, capacitor discharging circuits, and other integrated and discrete-component timing circuits may be used to construct themaster clock circuit 32 and produce regular clock pulse. - Referring now to
FIG. 4 , thetrigger detection circuit 34 detects the presence of a trigger event received on an input signal line. In the illustrated embodiment ofFIG. 4 , the trigger event is detected by a window comparator with two predetermined reference voltages. The window comparator is formed from a predetermined maximum voltage reference and a predetermined minimum voltage reference. In some embodiments, the reference voltages may be buffered using, for example, differential amplifiers. The voltage level of the trigger event must fall within the voltage window created by these predetermined maximum and minimum voltage references for the trigger event to be recognized by thecircuit 34. The illustrativetrigger detection circuit 34 includes twocomparators comparator 60.Comparator 60 illustratively is a Maxim type MAX9601 dual PECL ultra-high-speed comparator. The IN− input terminal ofcomparator 60 is coupled to aport 64 carrying the trigger event or pulse. In this configuration,comparator 60 compares the maximum voltage reference signal, TW0, applied to its IN+terminal and the voltage level of any trigger event applied to the IN− terminal. If the voltage level of the trigger event falls below the maximum voltage reference, thecomparator 60 will produce a PECL low level signal at the #Q output terminal. The minimum voltage reference, TW1, signal line is coupled to the IN− input terminal ofcomparator 62.Comparator 62 also illustratively is a Maxim type MAX9601 comparator. The IN+ input terminal of thecomparator 62 is coupled to the IN− input terminal ofcomparator 60 and to theport 64 carrying the trigger event. In this configuration,comparator 62 compares the minimum voltage reference signal, TW1, applied to the IN− terminal and the voltage level of any trigger event applied to the IN+ terminal. If the voltage level of the trigger event falls above the minimum voltage reference, thecomparator 62 will produce a PECL low level signal at the #Q output terminal. The #Q output terminals of thecomparators delay calculation circuit 20, a separate control circuit, or tied to a constant voltage reference signal. The window can be adjusted as required by the application by adjusting the voltage reference signals, TW0 and TW1. - The resynchronization and jitter
pulse construction circuit 36 preserves the leading edge of the trigger event signal and synchronizes the trailing edge of the trigger signal with a subsequent clock transition. In the illustrated embodiment, the trigger signal is constructed and synchronized by the cooperation of a plurality of flip-flops. Referring particularly toFIG. 5 , the illustrative resynchronization and jitterpulse construction circuit 36 includes a D flip-flop 70. Illustratively, the D flip-flop 70 is an ONSemiconductor type MC100EL31 5V ECL D flip-flop with Set and Reset.Circuit 36 further includes a shift register 71 comprising two D flip-flops gate 76, illustratively an ONSemiconductor type MC100EL07 5V ECL 2-input XOR/XNOR gate. - The #WINDOW_OUT_PECL signal line is coupled to a first input terminal of the
XOR gate 76. A TRIG_POLARITY_PECL signal line is coupled to a second input terminal of theXOR gate 76. The trigger polarity signal controls the polarity of the window trigger signal and may be used to change the polarity by causing the XOR gate 58 to function as an inverter. This functionality allows subsequent circuit triggering on either the rising or the falling edge of the #WINDOW_OUT_PECL signal, and thereby, the trigger event signal. The TRIG_POLARITY_PECL signal may be a preset logic entity configured during trigger setup or may be produced by a control circuit. Illustratively, as shown inFIG. 2 , the TRIG_POLARITY_PECL signal line is coupled to the output synchronization andconverter circuit 41. The trigger polarity signal is produced by the memory storage anddelay calculation circuit 40 as a TTL signal (i.e., TTL_TRIG_POLAR) and converted from the TTL signal to a PECL signal (i.e., TRIG_POLARITY_PECL) by thecircuit 41 as described below in regard toFIG. 9 . During normal operation, the TRIG_POLARITY_PECL signal is held at a logic low thereby inverting the #WINDOW_OUT_PECL signal. - The Q output terminal of the
XOR gate 76 is coupled to a CLK terminal of the flip-flop 70. The flip-flop 70 may be configured via a number of control signals, ARM_PECL and TRIG_INHIB_PECL. The ARM_PECL signal line is coupled to the set terminal, S, of the flip-flop 70 and the ARM_PECL signal is used to preset the output of the flip-flop 70. The TRIG_INHIB_PECL signal line is coupled to the data terminal, D, of the flip-flop 70 and the TRIG_INHIB_PECL signal is used to configure the logic level of the output of the flip-flop 70 after a triggering event (i.e., a rising edge of the inverted #WINDOW_OUT_PECL signal). The flip-flop control signals, ARM_PECL and TRIG_INHIB_PECL, may also be preset logic entities configured during setup or may be produced by a control circuit. In the illustrated embodiment, the arm and trigger inhibit control signals are produced by thecircuit 40 as TTL signals (i.e., TTL_ARM and TTL_TRIG_INHIB, respectively) and converted from the TTL signal to a PECL signal (i.e., ARM_PECL and TRIG_INHIB_PECL, respectively) by thecircuit 41. During normal operation, the flip-flop 70 is preset to a logic high by the ARM_PECL and the TRIG_INHIB_PECL is held to a logic low to provide a logic low output of the flip-flop 70 after the triggering of the flip-flop 70. - The rising edge of the inverted #WINDOW_OUT_PECL signal triggers the flip-
flop 70, producing a falling edge on the Q output terminal of flip-flop 70. The Q output terminal of flip-flop 70 is coupled to a first input terminal of anOR gate 78. TheOR gate 78 illustratively is an ONSemiconductor type MC100EL01 5V ECL 4-input OR/NOR gate. - The 100 MHZ_PECL1 master clock signal line is coupled to the CLK terminals of the flip-
flops flop 72 is coupled to the #Q output terminal of flip-flop 70. When the flip-flop 70 is triggered, a rising edge or high logic signal is produced on the #Q terminal of the flip-flop 70. This high logic signal is propagated through the shift register 71. The shift register 71 produces a logic high output signal that is substantially coincident with a master clock transition. The Q output terminal of the flip-flop 74 of the shift register 71 is coupled to a second input terminal ofOR gate 78. TheOR gate 60, therefore, produces a “trigger jitter” output signal which is indicative of the asynchronicity of the initial trigger pulse or event plus one or more clock cycles as determined, in part, by the number of flip flops included in the shift register 71. In the illustrated embodiment ofFIG. 5 , the output signal of theOR gate 78 is indicative of the asynchronicity of the initial trigger event plus one additional clock cycle. The output signal of theOR gate 78 comprises the asynchronous falling edge output of flip-flop 70 and the synchronous rising edge output of shift register 71. The Q and #Q terminal outputs ofOR gate 78 are coupled to the TRIG_JITTER_PECL and #TRIG_JITTER_PECL signal lines, respectively. - Referring now to
FIGS. 6 and 7 , the Time-to-Voltage and Analog-to-Digital Converter circuit 38 converts the trigger jitter signal to an analog voltage and the analog voltage to a digital value. The TVC andADC circuit 38 includes a Time-to-Voltage circuit 80 illustrated inFIG. 6 and an Analog-to-Digital Converter circuit 82 illustrated inFIG. 7 . In the illustrated embodiment ofFIGS. 6 and 7 , the trigger jitter signal is converted to an analog voltage by initiating a ramp generator for the duration of the resynchronized trigger jitter signal. The analog voltage value produced by the ramp generator is held for a time period suitable for an analog-to-digital converter to convert the analog voltage value to a digital value. The digitized voltage is thereby substantially proportional to the trigger jitter signal pulse width which is substantially proportional to the phase difference of the trigger event and a subsequent clock pulse. Theillustrative TVC circuit 80 includes atranslator 84 and aramp generator 86. Theillustrative ADC circuit 82 includes an analog-to-digital converter 88.Translator 72 illustratively is an ONSemiconductor type MC100ELT21 5V Differential PECL to TTL Translator. TheRamp generator 74 illustratively is a Burr-Brown type OPA660BB wide bandwidth operational transconductance amplifier and buffer. The Analog-to-digital converter 78 illustratively is an Analog Devices type AD9220 A/D converter. - As shown in
FIG. 6 , the TRIG_JITTER_PECL and #TRIG_JITTER_PECL signal lines are respectively coupled to the D and #D input terminals of thetranslator 84. Thetranslator 84 converts the PECL trigger jitter signal to a TTL output signal having a width corresponding to the width of the trigger jitter signal. The Q output terminal of thetranslator 84 is coupled to the Vin (or Base) input terminal of anoperational transconductance amplifier 90 of theramp generator 86, which is configured as an integrator. The Collector terminal of theoperational transconductance amplifier 90 is coupled to the INput terminal of abuffer amplifier 92 of theramp generator 86. A ramp voltage (i.e., the RAMP_OUT signal) is produced at the OUTput terminal of thegenerator 86. The final ramp voltage is substantially proportional to the trigger jitter signal pulse width. - The final ramp voltage produced by the
ramp generator 86 is held for a time period suitable for theADC circuit 82 to convert the final ramp voltage to a digital value. In the illustrative embodiment ofFIGS. 6 and 7 , the quiescent current of theoperational transconductance amplifier 90 is controlled (i.e., the quiescent current is reduced toward zero) so as to cause thegenerator 86 to maintain the final ramp voltage for a short period of time (i.e., approximately 500 nanoseconds). Accordingly, a quiescent current adjust terminal, Iq, of theoperational transconductance amplifier 90 is used to reduce the quiescent current of theramp generator 86 to substantially zero amps. To do this, aswitch 94, illustratively a Fairchild type MMBTH81 PNP Transistor, is coupled to the Iq terminal of theamplifier 90. Theswitch 94 is controlled by a TTL_HOLD control signal applied to the base terminal of theswitch 94. The quiescent current of theramp generator 74 may be adjusted (e.g., reduced toward zero) by adjusting the TLL_HOLD signal (i.e., applying a logic low level to the base of the switch 76). The TTL_HOLD signal may be a preset logic entity configured at setup or may be produced by a control circuit. Illustratively, the TTL_HOLD signal is produced by the memory storage anddelay calculation circuit 40, as shown inFIG. 2 . However, other methods of maintaining the final ramp voltage for a suitable time period may be used. For example, the output of theramp generator 86 may be coupled to a sample and hold circuit configured to sample the final ramp voltage and hold the voltage value long enough for theADC circuit 82 to convert the voltage value to a representative digital value. - The RAMP OUT signal produced by the
ramp generator 86, is supplied to the analog-to-digital converter 88 of theADC circuit 82 on the VINA input terminal as illustrated inFIG. 6 . TheADC 82 converts the ramp voltage to a twelve bit digital value. The digital value is a digital representation of the pulse width between the asynchronous trigger event and a subsequent internal clock pulse. The digital value is produced on the output port, terminals D0-D11, of the ADC 88. It should be appreciated that ADCs having lesser or greater resolution (i.e., output bits) may be used so as to increase or decrease the resolution of the digital value according to the requirements of the particular implementation. - Referring back to
FIG. 2 , the memory storage anddelay calculation circuit 40 stores the digital value representing the pulse width between the asynchronous trigger event and a subsequent internal clock pulse in a memory circuit and calculates the appropriate delay time intervals. Storing the representation value digitally in memory improves the drift over time of the representation value compared to an analog storage device, for example, a capacitor storage circuit. Thecircuit 40 also calculates two distinct time intervals. The first time interval calculated by thecircuit 40 is the predetermined, arbitrary initialization delay time of the delayed output event (i.e., the time to delay the beginning of the output trigger pulse). The second time interval calculated by thecircuit 40 is the predetermined, arbitrary pulse width of the delayed output event (i.e., the pulse width of the output trigger pulse). The two time intervals are embodied as digital representations of time values which are predetermined during setup. In the illustrated embodiment ofFIG. 2 , the two time intervals are stored in thecircuit 40. However, the two time intervals may be determined, altered, or otherwise supplied to thecircuit 30 during runtime conditions and may be stored or produced by other sub-circuits electrically coupled tocircuit 40 such as a bank of selectable switches or the like. - Referring now generally to
FIGS. 8-12 , the two time intervals are used in conjunction with the stored digital value representing the pulse width between the trigger event and a subsequent master clock pulse, or calculated digital values based thereon, to produce a delayed output event having an initialization delay approximately equal to the arbitrary initialization delay time and a pulse width substantially equal to the arbitrary pulse width time. To do so, the arbitrary initialization delay time is summed with the digital value to produce a final initialization delay time. After the lapse of this final initialization delay time, the delayed output event or pulse is initialized. The arbitrary pulse width time is also summed with the digital value to produce a final pulse width time. After the lapse of this final pulse width delay time, the delayed output event or pulse is terminated. In the illustrated embodiment, the arbitrary initialization delay time and the digital value representing the pulse width between the trigger event and a subsequent master clock pulse are summed by converting the stored digital value to an analog value and further to a time value after the lapse of the arbitrary initialization delay. Subsequently, the delayed output event or pulse is initiated. Similarly, the arbitrary pulse width time and the digital value are summed by converting the stored digital value to an analog value and further to a time value after the lapse of the arbitrary pulse width time Subsequently, the delayed output event or pulse is terminated. In other embodiments, the two time intervals may be summed separately with the digital value internally within thecircuit 40. The delayed output pulse may then be initialized after the expiration of the final initialization delay time, as counted or otherwise determined by thecircuit 40, and terminated after the expiration of the final pulse width time, as counted or otherwise determined by thecircuit 40. Regardless of the summation process used, it should be appreciated that the digital values summed with the two time intervals may be the stored digital value representing the pulse width between the trigger event and a subsequent master clock pulse or calculated digital values based on the stored digital value. The two calculated digital values may be the same value or different values for each separate time interval. Such calculated digital values may be used in those embodiments where the arbitrary initialization delay may be a non-multiple of the master clock period (see the discussion ofFIG. 11 ), other extraneous values are accounted for such as calibration factors, and the like. - In the illustrated embodiment, the digital value representing the pulse width between the trigger event and a subsequent master clock pulse is stored in a memory register. The two distinct time intervals are calculated by a programmable processing circuit as discussed below in regard to
FIGS. 8 and 11 . The stored digital value, or calculated digital values based thereon, is converted to an analog value by a digital-to-analog converter and further converted to a time representation value by a voltage-to-time converter as discussed below in regard toFIGS. 10-12 . - Referring now particularly to
FIG. 8 , illustratively, the functions of the memory storage anddelay calculation circuit 40 are programmed into a Field-Programmable Gate Array device 100 (hereinafter sometimes FPGA). However, in other embodiments the functions of thecircuit 40 may programmed into other types of integrated circuits or be implemented using discrete circuits and/or sub-circuits. TheFPGA 100 illustratively is an Altera type APEX 20K FPGA. The functionality ofcircuit 40 is embodied as a software program stored in theFPGA 100 and written using Very High Speed Integrated Circuit Hardware Description Language (hereinafter sometimes VHDL). TheFPGA 100 receives the digital value representing the pulse width between the trigger event and a subsequent master clock pulse on the D0-D11 signal lines. The digital value is stored within memory locations or registers in theFPGA 100. TheFPGA 100 produces the stored digital value, or calculated digital values based on the stored digital value, on output data lines DATA_OUT0-DATA_OUT11. The digital value used in summation with the arbitrary initialization delay time and the digital value used in summation with the arbitrary pulse width time are multiplexed on the DATA_OUT data lines using the WRT1 and WRT2 control signals. Accordingly, theFPGA 100 can produce similar or different stored digital values, or calculated digital values based thereon, for summation with each of the arbitrary time intervals. TheFPGA 100 determines the two time intervals via retrieving digital representations of the time intervals from memory locations or registers, or in alternative embodiments, may receive the time interval values on input signal lines. After the lapse of the arbitrary initialization delay time, as determined by theFPGA 100 by counting the appropriate master clock cycles, theFPGA 100 produces a trigger signal or pulse on the TTL_START_1 signal line. Similarly, after the lapse of the arbitrary pulse width time, as determined by theFPGA 100 by counting the appropriate master clock cycles, the FPGA produces a trigger signal or pulse on the TTL_STOP_1 signal line. Although the illustrative embodiment illustrates only one output channel, theFPGA 100 can be configured to accommodate multiple output channels having alternative time intervals produced on other TTL_START and TTL_STOP signal lines. TheFPGA 100 also produces a number of control signals, as illustrated inFIGS. 2 and 8 , for controlling various circuits ofcircuit 10. - A process flow diagram of a
program 160 for use with theFPGA 100 is illustrated inFIG. 13 . Illustratively, theprogram 160 is programmed into theFPGA 100 using VHDL. See the discussion ofFIG. 8 . Theprogram 160 begins with aprocess step 162 in which portions of theFPGA 100 are initialized. For example, the desired arbitrary initialization delay time and the arbitrary pulse width time values may be retrieved from memory locations of theFPGA 100, or alternatively, from associated memory devices or input ports of theFPGA 100. The two time values are used to calculate the final initialization delay time and the pulse width of the delayed output event. Inprocess step 164, the arbitrary initialization delay time value is divided by the period of the master clock. The quotient of the operation ofprocess step 164 is loaded into a synchronous timer 1 (e.g., an internal data accumulator, register, memory location, or the like) inprocess step 166. In the illustrative embodiment, two clock cycles are subtracted from the quotient of the operation ofprocess step 164 to account for the additional clock cycle inherent in the voltage ramp and the leading edge calculation of the trigger event as discussed below in regard to process step 184. Also inprocess step 166, the remainder of the operation ofprocess step 164 is loaded into an asynchronous timer 1 (e.g., an internal data accumulator, register, memory location, or the like), the arbitrary pulse width delay time value is stored in a synchronous timer 2 (e.g., an internal data accumulator, register, memory location, or the like), and the trigger circuit is armed. An exemplary arbitraryinitialization delay time 200 and an exemplary arbitrarypulse width time 202 are illustrated inFIG. 14 . - In
process step 168,program 160 determines if atrigger event 206 has occurred. TheFPGA 100 may determine that a trigger event has occurred by receiving a trigger pulse received on the TTL_TRIG_OUT signal line as illustrated inFIG. 2 . If notrigger event 206 has been received, theprogram 160 continues to monitor for thetrigger event 206. Once atrigger event 206 has been received, a synchronous counter is initiated inprocess step 170. The synchronous counter begins to count master clock cycles beginning with the next clock pulse after the trigger event or pulse as illustratively shown inFIG. 14 asinitialization count 210. In addition, avoltage ramp 208 is initiated contemporaneously with the trigger event 206 (see discussion ofFIG. 6 ). For example, as illustrated inFIG. 14 , theramp 208 is initiated at atime point 212. Thetime point 212 may or may not be synchronous with thetrigger event 206 due to inherent delays (e.g., component propagation delays) withincircuit 30. Theramp 208 continues to rise until a convenient leading edge of the masterclock pulse train 204. Illustratively, theramp 208 continues for a time period equal to the phase error between thetrigger event 206 and the leading edge of the subsequent clock cycle of the masterclock pulse train 204 plus one additional clock cycle, i.e., atime point 214 at the rising edge of the second master clock cycle after the detection of thetrigger event 206. As is the case withtime point 212, thetime point 214 may or may not occur synchronously with the rising edge of a clock pulse of the masterclock pulse train 204 due to inherent delays withincircuit 30. However, the inherent delays withincircuit 30 are accounted for during a self-calibration method 230 which will be discussed below in connection withFIGS. 15 and 16 . The voltage value of theramp 208 is held at the final ramp value (i.e., the value at time point 214) for a period of time suitable to convert the analog voltage value to a digital value which thereby represents the pulse width between thetrigger event 206 and the second subsequent clock pulse of the master clock pulse train 204 (see discussion ofFIG. 6 ). - In
process step 172, the digital value representing the pulse width between thetrigger event 206 and the second subsequent master clock pulse is received and read by theFPGA 100 on the DO-D11 data lines. The digital value is subsequently stored in memory inprocess step 174. Illustratively, the digital value is stored in an asynchronous timer 2 (e.g., an internal data accumulator, register, memory location, or the like). The digital value is converted to a time value inprocess step 176. The digital value is converted using the calibration coefficients as determined by the self-calibration method 230 discussed below in regard toFIGS. 15 and 16 . Inprocess step 178, the converted time value is summed with the time value (i.e., the quotient of process step 164) previously stored in the asynchronous timer 1 (process step 166) and the sum of this addition is stored in theasynchronous timer 1. - In
process step 180, theprogram 160 determines if the time value stored in theasynchronous timer 1 is greater than one master clock cycle. If the time value stored in theasynchronous timer 1 is not greater than one master clock cycle, theprogram 160 skipsprocess step 182 and advances to process step 184 which will be discussed below. If the time value stored in theasynchronous timer 1 is greater than one master clock cycle, inprocess step 182, one clock cycle is subtracted from theasynchronous time 1 and one clock cycle is added to thesynchronous timer 1. In process step 184, the time values stored in theasynchronous timer 1 andtimer 2 are converted to leading edge voltage values using the calibration coefficients as determined by the self-calibration method 230 discussed below in regard toFIGS. 15 and 16 . Each of the time values stored in theasynchronous timer 1 andtimer 2 are converted to leading edge time values by subtracting their current time values from the period of the master clock. The resultant leading edge time values represent the pulse width from the start of the clock cycle in which the trigger event occurred to the trigger event. In the case of theasynchronous timer 1, the leading edge time value may also include any asynchronous portion of the arbitrary initialization delay time as discussed above in regard to processsteps - In
process step 186, theprogram 160 determines if the time value stored in thesynchronous timer 1 has elapsed. TheFPGA 100 determines the elapse of thesynchronous timer 1 by comparing the synchronous counter (i.e., the number of elapsed clock cycles) with thesynchronous timer 1. If thesynchronous timer 1 has not elapsed, the synchronous counter continues to count clock cycles until the number of counted clock cycles equals the time value stored in thesynchronous timer 1. If thesynchronous timer 1 has elapsed, the synchronous counter is restarted inprocess step 188. The synchronous counter begins counting the master clock cycles contemporaneously with the end of the first synchronous counter as illustratively shown inFIG. 14 aspulse width count 220. Inprocess step 190, the voltage value stored in theasynchronous timer 1 is written to the output port of theFPGA 100 and appears on the output signal lines DATA_OUT[0 . . . 11]. As discussed above in regard toFIG. 8 , the output data is multiplexed on the DATA_OUT[0 . . . 11] data lines and, consequently, the WRT1 signal is used to identify that the voltage value stored in theasynchronous timer 1 is being written to the DATA_OUT[0 . . . 11] data lines. Theinitialization delay ramp 216 is also triggered inprocess step 190 and rises to a target voltage (at time point 218) determined by the voltage value written to the output port, thereby converting the voltage value to a time value. Illustratively, the initialization delay ramp is triggered via the TTL_START_1 signal (seeFIG. 11 ) - The
program 160 determines if the time value stored in thesynchronous timer 2 has elapsed inprocess step 192. TheFPGA 100 determines the elapse of thesynchronous timer 2 by comparing the synchronous counter (i.e., the number of elapsed clock cycles) with thesynchronous timer 2. If thesynchronous timer 2 has not elapsed, the synchronous counter continues to count clock cycles until the number of counted clock cycles equals the time value stored in thesynchronous timer 2. If thesynchronous timer 1 has elapsed, the voltage value stored in theasynchronous timer 2 is written to the output port of theFPGA 100 inprocess step 194 and appears at the output signal lines DATA_OUT[0 . . . 11]. The WRT2 signal is used to identify that the voltage value stored in theasynchronous timer 1 is being written to the DATA_OUT[0 . . . 11] signal lines. The pulsewidth time ramp 222 is also triggered inprocess step 194 and rises to a target voltage (at time point 224) determined by the voltage value written to the output port, thereby converting the voltage value to a time value. Illustratively, the initialization delay ramp is triggered via the TTL_STOP_1 signal. - An
output pulse 226 is produced which includes an initialization edge corresponding to thetime point 218 at which the initialization delay ramp reached the target voltage value as determined by theasynchronous timer 1 and a terminating edge corresponding to thetime point 224 at which the pulse width time ramp reached the target voltage value as determined by theasynchronous timer 2. Therefore, theoutput pulse 226 has an initialization delay substantially equal to the sum of the arbitrary initialization delay and the phase error of the trigger event and a pulse width substantially equal to the arbitrary pulse width time. Inprocess step 196, the trigger circuit is rearmed and theprogram 160 loops back to process step 168 to monitor for another trigger event. - Referring now to
FIG. 9 , the output synchronization andconverter circuit 41 synchronizes a number of the outputs of the memory storage and delay calculation circuit 40 (i.e., the FPGA 100) and converts the outputs of thecircuit 41 from TTL outputs to ECL outputs as required by subsequent circuits. Thecircuit 41 may not be required in those embodiments in which the memory storage anddelay calculation circuit 40 exhibits minimal jitter between outputs. Additionally, in embodiments in which thecircuit 30 is implemented using a single logic family or in which the logic family of the outputs ofcircuit 40 match the logic family of the circuits receiving said outputs, the outputs of thecircuit 40 need not be converted. - The
circuit 41 includes asynchronization circuit 110 and a number ofconverter circuits synchronization circuit 110 includes twotranslators register 128. Illustratively, thetranslators Semiconductor type MC100ELT22 5V dual TTL to differential PECL translator and theregister 128 is an ON Semiconductor type MC10EP451 3.3V/5V ECL 6-Bit differential register. The input terminal, D0, of thetranslator 124 is coupled to the TTL_START_1 signal line and the input terminal, D1, oftranslator 126 is coupled to the TTL_STOP_1 signal line. Thetranslators circuit 40 to PECL signals. The outputs, Q and #Q, oftranslator 124 are coupled to the D0 and #D0 input terminals of theregister 128. The outputs, Q and #Q, oftranslator 126 are coupled to the D1 and #D1 input terminals of theregister 128. The clock terminals, CLK and #CLK, of theregister 128 are coupled to the 100 MHZ_PECL and #100MHZ_PECL master clock signal lines. The Q0 and #Q0 output terminals ofregister 128 are coupled to the TRIG_START_PECL and #TRIG_START_PECL signal lines, respectively, of theregister 128. Similarly, the Q1 and #Q1 output terminals of theregister 128 are coupled to the TRIG_STOP_PECL and #TRIG_STOP_PECL signal lines, respectively, of theregister 128. Theregister 128 minimizes any jitter present in the outputs of the memory storage anddelay calculation circuit 40 by synchronizing the start and stop signals with the master clock. - Each of the
converter circuits converter circuit 112 includes atranslator 113 having an input terminal, D0, coupled to the TTL_TRIG_INHIB signal line and atranslator 114 having an input terminal, D1, coupled to the TTL_ARM signal line. The Q0 output terminal oftranslator 113 is coupled to the TRIG_INHIB_PECL signal line and the Q0 output terminal oftranslator 114 is coupled to the ARM_PECL signal line. Illustratively, thetranslators Semiconductor type MC100ELT22 5V dual TTL to differential PECL translator. Theconverter circuit 116 includes atranslator 117, illustratively an ONSemiconductor type MC100ELT20 5V TTL to differential PECL translator, having an input terminal, D, coupled to the TTL_TRIG_POLAR signal line and an output terminal, Q, coupled to the TRIG_POLARITY_PECL signal line. - Each of the
converter circuits translator translators Semiconductor type MC100ELT24 5V TTL to differential ECL translators. Thetranslator 119 includes an input terminal, D, coupled to the TLL_RST_TGL signal line and an output terminal, Q, coupled to the RST_TGL_NECL signal line. Thetranslator 121 includes an input terminal, D, coupled to the TTL_HOLD_LATCH signal line and output terminals, Q and #Q, coupled to the RAMPLATCH_NECL and #RAMPLATCH_NECL signal lines, respectively. Thetranslator 123 includes an input terminal, D, coupled to the TTL_OUT_INHIB signal line and output terminal, Q and #Q, coupled to the OUT_INHIB_NECL and #OUT_INHIB_NECL signal lines, respectively. Additional converter circuits may be used in other embodiments to convert additional control signals to similar or other logic families as required by the particular embodiment or implementation of thecircuit 30. - Referring now particularly to
FIGS. 10-12 , thedelay output circuit 42 delays the initialization of the output delay event by the sum of the pulse width between the trigger event and a subsequent master clock pulse as represented by the stored digital value and the arbitrary initialization delay time. Further, thecircuit 42 produces an output delay event having a pulse width substantially equal to the arbitrary pulse width delay at an output port. In the illustrated embodiment, a digital-to-analog converter converts the stored digital value, or calculated digital values based thereon, to a first and a second analog voltage value. A first voltage ramp is initiated after the arbitrary initialization delay time has elapsed as determined by thecircuit 40. Once the first voltage ramp equals the first converted analog voltage value, a first output pulse is generated. A second voltage ramp is initiated after the arbitrary pulse width delay time has elapse as determined by thecircuit 40. Once the voltage of the second ramp equals the second converted analog voltage value, a second output pulse is generated. A delayed output event is subsequently produced having an initialization edge (i.e., a rising edge) corresponding to the first output pulse and a terminating edge (i.e., a falling edge) corresponding to the second output pulse. - Illustratively, the delay output circuit includes a digital-to-
analog converter 130, a first and second current-to-voltage converter second translator second ramp generator second comparator gate 148, a JK flip-flop 150, and anintegrated driver 152. TheDAC 130 illustratively is a Burr-Brown type DAC2902 dual, 12 bit, 125 MSPS, digital-to-analog converter. Theconverters translators Semiconductor type MC100ELT21 5V differential PECL to TTL translators. Theramp generators comparators gate 148 illustratively is an ONSemiconductor type MC100EL04 5V ECL 2-input AND/NAND gate. The JK flip-flop 150 illustratively is an ON Semiconductor type MC100EL35 JK flip-flop and theintegrated driver 152 is an Analog Devices type AD53040 ultrahigh speed pin driver. - Referring particularly to
FIG. 10 , theDAC 130 includes a first and second input port having data input terminals D0_1-D11_1 and D0_2-D11_2, respectively. The D0_1-D11_1 and D0_2-D11_2 data terminals are wired in a parallel configuration to the data lines D0-D11, respectively (SeeFIG. 2 ). Data information is multiplexed on the data lines, D0-D11, by theFPGA 100. The WRT1 and WRT2 control signals determine the particular port and associated data terminals of theDAC 130 to which the data on the D0-D11 data lines is written. Accordingly, the WRT1 terminal ofDAC 130 is coupled to the WRT1 signal line and the WRT2 terminal ofDAC 130 is coupled to the WRT2 signal line. TheDAC 130 converts the digital values received at the first and second input ports to analog output values produced at IOUT1 and IOUT2 terminals, respectively, of the DAC130. The outputs of theDAC 130 are current outputs and are subsequently converted to voltage outputs by theconverters DAC 130 are coupled to the non-inverting input terminal (+) and inverting input terminal (−), respectively, of theconverter 132. Similarly, the IOUT2 and #IOUT2 terminals of theDAC 130 are coupled to the non-inverting input terminal (+) and the inverting input terminal (−), respectively, of theconverter 134. The output ofconverters converter 132 corresponds to theasynchronous timer 1 voltage value which provides a target voltage level for the output initialization delay ramp and is coupled to the V_START_DELAY signal line. The output of theconverter 132 corresponds to theasynchronous timer 2 voltage value which provides a target voltage level for the output pulse width ramp and is coupled to the V_STOP_DELAY signal line. The operation of the voltage ramps is discussed in detail below in regard toFIG. 11 . - Referring now particularly to
FIG. 11 , the V_START_DELAY and V_STOP_DELAY signal lines are coupled to the IN− terminals ofcomparators translator 136. The TRIG_STOP_PECL and #TRIG_STOP_PECL signal lines are coupled to the Q and #Q inputs oftranslator 138. Thetranslators translator 136 is coupled to the Vi input terminal of the operational transconductance amplifier of theramp generator 140. Theramp generator 140 is configured as an integrator and generates a voltage ramp when thegenerator 140 receives the TRIG_START_PECL signal. The OUTput terminal oframp generator 140 is coupled to the IN+ terminal of thecomparator 144. Thecomparator 144 produces a PECL low logic level pulse signal on the #Q output terminal when the ramp voltage of theramp generator 140 is substantially equal to or greater than the analog voltage value of the V_START_DELAY data signal. The output value of thecomparator 144 is latched for an appropriate time period to produce an output pulse having a suitable pulse width using the RAMPLATCH_NECL and #RAMPLATCH_NECL signals. The #Q output terminal of thecomparator 144 is coupled to the D0 input terminal of the ANDgate 148. - The output of
translator 138 is coupled to the Vi input terminal of the operational transconductance amplifier of theramp generator 142. Theramp generator 142 is also configured as an integrator and generates a voltage ramp when thegenerator 142 receives the TRIG_STOP_PECL signal. The OUTput terminal oframp generator 142 is coupled to the IN+ terminal of thecomparator 146. Thecomparator 146 produces a PECL low logic level pulse signal on the #Q output terminal when the ramp voltage of theramp generator 142 is substantially equal to or greater than the analog voltage value of the V_STOP_DELAY data signal. Similar to thecomparator 144, the output value of thecomparator 146 is latched for an appropriate time period to produce an output pulse having a suitable pulse width using the RAMPLATCH_NECL and #RAMPLATCH_NECL signals. The #Q output terminal of thecomparator 146 is coupled to the D1 input terminal of the ANDgate 148. - The AND
gate 148 produces a first PECL high logic level pulse corresponding to the PECL low logic level pulse of the output ofcomparator 144 and a second PECL high logic level pulse corresponding to the PECL low logic level pulse of the output ofcomparator 146 at its #Q output terminal. The #Q output terminal of the ANDgate 148 is coupled to the CLK control terminal of the flip-flop 150. The flip-flop 150 is wired in a toggle configuration with a data value set to an NECL high logic level. The reset terminal, R, of the flip-flop 150 is coupled to the RST_TGL_NECL signal line thereby allowing the flip-flop 150 to be reset according to the RST_TGL_NECL signal. The output terminals, Q and #Q, of the flip-flop 150 are coupled to the PULSE_OUT_NECL and #PULSE_OUT_NECL signal lines. The flip-flop is toggled for a first time at the rising edge of the first PECL high logic level pulse received from the ANDgate 148 and toggled a second time at the rising edge of the second PECL high logic level pulse received form the ANDgate 148. Accordingly, the PULSE_OUT_NECL signal is an NECL high logic level pulse with a pulse width approximately equal to the width between the rising edges of the first and second PECL high logic level output pulses of the ANDgate 148. It should be noted that the output signal of the flip-flop 150 may or may not be synchronous with the master clock. - Referring now to
FIG. 12 , the PUSLE_OUT_NECL and #PULSE_OUT_NECL signal lines are coupled to the DATA and #DATA terminals, respectively, of theintegrated driver 152. Theintegrated driver 152 translates the voltage level of the output delayed event signal from flip-flop 150 to a voltage level determined by the VO_HIGH and VO_LOW control signals. Theintegrated driver 152, therefore, permits the production of an output delayed event signal having a variety of logic voltage levels. The control signals, VO_HIGH and VO_LOW, may be preset voltage values or supplied by other circuits. The OUT_INHIB_NECL control signal may be used to control the operation of theintegrated driver 152. Accordingly, the OUT_INHIB_NECL and #OUT_INHIB_NECL control lines are coupled to the INH and #INH control terminals of thedriver 152, respectively. The V_OUT output terminal ofintegrated driver 152 is coupled to anoutput port 154. - Referring now to
FIGS. 15 and 16 , the timing accuracy ofcircuits Digital Converter circuits circuits circuits FIG. 7 ), may include unknown internal or propagation delays. Accordingly, a self-calibration method 230, illustrated inFIGS. 15 and 16 , may be used to compensate for the unknown timing uncertainties of thecircuits calibration method 230 is discussed below in reference to thecircuit 30 which is one illustrative embodiment of thecircuit 10 with the understanding that themethod 230 may be used with any embodiment of thecircuit 10. - The self-calibration method or
process 230 begins with aprocess step 232 in which portions of thecircuit 30 are initialized. The initialized portions may include, for example, themaster clock circuit 32 among other sub-circuits ofcircuit 30. Inprocess step 234, theprocess 230 monitors for a leading edge of a clock cycle of a master clock pulse train. If no leading edge is detected, theprocess 230 loops back to process step 234 to continue monitoring for a leading edge of a master clock cycle. An exemplary masterclock pulse train 280 is illustrated inFIG. 16 . In the illustrative embodiment, a leading edge of a master clock cycle corresponds to a rising edge of the master clock cycle, but in other embodiments falling edges of master clock cycles may be used as leading edges of clock cycles. - Once
process 230 detects a leading edge (i.e., a rising edge) of a clock cycle of the masterclock pulse train 280, afirst ramp 282 is initiated inprocess step 236 at atime point 284 contemporaneously with the detected leading edge of the masterclock pulse train 280 as illustrated inFIG. 16 . In the illustrative embodiment, thefirst ramp 282 is produced by theramp generator 86 of the TVC andADC circuit 38 of thecircuit 30, but other ramp generation circuits may be used to calculate additional inherent delays. It should be appreciated fromFIG. 16 that thetime point 284 may or may not be synchronous with the leading edge of the clock cycle of the masterclock pulse train 280 due to the internal delays of thecircuit 30. - The
first ramp 282 continues for one full clock cycle of the masterclock pulse train 280. Theprocess 230 monitors for the next leading edge of the masterclock pulse train 280 inprocess step 238. If no leading edge is detected, theprocess 230 loops back to process step 238 to continue monitoring for the leading edge of the next master clock cycle. Once the next master clock cycle has been detected, thefirst voltage ramp 282 is stopped at atime point 286 contemporaneously with the detected leading edge (i.e., the end of the previous master clock cycle) of the next master clock cycle inprocess step 240. Also inprocess step 240, the ramp voltage of thefirst ramp 282 is held for a suitable time period (e.g., a time period suitable to convert the analog voltage value to a digital value). In theillustrative circuit 30, the ramp voltage produced by the ramp generator 88 of the TVC andADC circuit 38 is held by controlling the quiescent current of the ramp generator 88, but other methods of holding the ramp voltage may be used such as a sample and hold circuit as discussed above in regard toFIG. 6 . Similar totime point 284, it should be appreciated that thetime point 286 may be synchronous or asynchronous with the leading edge of the next master clock cycle due to the internal delays of thecircuit 30. - The analog voltage value of the
first ramp 282 which is held instep 240 is converted to a digital value inprocess step 242. In theillustrative circuit 30, the analog ramp voltage value is converted to a digital ramp voltage value by the ADC 88 (seeFIG. 7 ) of the TVC andADC circuit 38. Inprocess step 244, the digital ramp voltage value is stored in a memory location. Illustratively, the digital ramp voltage value is stored by the Memory Storage andDelay Calculation circuit 40 in an internal memory location. Alternatively, the digital ramp voltage value may be stored in an external memory device. - The
circuit 30 is reset inprocess step 246. Inprocess step 248, theprocess 230 monitors for another leading edge of a clock cycle of the masterclock pulse train 280. If no leading edge is detected, theprocess 230 loops back to theprocess step 248 to continue monitoring for another leading edge of a master clock cycle. Onceprocess 230 detects another leading edge (i.e., a rising edge) of a clock cycle of the masterclock pulse train 280, asecond ramp 292 is initiated inprocess step 250 at atime point 294 contemporaneously with the detected leading edge of the masterclock pulse train 280 as illustrated inFIG. 16 . Similar to thetime point 284, thetime point 294 may be synchronous or asynchronous with the leading edge of the clock cycle of the masterclock pulse train 280 due to the internal delays of thecircuit 30. Additionally, incircuits 30 including more than one TVC andADC circuit 18, thecircuits 18 may be used to initiate multiple ramps at a single time point. In such an embodiment, theinitiation time points single circuit 18, however, thesecond ramp 292 is initiated after the termination of thefirst ramp 282 and, accordingly, theinitiation time points - The
second ramp 292 continues for two full clock cycles of the masterclock pulse train 280. Theprocess 230 monitors for the second leading edge of the masterclock pulse train 280 inprocess step 252. If the second leading edge is not detected, theprocess 230 loops back to process step 252 to continue monitoring for the second leading edge of the masterclock pulse train 280. Once the second leading edge of the masterclock pulse train 280 has been detected, thesecond voltage ramp 292 is stopped at atime point 296 contemporaneously with the detected second leading edge (i.e., the end of the previous two master clock cycles) of the masterclock pulse train 280 inprocess step 254. Also inprocess step 254, the ramp voltage of thesecond ramp 282 is held for a suitable time period (e.g., a time period suitable to convert the analog voltage value to a digital value). Thetime point 296 may be synchronous or asynchronous with the second leading edge of the masterclock pulse train 280 due to the internal delays of thecircuit 30. - The analog voltage value of the
second ramp 282 which is held instep 254 is converted to a digital value inprocess step 256. Inprocess step 258, the digital ramp voltage value is stored in a memory location such as in the Memory Storage andDelay Calculation circuit 40. Thecircuit 30 is subsequently reset inprocess step 260. - As a result of this self-
calibration method 230, voltages attimes Delay Calculation circuit 40, inprocess step 262. Theprocess 230 calculates the slope and intercept of a voltage-to-time plot using the archived data values inprocess step 264. The voltage-to-time plot permits referencing voltage values to time values and time values to voltage values. The voltage-to-time plot may increase the circuit's accuracy because the data points reflect some of the inherent delay times ofcircuit 30. The coefficients of the voltage-to-time plot are subsequently stored in a memory location inprocess step 268 and theprocess 230 ends inprocess step 270. - Referring now to
FIGS. 17 and 18 , a system including twocircuits 10 of the type illustrated inFIG. 1 may be used to measure the delay time between two input pulses utilizing a delay time measurement method orprocess 300. For example, a system having a first and a secondillustrative circuit 30 may be used with themethod 300. Although themethod 300 is described below in reference to thecircuit 30 which is one illustrative embodiment of thecircuit 10, it should be appreciated that themethod 300 is applicable to other embodiments of thecircuit 10 as well. Additionally, in some embodiments, a singlemaster clock circuit - The delay
time measurement method 300 begins with aprocess step 302 in which the first andsecond circuits 30 are initialized. Initialization may include, for example, initializing themaster clock circuit 32. An illustrative masterclock pulse train 350 is shown inFIG. 18 . Inprocess step 304, the trigger circuits of the first andsecond circuits 30 are armed and prepared for the detection of trigger events. For example, the window voltages are determined and supplied to the Signal Conditioning andEdge Detection Circuits 34 of the first andsecond circuits 30 and the flip-flops of the Resynchronization and JitterPulse construction circuits 36 of the first andsecond circuits 30 are preset and armed. - In
process step 306, theprocess 300 determines if afirst trigger event 352 has been received by thefirst circuit 30. If thefirst circuit 30 received thefirst trigger event 352, theprocess 300 advances to processstep 310 which will be described below. If thefirst circuit 30 did not receive thefirst trigger event 352, theprocess 300 determines if asecond trigger event 354 has been received by thesecond circuit 30 inprocess step 208. If thesecond circuit 30 received thesecond trigger event 354, theprocess 300 advances to processstep 322 which will be described below. If thesecond circuit 30 has not received thesecond trigger event 354, theprocess 300 loops back to process step 306 to determine if thefirst circuit 30 has received thefirst trigger event 352. Accordingly, theprocess 300 continues to monitor for one of thetrigger events - Referring back to
process step 306, if thefirst circuit 30 received thefirst trigger event 352 inprocess step 306, the phase error between thefirst trigger event 352 and the masterclock pulse train 350 is determined inprocess step 310. Illustratively, the phase error is determined by initiating afirst voltage ramp 356 contemporaneously with the detection of thefirst trigger event 352 at atime point 358. Thefirst ramp 356 continues until a convenient leading edge of the masterclock pulse train 350. Illustratively, thefirst ramp 356 continues for a time period equal to the phase error between thefirst trigger event 352 and the leading edge of the next cycle of the masterclock pulse train 350 plus one additional clock cycle, i.e., atime point 360 at the rising edge of the second master clock cycle after the detection of thefirst trigger event 352. Thetime point 358 may or may not be synchronous with the detectedfirst trigger event 352 due to inherent delays within thecircuits 30. Similarly, thetime point 360 may or may not be synchronous with the leading edge of the clock cycle of the masterclock pulse train 350 due to inherent delays withincircuits 30. However, the self-calibration method 230 may be used to compensate for the inherent delays of thecircuits 30 as discussed above in regard toFIGS. 15 and 16 . - After the
first ramp 356 has stopped rising at thetime point 360, the voltage value of theramp 356 is digitized and the digital value is stored in a memory location. Illustratively, the voltage value of theramp 356 is digitized by the ADC 88 (seeFIG. 7 ) of the TVC andADC circuit 38 and stored in the Memory Storage and Delay Calculation circuit 40 (seeFIG. 8 ). Inprocess step 312, a synchronous counter, illustrated inFIG. 18 bysynchronous counter 368, is initiated to count the number of elapsed master clock cycles. Illustratively, thesynchronous counter 368 is initiated at the rising edge of the second master clock cycle after thefirst trigger event 352 and contemporaneously with thetime point 362. Inprocess step 314, theprocess 300 monitors for thesecond trigger event 354. If thesecond circuit 30 has not received thesecond trigger event 354, theprocess 300 loops back to process step 314 to continue monitoring for thesecond trigger event 354. If thesecond circuit 30 has received thesecond trigger event 354, the phase error between thesecond trigger event 354 and the masterclock pulse train 350 is determined inprocess step 316. Illustratively, the phase error is determined by initiating asecond voltage ramp 362 contemporaneously with the detection of thesecond trigger event 354 at atime point 364. Thesecond ramp 362 continues until a convenient leading edge of the masterclock pulse train 350. Illustratively, similar to thefirst ramp 356, thesecond ramp 362 continues for a time period equal to the phase error between thesecond trigger event 354 and the leading edge of the next cycle of the masterclock pulse train 350 plus one additional clock cycle, i.e., atime point 366 at the rising edge of the second master clock cycle after the detection of thesecond trigger event 354. Thetime point 364 may or may not be synchronous with the detectedsecond trigger event 354 due to inherent delays within thecircuits 30. Similarly, thetime point 366 may or may not be synchronous with the leading edge of the clock cycle of the masterclock pulse train 350 due to inherent delays withincircuits 30. Again, the self-calibration method 230 may be used to compensate for the inherent delays of thecircuits 30 as discussed above in regard toFIGS. 15 and 16 . - After the
second ramp 362 has stopped rising at thetime point 366, the voltage value of theramp 362 is digitized and the digital value is stored in a memory location. Illustratively, the voltage value of theramp 362 is digitized by the ADC 88 (seeFIG. 7 ) of the TVC andADC circuit 38 and stored in the Memory Storage and Delay Calculation circuit 40 (seeFIG. 8 ). Inprocess step 318, the synchronous counter is terminated and the value of the synchronous counter is stored in a memory location: Illustratively, the synchronous counter is terminated contemporaneously with thetime point 366 at the rising edge of the second master clock cycle after thesecond trigger event 354. The time value of the synchronous counter is stored in the Memory Storage andDelay Calculation circuit 40. Theprocess 300 subsequently advances to processstep 320 which will be described below. - Referring back to
process step 308, if thesecond circuit 30 received thesecond trigger event 354 inprocess step 308, theprocess 300 performs a process routine formed of process steps 322-330 which is similar to the respective process steps of 310-318. The process routine of process steps 322-330 and process steps 310-318 differ in that thesecond voltage ramp 362 is initiated prior to thefirst voltage ramp 356 because thesecond trigger event 354 is received prior to thefirst trigger event 352. Additionally, in the process routine of process steps 322-330, the synchronous counter is initiated at the termination of thesecond ramp 362 and is halted at the termination of thefirst ramp 356. However, the calculation process of the phase error of thetrigger events process 300 operates in substantially the same manner independent of whether thefirst trigger event 352 occurs before or after thesecond trigger event 354. - In
process step 320, after both triggeringevents events process 300. Illustratively, the delay time between the twotrigger events first voltage ramp 356 if thefirst trigger event 352 is received prior to thesecond trigger event 354 and thesecond voltage ramp 362 if thesecond trigger event 354 is received prior to the first trigger event 352). The time value of the voltage ramp associated with the second received trigger event (i.e. thesecond voltage ramp 362 if thefirst trigger event 352 is received prior to thesecond trigger event 354 and thefirst voltage ramp 356 if thesecond trigger event 354 is received prior to the first trigger event 352) is then subtracted from this sum. The resulting value, therefore, is the delay time between the first received trigger event and the second received trigger event. The time value of the digitized voltage ramp values may be determined by using the calibration coefficients determined by the self-calibration method 230 described above in regard toFIGS. 15 and 16 . Theprocess 300 subsequently terminates inprocess step 332. - It should be appreciated that the delay time calculation process of
process step 320 may be configured or otherwise altered to accommodate other timing factors including, but not limited to, fixed and known delays. Knowledge of the time delay between two trigger pulses may have many applications including, for example, measuring the propagation delay in electrical circuitry, RADAR, control circuits, and distance measurement circuitry. - There are many advantages of the concepts of the present disclosure arising from the various features of the apparatus and methods described herein. Other embodiments of the apparatus and methods of the present disclosure may not include all of the features described yet still benefit from at least some of the advantages of such features. Those of ordinary skill in the art may readily devise their own implementations of the apparatus and methods of the present disclosure that incorporate one or more of the features of the present disclosure and fall within the spirit and scope of the invention defined by the appended claims.
Claims (9)
1. A method for measuring a time between two trigger events, the method comprising
initiating a first ramp voltage for the duration of a time between a first trigger event and a subsequent clock pulse;
initiating a time counter contemporaneously with the end of the first ramp voltage;
initiating a second ramp voltage for the duration of a time between a second trigger event and a subsequent clock pulse;
terminating the time counter contemporaneously with the end of the second ramp voltage; and
calculating the delay between the first trigger event and the second trigger event.
2. The method of claim 52, further comprising converting a peak voltage of the first ramp voltage to a first time value and converting a peak voltage of the second ramp voltage to a second time value.
3. The method of claim 52, wherein calculating the delay between the first trigger event and the second trigger event comprises converting a peak voltage of the first ramp voltage to a first time value, converting a peak voltage of the second ramp voltage to a second time value, summing the first time value with the time counter, and subtracting the second time value from the time counter.
4. A method for self-calibrating a delay measurement and generation circuit, the method comprising:
initiating a first voltage ramp for about one clock cycle;
storing a first peak voltage of the first voltage ramp;
initiating a second voltage ramp for about two clock cycles;
storing a second peak voltage of the second voltage ramp;
calculating the slope and intercept of a voltage-to-time line including the first and second peak voltages.
5. The method of claim 55, wherein storing a first peak voltage of the first voltage ramp comprises sampling and holding the voltage ramp after about one clock cycle.
6. The method of claim 55, wherein storing a second peak voltage of the second voltage ramp comprises sampling and holding the voltage ramp after about one clock cycle.
7. The method of claim 55, wherein storing a first peak voltage of the first voltage ramp comprises converting the first peak voltage to a first digital value and subsequently storing the first digital value in a memory location.
8. The method of claim 55, wherein storing a second peak voltage of the second voltage ramp comprises converting the second peak voltage to a second digital value and subsequently storing the second digital value in a memory location.
9. The method of claim 55, further comprising storing the slope and intercept of the voltage-to-time line in a memory location.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/251,711 US20060038598A1 (en) | 2003-03-17 | 2005-10-17 | Generation and measurement of timing delays by digital phase error compensation |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US45557203P | 2003-03-17 | 2003-03-17 | |
US10/744,834 US6956422B2 (en) | 2003-03-17 | 2003-12-23 | Generation and measurement of timing delays by digital phase error compensation |
US11/251,711 US20060038598A1 (en) | 2003-03-17 | 2005-10-17 | Generation and measurement of timing delays by digital phase error compensation |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/744,834 Division US6956422B2 (en) | 2003-03-17 | 2003-12-23 | Generation and measurement of timing delays by digital phase error compensation |
Publications (1)
Publication Number | Publication Date |
---|---|
US20060038598A1 true US20060038598A1 (en) | 2006-02-23 |
Family
ID=33030024
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/744,834 Expired - Fee Related US6956422B2 (en) | 2003-03-17 | 2003-12-23 | Generation and measurement of timing delays by digital phase error compensation |
US11/251,711 Abandoned US20060038598A1 (en) | 2003-03-17 | 2005-10-17 | Generation and measurement of timing delays by digital phase error compensation |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/744,834 Expired - Fee Related US6956422B2 (en) | 2003-03-17 | 2003-12-23 | Generation and measurement of timing delays by digital phase error compensation |
Country Status (4)
Country | Link |
---|---|
US (2) | US6956422B2 (en) |
EP (1) | EP1604215A4 (en) |
AU (1) | AU2003304014A1 (en) |
WO (1) | WO2004083876A1 (en) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7222036B1 (en) * | 2006-03-31 | 2007-05-22 | Altera Corporation | Method for providing PVT compensation |
US20080290923A1 (en) * | 2007-05-25 | 2008-11-27 | Niitek, Inc | Systems and methods for providing delayed signals |
US20080291080A1 (en) * | 2007-05-25 | 2008-11-27 | Niitek, Inc | Systems and methods for providing trigger timing |
US20090295617A1 (en) * | 2007-09-07 | 2009-12-03 | Steven Lavedas | System, Method, and Computer Program Product Providing Three-Dimensional Visualization of Ground Penetrating Radar Data |
US7652619B1 (en) | 2007-05-25 | 2010-01-26 | Niitek, Inc. | Systems and methods using multiple down-conversion ratios in acquisition windows |
US20100066585A1 (en) * | 2007-09-19 | 2010-03-18 | Niitek , Inc | Adjustable pulse width ground penetrating radar |
US7692598B1 (en) | 2005-10-26 | 2010-04-06 | Niitek, Inc. | Method and apparatus for transmitting and receiving time-domain radar signals |
US20100188135A1 (en) * | 2009-01-27 | 2010-07-29 | Abb Oy | Load balancing of parallel connected inverter modules |
US20100231233A1 (en) * | 2009-03-13 | 2010-09-16 | Qualcomm Incorporated | Systems and methods for built in self test jitter measurement |
US20140306689A1 (en) * | 2013-04-10 | 2014-10-16 | Texas Instruments, Incorporated | High resolution current pulse analog measurement |
US10324420B1 (en) | 2018-03-19 | 2019-06-18 | King Fahd University Of Petroleum And Minerals | 555-timer based time-to-voltage converter |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7043710B2 (en) * | 2003-02-13 | 2006-05-09 | Mississippi State University | Method for early evaluation in micropipeline processors |
JP4266350B2 (en) * | 2004-02-12 | 2009-05-20 | 株式会社ルネサステクノロジ | Test circuit |
DE102004042079B3 (en) * | 2004-08-31 | 2006-04-27 | Infineon Technologies Ag | Method for measuring a transit time of a digital circuit and corresponding device |
US7394275B1 (en) * | 2005-03-29 | 2008-07-01 | Unisys Corporation | Systems and methods for generating and evaluating high frequency, low voltage swing signals at in-circuit testing |
US20070019350A1 (en) * | 2005-06-24 | 2007-01-25 | Power Analog Microelectronics, Inc. | Short circuit protection for complementary circuit |
US7352216B2 (en) * | 2005-06-28 | 2008-04-01 | Teridian Semiconductor Corporation | High speed ramp generator |
US7385543B2 (en) * | 2006-06-19 | 2008-06-10 | Agilent Technologies, Inc. | Systems and methods for asynchronous triggering of an arbitrary waveform generator |
US7378831B1 (en) * | 2007-01-18 | 2008-05-27 | International Business Machines Corporation | System and method for determining a delay time interval of components |
US7586433B1 (en) * | 2007-03-26 | 2009-09-08 | Mala Geoscience Ab | Dual port memory trigger system for a ground penetrating radar |
US7804290B2 (en) * | 2007-09-14 | 2010-09-28 | Infineon Technologies, Ag | Event-driven time-interval measurement |
US8222882B2 (en) * | 2009-01-30 | 2012-07-17 | Power Integrations, Inc. | Power supply controller with input voltage compensation for efficiency and maximum power output |
US8957712B2 (en) | 2013-03-15 | 2015-02-17 | Qualcomm Incorporated | Mixed signal TDC with embedded T2V ADC |
TWI508087B (en) * | 2013-07-01 | 2015-11-11 | Mstar Semiconductor Inc | Dynamic memory signal phase tracking method and associated control circuit |
DE102014212288A1 (en) * | 2014-06-26 | 2015-12-31 | Dr. Johannes Heidenhain Gmbh | Device and method for generating a trigger signal in a position measuring device and position measuring device for this purpose |
CN111487910B (en) * | 2020-05-06 | 2024-09-27 | 青岛青源峰达太赫兹科技有限公司 | High-speed waveform acquisition and control circuit for terahertz tomography |
CN112397109B (en) * | 2020-11-19 | 2023-05-09 | 成都海光集成电路设计有限公司 | Method for compensating time delay of memory signal line |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3737766A (en) * | 1971-12-06 | 1973-06-05 | Telecommunications Technology | Testing technique for phase jitter in communication systems |
US4327588A (en) * | 1980-08-28 | 1982-05-04 | The Secretary Of State For Defence In Her Britannic Majesty's Government Of The United Kingdom Of Great Britain And Northern Ireland | Auto-ranging ultrasonic attenuation meters |
US4604717A (en) * | 1983-02-18 | 1986-08-05 | Rca Corporation | Method and apparatus for measuring the time delay between signals |
US4742331A (en) * | 1986-12-23 | 1988-05-03 | Analog Devices, Inc. | Digital-to-time converter |
US4754220A (en) * | 1980-10-21 | 1988-06-28 | Kabushiki Kaisha Sg | Digital output rotational position detection device |
US4968946A (en) * | 1987-04-24 | 1990-11-06 | Simmonds Precision Products, Inc. | Apparatus and method for determining resistance and capacitance values |
US4974234A (en) * | 1988-10-01 | 1990-11-27 | Wandel & Golterman Gmbh & Co. | Method of and circuit for the measurement of jitter modulation of zero-related digital signals |
US5028886A (en) * | 1989-09-29 | 1991-07-02 | Hewlett-Packard Company | Swept frequency slope correction system for synthesized sweeper |
US5180971A (en) * | 1990-03-02 | 1993-01-19 | Hewlett-Packard Company | Method and apparatus for increasing throughput in random repetitive digitizing systems |
US5650739A (en) * | 1992-12-07 | 1997-07-22 | Dallas Semiconductor Corporation | Programmable delay lines |
US5942902A (en) * | 1995-12-21 | 1999-08-24 | Advantest Corporation | Method of measuring delay time and random pulse train generating circuit used in such method |
US6148050A (en) * | 1997-12-01 | 2000-11-14 | Ericsson Inc | Phase digitizer for radio communications |
US6400202B1 (en) * | 2000-02-10 | 2002-06-04 | International Business Machines Corporation | Programmable delay element and synchronous DRAM using the same |
US6460001B1 (en) * | 2000-03-29 | 2002-10-01 | Advantest Corporation | Apparatus for and method of measuring a peak jitter |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5517251A (en) * | 1994-04-28 | 1996-05-14 | The Regents Of The University Of California | Acquisition of video images simultaneously with analog signals |
US5648725A (en) * | 1995-09-12 | 1997-07-15 | Emerson Electric Co. | Pulse width modulation simulator for testing insulating materials |
US6122602A (en) * | 1997-05-02 | 2000-09-19 | Endress + Hauser Gmbh + Co. | Method and arrangement for electromagnetic wave distance measurement by the pulse transit time method |
US6097755A (en) * | 1997-10-20 | 2000-08-01 | Tektronix, Inc. | Time domain reflectometer having optimal interrogating pulses |
-
2003
- 2003-12-23 US US10/744,834 patent/US6956422B2/en not_active Expired - Fee Related
- 2003-12-24 EP EP03808564A patent/EP1604215A4/en not_active Withdrawn
- 2003-12-24 AU AU2003304014A patent/AU2003304014A1/en not_active Abandoned
- 2003-12-24 WO PCT/US2003/041267 patent/WO2004083876A1/en not_active Application Discontinuation
-
2005
- 2005-10-17 US US11/251,711 patent/US20060038598A1/en not_active Abandoned
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3737766A (en) * | 1971-12-06 | 1973-06-05 | Telecommunications Technology | Testing technique for phase jitter in communication systems |
US4327588A (en) * | 1980-08-28 | 1982-05-04 | The Secretary Of State For Defence In Her Britannic Majesty's Government Of The United Kingdom Of Great Britain And Northern Ireland | Auto-ranging ultrasonic attenuation meters |
US4754220A (en) * | 1980-10-21 | 1988-06-28 | Kabushiki Kaisha Sg | Digital output rotational position detection device |
US4604717A (en) * | 1983-02-18 | 1986-08-05 | Rca Corporation | Method and apparatus for measuring the time delay between signals |
US4742331A (en) * | 1986-12-23 | 1988-05-03 | Analog Devices, Inc. | Digital-to-time converter |
US4968946A (en) * | 1987-04-24 | 1990-11-06 | Simmonds Precision Products, Inc. | Apparatus and method for determining resistance and capacitance values |
US4974234A (en) * | 1988-10-01 | 1990-11-27 | Wandel & Golterman Gmbh & Co. | Method of and circuit for the measurement of jitter modulation of zero-related digital signals |
US5028886A (en) * | 1989-09-29 | 1991-07-02 | Hewlett-Packard Company | Swept frequency slope correction system for synthesized sweeper |
US5180971A (en) * | 1990-03-02 | 1993-01-19 | Hewlett-Packard Company | Method and apparatus for increasing throughput in random repetitive digitizing systems |
US5650739A (en) * | 1992-12-07 | 1997-07-22 | Dallas Semiconductor Corporation | Programmable delay lines |
US5942902A (en) * | 1995-12-21 | 1999-08-24 | Advantest Corporation | Method of measuring delay time and random pulse train generating circuit used in such method |
US6148050A (en) * | 1997-12-01 | 2000-11-14 | Ericsson Inc | Phase digitizer for radio communications |
US6400202B1 (en) * | 2000-02-10 | 2002-06-04 | International Business Machines Corporation | Programmable delay element and synchronous DRAM using the same |
US6460001B1 (en) * | 2000-03-29 | 2002-10-01 | Advantest Corporation | Apparatus for and method of measuring a peak jitter |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7692598B1 (en) | 2005-10-26 | 2010-04-06 | Niitek, Inc. | Method and apparatus for transmitting and receiving time-domain radar signals |
US7222036B1 (en) * | 2006-03-31 | 2007-05-22 | Altera Corporation | Method for providing PVT compensation |
US9316729B2 (en) | 2007-05-25 | 2016-04-19 | Niitek, Inc. | Systems and methods for providing trigger timing |
US20080290923A1 (en) * | 2007-05-25 | 2008-11-27 | Niitek, Inc | Systems and methods for providing delayed signals |
US7649492B2 (en) | 2007-05-25 | 2010-01-19 | Niitek, Inc. | Systems and methods for providing delayed signals |
US7652619B1 (en) | 2007-05-25 | 2010-01-26 | Niitek, Inc. | Systems and methods using multiple down-conversion ratios in acquisition windows |
US20080291080A1 (en) * | 2007-05-25 | 2008-11-27 | Niitek, Inc | Systems and methods for providing trigger timing |
US7675454B2 (en) | 2007-09-07 | 2010-03-09 | Niitek, Inc. | System, method, and computer program product providing three-dimensional visualization of ground penetrating radar data |
US20090295617A1 (en) * | 2007-09-07 | 2009-12-03 | Steven Lavedas | System, Method, and Computer Program Product Providing Three-Dimensional Visualization of Ground Penetrating Radar Data |
US20100066585A1 (en) * | 2007-09-19 | 2010-03-18 | Niitek , Inc | Adjustable pulse width ground penetrating radar |
US8207885B2 (en) | 2007-09-19 | 2012-06-26 | Niitek, Inc. | Adjustable pulse width ground penetrating radar |
US8432714B2 (en) * | 2009-01-27 | 2013-04-30 | Abb Oy | Load balancing of parallel connected inverter modules |
US20100188135A1 (en) * | 2009-01-27 | 2010-07-29 | Abb Oy | Load balancing of parallel connected inverter modules |
US20100231233A1 (en) * | 2009-03-13 | 2010-09-16 | Qualcomm Incorporated | Systems and methods for built in self test jitter measurement |
US8283933B2 (en) * | 2009-03-13 | 2012-10-09 | Qualcomm, Incorporated | Systems and methods for built in self test jitter measurement |
US20140306689A1 (en) * | 2013-04-10 | 2014-10-16 | Texas Instruments, Incorporated | High resolution current pulse analog measurement |
US9939480B2 (en) | 2013-04-10 | 2018-04-10 | Texas Instruments Incorporated | Controlling clock measurement with transistors, capacitor, OPAMP, ADC, external enable |
US10324420B1 (en) | 2018-03-19 | 2019-06-18 | King Fahd University Of Petroleum And Minerals | 555-timer based time-to-voltage converter |
US10528010B2 (en) | 2018-03-19 | 2020-01-07 | King Fahd University Of Petroleum And Minerals | Range finding device |
US10545462B2 (en) | 2018-03-19 | 2020-01-28 | King Fahd University Of Petroleum And Minerals | Time-to-voltage converter |
Also Published As
Publication number | Publication date |
---|---|
EP1604215A1 (en) | 2005-12-14 |
WO2004083876A1 (en) | 2004-09-30 |
EP1604215A4 (en) | 2006-05-31 |
US20040183517A1 (en) | 2004-09-23 |
US6956422B2 (en) | 2005-10-18 |
AU2003304014A1 (en) | 2004-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20060038598A1 (en) | Generation and measurement of timing delays by digital phase error compensation | |
JP5389357B2 (en) | Time measurement using a phase-shifted periodic waveform | |
US5589788A (en) | Timing adjustment circuit | |
CN101019035B (en) | Precise time measurement apparatus and method | |
US5959479A (en) | Sampling timebase system | |
US5180971A (en) | Method and apparatus for increasing throughput in random repetitive digitizing systems | |
JPH05264661A (en) | Skew tester for direct digitally synthesized measurement signal | |
EP0909957B1 (en) | Measuring signals in a tester system | |
EP0891654A2 (en) | Apparatus and method for measuring time intervals with very high resolution | |
Rivoir | Fully-digital time-to-digital converter for ATE with autonomous calibration | |
US20090088996A1 (en) | Jitter measuring system and method | |
US6573761B1 (en) | Timebase for sampling an applied signal having a synchronous trigger | |
Szplet et al. | A 45 ps time digitizer with a two-phase clock and dual-edge two-stage interpolation in a field programmable gate array device | |
US7375569B2 (en) | Last stage synchronizer system | |
US5311486A (en) | Timing generation in an automatic electrical test system | |
JP2005106826A (en) | Time converter | |
US5057771A (en) | Phase-locked timebase for electro-optic sampling | |
US5159337A (en) | Self-aligning sampling system and logic analyzer comprising a number of such sampling systems | |
US7143323B2 (en) | High speed capture and averaging of serial data by asynchronous periodic sampling | |
JP4320139B2 (en) | Timing generator and test device | |
Mantyniemi et al. | A 9-channel integrated time-to-digital converter with sub-nanosecond resolution | |
CN115541955A (en) | Oscilloscope for realizing analog triggering | |
US6661862B1 (en) | Digital delay line-based phase detector | |
JPH04218781A (en) | Circuit for increasing processing amount of random repeating digitizing system | |
Sachs et al. | Stimulation of UWB-sensors: pulse or maximum sequence? |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |