Abstract:
In a test instrument, display locking is reduced by the addition of a non-constant time delay to each acquisition cycle. The time delay may be randomly chosen or follow a predetermined algorithm. Decreased system throughput caused by the addition of a non-constant time delay may be minimized by alternately storing acquired data in two acquisition memories. Display locking may also be reduced by rejecting selected triggers. The data acquired from these selected triggers is not processed for display. The triggers whose data is not processed for display may be randomly chosen or they may be chosen by a predetermined algorithm. Rejecting triggers and the addition of a non-constant time delay may be used in combination or individually to reduce display locking.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to digital oscilloscopes and logic analyzers. More particularly, the invention presents a way of reducing &#34;display-locking&#34; in which digital oscilloscopes or logic analyzers may display one phase of a multi-phase signal to the exclusion of other phases. 
     2. Statement of the Problem 
     A typical digital oscilloscope or logic analyzer arms its trigger then acquires sampled data until the trigger point has been found and all the samples to be displayed have been stored. This process is termed the acquire (&#34;ACQ&#34;) cycle. After that, the instrument calculates which of the acquired points are to be displayed, and where to display them on the screen. This process is termed the &#34;unload&#34; cycle. Often, the time from when a trigger is found to the end of the unload cycle is reasonably constant. This occurs because the calculations required for a given trigger, and the number of points to be transferred to the screen in the unload cycle, are, for the most part, the same each time. If the next acquisition begins a fixed period of time after the previous unload cycle, the time from the previous trigger to the time when the system is armed for the next trigger will also be reasonably constant. This situation can lead to &#34;display lock.&#34; Display lock is a situation where the instrument&#39;s display &#34;locks&#34; onto one particular phase of the signal, while potentially missing others. 
     For example, take a signal that consists of two groups of pulses spaced 75 μs apart, which re-occur every 200 μs. The first group consists of two pulses, the second group, three. Now take an instrument that completes an acquisition and re-arms its trigger about every 150 μs. The instrument will &#34;display lock&#34; and only show the first group of pulses. This leads the user to believe that the signal consists only of groups which have two pulses. The &#34;display lock&#34; occurs because once the instrument has triggered on the first set of pulses, it misses sampling the second set of pulses because it is busy during the unload cycle and the trigger is unarmed. By the time the trigger is rearmed each time, the set of three pulses has passed, and the event that is going to trigger the instrument is the next set of two pulses. Therefore, only the set of two pulses is ever displayed. 
     SUMMARY OF THE INVENTION 
     The present invention reduces display locking by the introduction of a non-constant time delay to each acquisition cycle. This time delay may be determined through random methods, or follow a predetermined algorithm. Decreased throughput of the instrument caused by introducing this time delay can be minimized by alternately storing acquired data in two acquisition memories. Display locking may also be reduced by rejecting selected triggers. The data acquired from these selected triggers is not processed for display by the instrument. The triggers whose data is not processed for display may be randomly chosen or they may be chosen by a predetermined algorithm. Rejecting triggers and the addition of a non-constant time delay may be used individually, or in combination, to reduce display locking. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a time line which illustrates the introduction of a randomly selected time delay. 
     FIG. 2 is a flow chart illustrating the steps for one acquisition cycle with a time delay introduced. 
     FIG. 3 is a time line which illustrates the introduction of a time delay which uses two acquisition memories to maintain system throughput. 
     FIG. 4 is a time line which illustrates the rejection of triggers. 
     FIG. 5 is a flow chart illustrating the steps for one acquisition cycle with the rejection of triggers. 
     FIG. 6 is a time line which illustrates the combination of introducing a time delay and the rejection of triggers. 
     FIG. 7 is a flow chart illustrating the steps for one acquisition cycle with the combination of introducing a time delay and the rejection of triggers. 
     FIG. 8 is a flow chart illustrating the steps for introducing a time delay and using two acquisition memories to maintain system throughput. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     The present invention will be described in terms of a number of different embodiments. The preferred embodiment reduces display locking by introducing a time delay between acquisitions and by selectively rejecting triggers when the trigger rate is higher than the acquisition rate. In the preferred embodiment, the time delay is randomly chosen each acquisition cycle and the rejected triggers are selected at random. 
     FIG. 1 shows a sequence of tasks and events versus time. At the start of each acquisition, &#34;start,&#34; the trigger is armed and the instrument begins sampling and storing data. This is also the beginning of the ACQ cycle. Later, a trigger event occurs. The instrument keeps storing sampled data until it has gathered enough points to display through the right edge of the screen. This ends the ACQ cycle and begins the unload cycle. During the unload cycle, the instrument calculates which points are to be displayed and where on the screen they should be displayed. When this task is complete, the unload cycle ends. At this point, the instrument waits an amount of time. This time delay is limited to a maximum magnitude that is approximately the time necessary for one ACQ cycle and one unload cycle. This time delay may be chosen at random, or follow a predetermined algorithm. After the time delay, the instrument has completed one acquisition cycle. Then, the instrument starts another acquisition by rearming the trigger and sampling and storing data. An alternative embodiment may insert the time delay between the ACQ and the unload cycle, or at any time during the acquisition. 
     The introduction of a time delay which is selected each acquisition cycle ensures that the time between each trigger and the start of the next acquisition is never constant. This is true even if the time for the ACQ and unload cycles is constant for every acquisition. The time from one trigger to the beginning of the next acquisition cannot be constant from acquisition to acquisition since there is always non-constant element introduced by the time delay between acquisitions. This is shown in FIG. 1 by t n  and t n+1 , t n  and t n+1  show the time from the trigger to the start of the next acquisition for two successive cycles. Notice that each contains a non-constant element due to the non-constant time delay between acquisitions. 
     FIG. 2 illustrates the steps for one acquisition which has a time delay inserted after the unload cycle. At the start of an acquisition (200) the trigger is armed, the ACQ cycle begins (202), and data starts to be sampled and stored (204). Data continues to be sampled and stored (204), until a trigger is found (206). After a trigger is found (206) data is sampled and stored until enough points have been gathered to display the waveform through the right edge of the screen (212). When this is complete, the ACQ cycle ends and the unload cycle begins (214). The instrument then displays the points it has gathered (216). When this is complete, the unload cycle ends (218). The instrument then selects an amount of time to wait (219) and waits that selected amount of time (220). The time selected to wait should be non-constant. Once that wait is over, this acquisition ends (222). At this time, a new acquisition may begin (200). 
     Unfortunately, introducing a time delay decreases the instruments throughput in waveforms per second. The time delay is essentially &#34;wasted&#34; time that could have been used to acquire and display another waveform. FIG. 3 illustrates one way that throughput may be maintained without sacrificing performance. In FIG. 3, two memories are used to store acquired data. Acquired data from successive acquisitions is stored in alternate memories. This allows the time delay inserted into the acquisition cycle for memory #1 to occur during the unload cycle of memory #2, and visa versa. Accordingly, no time is wasted with the instrument sitting idle waiting for the time delay to expire. 
     FIG. 8 is a flow chart illustrating the steps for introducing a time delay that maintains system throughput by using two acquisition memories. The instrument begins with an ACQ cycle for memory #1 (800, 801). After the instrument completes the first ACQ cycle for memory #1 (801) it starts an unload cycle for memory #1 and a delay for memory #2 (802). When the delay for memory #2 is complete (804) the instrument does an ACQ cycle for memory #2 (806). After the ACQ cycle for memory #2 is complete, the instrument waits for the unload cycle for memory #1 to complete (808). Once the unload cycle for memory #1 is complete (808), an unload cycle for memory #2 and a delay for memory #1 are started (810). When the delay for memory #1 is complete (812) the instrument does an ACQ cycle for memory #1 (814). After the ACQ cycle for memory #1 is complete, the instrument waits for the unload cycle for memory #2 to complete (816). After the unload cycle for memory #2 is complete, the instrument repeats itself by starting an unload of memory #1 and a delay for memory #2 (802). The delays for memory #1 and #2 should be kept less than the unload time minus the ACQ time to maximize throughput. When the ACQ time is greater than the unload time, rejection of triggers may be used. 
     FIG. 4 illustrates the rejection of triggers. Assume, for example, that there are two types of trigger events, trigger A and trigger B. Assume also that these are each caused by a different part of the waveform, such as the two pulse and three pulse groups discussed earlier. During the first acquisition which starts at &#34;start #1,&#34; the portion of the waveform associated with trigger A is captured and displayed. During the first unload cycle, however, a trigger B event occurs but that portion of the waveform is not captured because the instrument is busy with an unload cycle and the trigger is disarmed. After the first unload cycle is complete, a second acquisition is started at &#34;start #2.&#34; Since the next trigger to occur is a trigger A, this acquisition would also capture the part of the waveform associated with trigger A, and, if left alone, miss the trigger B event during the second unload cycle. This process could repeat itself forever such that the trigger B part of the waveform would never be displayed. A classic &#34;display lock&#34; situation. 
     The second trigger, however, is rejected. It&#39;s data is never processed through the unload cycle. Instead, another acquisition is started at &#34;start #3.&#34; This acquisition will then sample, trigger, unload, and display the part of the waveform associated with trigger B. This effectively &#34;unlocks&#34; the acquisition from the trigger A part of the waveform. If a sufficient number of triggers are rejected per second, many different phases of the waveform will be displayed at any one time. Trigger rejection may be enabled when the instrument detects that triggers are occurring more often than acquisitions and disabled otherwise. If triggers are occurring at a lower rate than acquisitions, the instrument is able to process all the trigger events and no phase of the waveform will fail to be displayed. The triggers to be rejected may be chosen at random or by some other means. 
     FIG. 5 illustrates the steps for an acquisition cycle which may reject triggers. Like FIG. 2, in FIG. 5 an acquisition is started and data sampled until a trigger occurs (200, 202, 204, 206). After a trigger is found (206), the instrument may choose to reject that trigger (508). If a trigger is rejected (508), the ACQ cycle ends (510), the trigger is re-armed and a new ACQ cycle is begun (202). If the trigger is not rejected, data is sampled through the right edge of the screen (212) and displayed (214, 216, 218). After the data has been displayed, the acquisition is complete (222) and a new acquisition may be started (200). 
     FIG. 6 illustrates how introduction of a time delay and trigger rejection may be combined to reduce display locking. Integrating both of these techniques ensures that the time from one trigger to the beginning of the next acquisition is not constant and forces the instrument to display the samples from many different phases of the input waveform. 
     FIG. 7 illustrates the steps for an acquisition which combines trigger rejection and a time delay to reduce display locking. Like FIG. 5, in FIG. 7 an acquisition is started (200). The trigger is armed and ACQ cycle begun (202). The data is sampled and stored (204) until a trigger occurs (206). When a trigger occurs, that trigger may be rejected (508), and a new ACQ cycle begun (510, 202). If the trigger is not rejected (508), the data through the right edge of the screen is sampled and displayed (212, 214, 216, 218). Then the instrument selects an amount of time to wait (219) and waits that amount of time (220). After the delay (220), the acquisition is complete (222). 
     It is to be understood that the claimed invention is not to be limited by the preferred embodiments, but encompasses other modifications and alterations within the scope and spirit of the inventive concept. For example, the time delay is shown and described as occurring after the unload cycle. One alternative would be to insert the time delay after the ACQ cycle. Another example involves using a &#34;smart&#34; algorithm to pick triggers to be rejected instead of randomly selecting triggers. Such a &#34;smart&#34; algorithm may base its decision on heuristics such as the average value of the acquired points, or the number of trigger events that occur during the ACQ and unload cycle.