Many electronic systems span large spatial extent, such as military radar or aircraft control systems. While signals in these systems are transmitted at or near the speed of light, a delay does occur between the transmission and receipt of the signals. Sending signals that must be output at certain, predetermined times is very difficult in such geographically dispersed systems. Generally, the delay in the system is determined by measuring the delay with a test system. The delay is then accounted for when sending the command.
When new hardware is introduced into the large system, the delay problems are compounded because the system must compensate for new instrument and cable delays. Faster or slower instruments or longer or shorter cables generally cause the new or modified delays.
In general terms, this document is directed to synchronizeable and programmable trigger delays that enable high time resolution, small minimum delays and large maximum delays.
One aspect is a trigger delay circuit that includes a programmable trigger circuit. The programmable trigger circuit is operable to receive one or more input trigger signals and output one or more output trigger signals. The programmable trigger circuit is also operable to delay the time between receiving the input trigger signal and outputting the output trigger signal by some programmable delay.
Another aspect is a trigger delay circuit that includes a receive circuit, a trigger circuit and a delay generator circuit. The receive circuit receives an input trigger signal. The trigger circuit is operable to output an output trigger signal. Connected between the receive circuit and the trigger circuit, the delay generator circuit is operable to determine when the input trigger signal is received and delay the output of the output trigger signal for a predetermined time delay provided by a delay signal.
Still another aspect is a method for delaying a trigger signal. The method includes receiving an input trigger signal and determining a delay between the receipt of the input trigger signal and the output of the output trigger signal. A delay signal is sent to delay the output trigger signal in accordance with the determined delay. In response to the delay signal, the output of the output trigger signal is delayed and the sent after the delay.
Various embodiments will be described in detail with reference to the drawings, wherein like reference numerals represent like parts and assemblies throughout the several views. Reference to various embodiments in this specification does not limit the scope of the claims attached hereto. Any examples set forth in this specification merely set forth some of the many possible embodiments for the appended claims.
In an exemplary embodiment, a trigger delay circuit 100, as shown in
In one embodiment, the delay circuitry 112 includes a delay determination circuitry 114 and an output circuitry 116. The delay determination circuitry 114 determines a time at which to output the trigger-out signal, and the output circuitry 116 outputs the trigger-out signal 108 at the time determined by the delay determination circuitry 114. The time at which the trigger-out signal 108 is determined to be output is based on a clock. The output circuitry 112, in some embodiments, outputs the trigger-out signal based on the time the trigger-in signal 104 is received plus some added delay or time differential. The delay is based on a local clock used for the hardware operation.
The programmable trigger circuit 102, in one embodiment, also receives a delay instruction signal 106, which provides the programmable time delay information for delaying the output of the trigger-out signal 108. In the exemplary embodiment, the delay circuitry 112 provides a small minimum delay and a large maximum delay. Additionally, in further embodiments, the receive circuitry 110 receives and time stamps the trigger-in signal 104 at a high time resolution, and the delay circuitry 112 outputs the trigger-out signal 108 also at a high time resolution. The high time resolution can be to a fraction of the period of the oscillator driving the logic.
In one embodiment, to time stamp the trigger-in signal 104, the receiver circuitry 110 includes a poly-phase time stamping circuit, such as those circuits described in U.S. patent application Ser. No. 11/292,477, entitled “TIME STAMPING EVENTS TO FRACTIONS OF A CLOCK CYCLE,” assigned to common assignee, Agilent Technologies, the entire disclosure of which is hereby incorporated by reference. Likewise, the delay circuitry 112 includes a poly-phase trigger circuit, such as those circuits described in U.S. patent application Ser. No. 11/292,472, entitled “TRIGGERING EVENTS AT FRACTIONS OF A CLOCK CYCLE,” assigned to common assignee, Agilent Technologies; the entire disclosure of which is hereby incorporated by reference in its entirety. In other embodiments, the receive circuitry 110 or the delay circuitry 112 is a chain of gates.
The devices, circuits, circuitry, or components described herein are arranged to be in electrical communication with other devices, circuits, circuitry, or components using any type of suitable data connection that allows the devices to interoperate, regardless of whether the data connection is wired or wireless. Also, all devices described herein may be functions of a microprocessor, microcontroller, or other electrical device, embodied in a discrete component or integrated into an Application Specific Integrated Circuit (ASIC), Field Programmable Gate Array (FPGA), or the like, that are operable to perform the functions described herein. The signals and the circuitry that receives, manipulates, delays, or outputs the signals may do so in any format or technology.
Another exemplary embodiment of a trigger delay circuit 200 is shown in
In one embodiment, the delay signal 212 is a preprogram signal. The preprogram delay signal 212 preprograms the programmable trigger circuit 102 to output a trigger-out signal 208 some predetermined amount of delay after receiving a trigger-in signal 206. The preprogram delay signal is sent to the preprogram delay signal 212 to the programmable trigger circuit 102 before the trigger-in signal arrives. In another embodiment, the delay signal 212 represents a “time bomb.” In this exemplary embodiment, the delay signal represents a time at which the trigger-out signal 208 should be sent. The time is within the resolution of a local hardware time 218. The delay circuitry 112 determines an amount of delay and outputs the trigger-out signal 208 at the time specified by the time bomb delay signal 212.
The delay signal 212 in the exemplary embodiment contains one or more signals and/or one or more items of information. For example, the delay signal 212 provides the delay information. The delay information, in one embodiment, includes one or more signals that specify the amount of predetermined delay to wait before sending the output trigger signal 208. The delay information, in one embodiment, specifies delays to a fraction of the clock cycle and/or to multiples of the clock cycle.
In the exemplary embodiment, the CPU 204 receives a delay instruction signal 106 and determines if the delay should be executed by software in the CPU 204 or in hardware on the programmable trigger circuit 102. In the exemplary embodiment, a stable oscillator 216 sends an oscillating signal to a local hardware time circuit 218. The local hardware time circuit 218 maintains a revolving clock based on the predetermined frequency of the oscillating signal and having a predetermined duration. For example, the local hardware time, in one embodiment, is a clock having a frequency of 200 MHz that resets every 90 minutes.
The CPU 204, in one embodiment, receives the time stamp 210 and the delay instruction signal 106, which contains information pertaining to when the trigger-out signal 208 is to be output. The delay instruction signal 106 provides the information required to know either the amount of delay required or the output time for some trigger-in signal 206. In the exemplary embodiment, the delay instruction signal 106 signal is received instructing the programmable trigger delay circuit 200 when, in time, the trigger-out signal 208 should be sent. The signal is received, in the exemplary embodiment, before the trigger-in signal 206. In the exemplary embodiment, the CPU 204 uses the information in the delay instruction signal 106 to resolve an amount of delay required from the receipt of the trigger-in signal 206 until the output of the trigger-out signal 208. The amount of delay is then incorporated into the delay signal 212 for input into the delay circuitry 112.
In other embodiments, the desired delay is minimal, and the programmable trigger circuit 102 receives the delay signal 212 before the trigger-in signal 206 is received. The CPU 204 configures the programmable trigger circuit 102 to automatically delay the output of the trigger-out signal 208 in the hardware of the delay circuitry 112 before receiving the trigger-in signal 206 and without sending information from the programmable trigger circuit 102 to the CPU 204. The delay circuitry 112 delays the amount of time specified then outputs the trigger-out signal 208. Thus, when delay is too short to have the CPU 204 control the delaying of the trigger, the programmable trigger circuit 102 solely delays the trigger signal.
In the exemplary embodiment, if the trigger-out signal 208 is to be delayed more than duration of the hardware clock, for example, more than 90 minutes, the CPU 204 will determine that the CPU software should delay the trigger-out signal 208 for at least a portion of the delay. Once the remaining delay is within the duration of the local hardware time 218, the CPU 204, in one embodiment, sends the delay signal 212 to the programmable trigger circuit 102 to complete the remaining delay. In contrast, if the trigger-out signal 208 should be delayed less than the duration of the local hardware clock 218, the CPU 204 determines to send the delay signal 212 to the delay circuitry 112, to delay the trigger-out signal 208 without completing any delay within the CPU 204.
The programmable trigger circuit 102, in further embodiments, functions as a cross point switch. As such, any trigger-in signal 206 received on any port or channel can be output as any trigger-out signal 208 on any output port or channel. For example, the cross point switch changes the channel from input to output such that a trigger-in signal B 222 is delayed but output as trigger-out signal C 224, rather than trigger-out signal B 226.
Another exemplary embodiment of a trigger delay circuit 300 is shown
The trigger delay circuit 300 allows for more flexible delay of trigger signals. Programmable trigger circuit 102a is operable to delay trigger signals in a certain time range while programmable trigger circuit 102b is operable to delay trigger signals in a different time range. In addition, if one programmable trigger circuit is already delaying its maximum amount of signals, the CPU 204 has another programmable trigger circuit delay newly received trigger signals. The trigger delay circuit 300 has more than two programmable trigger circuits, further enhancing the flexibility of the time of delay.
Further aspects include one or more hardware systems that are operable to function as a delay circuitry 112. In one exemplary embodiment, a delay circuitry 500 is shown in
The multiplexer 504 receives a digital low signal 516, and, upon being enabled by signal 514, the multiplexer 504 outputs a signal 518 to a digital adder 506 in electrical communication with the multiplexer 504. The adder 506 outputs a signal that is feedback 524 to the multiplexer 504. This connection between the multiplexer 504 and the adder 506 allows for recursive addition. A CPU, such as CPU 204 (
The adder 506 also outputs a signal 522 to a comparator 508 in electrical communication with the adder 506. The comparator 508 compares the output signal 522 to a second delay signal 526 (the delta signal (Δ)) from the CPU, again as part of a delay signal, such as delay signal 212 (
Total_Delay=(Number_of_Additions*(δMultiplexer+δAdder))+δComparator (1)
where, Total_Delay represents the total amount of delay that occurs between the reception of the trigger-in signal and the output of the trigger-out signal, Number_of_Additions represents the number of recursive additions completed across the multiplexer and adder, δMultiplexer equals the gate delay for the multiplexer, δAdder equals the average gate delay for the Adder and δComparator equals the delay for the comparator.
Another exemplary embodiment of a delay circuitry 600 is shown in
In another exemplary embodiment, the coarse delay circuit 602 includes a presettable counter 606 in electrical communication with a comparator 608. The presettable counter 606, in this exemplary embodiment, receives the trigger-in signal 104 and the CLK 614. Upon receiving the trigger-in signal 104, the presettable counter 606 again begins counting the clock cycles of the CLK signal 614. In the exemplary embodiment, the presettable counter 606 outputs the count 620, i.e., the number of clock cycles that have elapsed, to the comparator 608. The comparator 608 compares the count 620 to a preset value signal 622. If the count 620 compares to the preset value 622, the comparator 608 outputs signal 624 to the fine delay circuit 604. In this way, the coarse delay circuit 602 delays the trigger-out signal 108 by some number of clock cycles of the CLK 614. The comparator 608 also sends out an enable signal 626 to an AND gate 646 that can enable a flip flop 632 to output the trigger-out signal 108.
The fine delay circuit 604 includes a digital clock manager signal generator 628 in electrical communication with a digital clock manager 630, which is in turn in electrical communication with a flip flop 632. The digital clock manager signal generator 628 receives the output signal, either signal 616 or 624 from the coarse delay circuit 602. In addition, the digital clock manager signal generator 628 receives a clock signal 634, and a fine delay signal 635 from a CPU, such as CPU 204 (
A constant digital high (digital one) signal 644 and the phase shifted CLK signal 642 are input into the flip flop 632. Upon receiving the phase shifted CLK signal 642 and an enable signal from the AND gate 646, the flip flop 632 outputs the trigger-out signal 108. As such, the trigger-out signal 108 is delayed some fraction of the clock cycle determined by the amount of phase shift programmed by the fine delay signal 635. The combination of the coarse delay circuit 602 and the fine delay circuit 604 allow for large maximum delays that depend on the bit-width of the presettable counter 606 and both fine time resolution and small minimum delays that depend on the number of phases by which the PS CLK 636 can be shifted.
Another embodiment of a delay circuitry 700 is shown in
A CPU 714 provides a digital signal 722 to a digital to analog converter 716. In the exemplary embodiment, the digital to analog converter 716 is an 8-bit D/A converter, but other D/A converters are possible that convert digital inputs 722 having more or fewer bits, such as a four-bit digital input or a 32-bit digital input. The D/A converter 716 provides the analog VRef signal 718 to the operation amplifier 712. As shown in
A method 800 for delaying the trigger of a signal is shown in
If the required delay is not within the resolution of the hardware clock, the process 400 flows NO to receive operation 802. Receive operation 802 receives a trigger-in signal, such as trigger-in signal 104 (
Determine operation 806 determines the time at which the trigger-out signal is to be output. Wait operation 807 waits until the time at which the trigger-out signal is to be output is within the resolution of the hardware clock. If the amount of time between the current time and the time for output is longer than the resolution of the hardware clock, the CPU waits to send a delay signal, such as delay signal 212 (
Send operation 808 sends a delay signal, such as delay signal 212 (
If the required delay is not within the resolution of the hardware clock, the process flows YES to determine operation 814. Determine operation 814 determines an amount of delay required between the trigger-in signal and the trigger-out signal. In the exemplary embodiment, the delay between the trigger-in signal and the trigger-out signal requires the programmable trigger circuit to be preprogrammed. Thus, send operation 809 sends a delay signal to the programmable trigger circuit. In the exemplary embodiment, the CPU sends a delay signal to the programmable trigger circuit to set-up the programmable trigger circuit to delay the trigger-out signal a predetermined amount of time upon receipt of the trigger-in signal. Receive operation 802 receives the trigger-in signal, similar to receive operation 802 described previously.
Delay operation 810 delays the output of the trigger-out signal. The programmable trigger circuit is operable to wait a predetermined amount of time before outputting the trigger-out signal. The programmable trigger circuit uses any type of delay circuitry, such as delay circuitry 500 (
The various embodiments described above are provided by way of illustration only and should not be construed to limit the scope of the appended claims. Those skilled in the art will readily recognize various modifications and changes that may be made without following the example embodiments and applications illustrated and described herein, and without departing from the true spirit and scope of the following claims.