Abstract:
Rising and falling edges captured by a digital acquisition device appear to chatter on the X-axis by two or more sampling bin boundaries as live acquisition continually updates. This leads to a confusing display of limited usefulness. Averaging of multiple edges eliminates chatter while at the same time increases timing accuracy of the edges beyond the abilities of the base acquisition system. An object of the invention is to display a waveform for an averaged digital signal converted from an analog signal received by a signal processing instrument. A plurality of data acquisitions is stored in memory, and for each data acquisition, a number of rising and falling edges are identified. Each rising and falling edge is counted in each data acquisition. From these counted edges, an average waveform is calculated from the plurality of data acquisitions. The average waveform is displayed as an improved representation of the digital signal.

Description:
BACKGROUND 
       [0001]    Digital acquisition devices, such as the Tektronix TLA7000 Logic Analyzer, enable electrical engineers to measure the signals produced by the digital systems that they design. Research labs use digital acquisition devices to observe correctness of timing and intensity of signals in microprocessors, memory, buses, and other components of digital systems. Acquisition devices play a major role in the development of the continually advancing electronics industry. 
         [0002]    A digital acquisition device will typically display a sensed signal as a sharply elevated or descending step. The rise from “off” to “on” and the descent from “on” to “off” is usually synchronized with the period of a clock in the system under test, and the transition from one state to the other is represented visually as a vertical edge. It is useful to distinguish the clock of a system under test from a clock of a digital acquisition device. In order to provide high resolution on the signal under test, the sample clock of the digital acquisition device must pulse, and therefore sample the signal under test, at a frequency higher than the frequency of the tested system&#39;s clock. This yields meaningful measurements to engineers using the acquisition device. The distance between two consecutive pulses of the clock for the digital acquisition device may be referred to as a sampling bin, and the pulse itself is the sampling bin boundary. A rising or falling edge in an ideal scenario will consistently land within a single sample bin and, therefore. will be consistently associated with a single sample clock edge. 
         [0003]    When testing a particular design, engineers sometimes measure a signal occurring in a repeated pattern. The acquisition device may be programmed to begin data acquisition with a trigger, which can itself be a rising or a falling edge. By supplying a repeating input, engineers can observe whether an input predictably and reliably generates a consistent output. Under ideal circumstances, the output is displayed as a static series of steps if the device is working as expected. Circumstances, however, are not always ideal. 
         [0004]    Depending on metastable conditions (inability of the system under test to settle on a stable “on” or “off”), noise, and skew relative to the trigger event, edges often fall within a sampling bin and not directly on the sampling bin boundary. Multiple edges are drawn then on the screen of the acquisition device to represent what is actually a single edge appearing in multiple acquisitions. These edges appear to chatter on the X-axis by two or more sampling bin boundaries as the live acquisition continually updates. This leads to a confusing display of limited usefulness. The live update of digital channels would be made more meaningful if the chatter could be eliminated. 
         [0005]    Accordingly, there remains a need for an improved method of displaying a waveform for a digital acquisition device. 
       SUMMARY 
       [0006]    Averaging of multiple edges would eliminate chatter while at the same time increase the timing accuracy of the edges beyond the abilities of the base acquisition system. It is, therefore, an object of the invention to display a waveform for an averaged digital signal, converted from an analog signal and received by a signal processing instrument. A plurality of data acquisitions is stored in memory, and for each data acquisition, a number of rising and falling edges are identified. Each rising and falling edge is counted in each data acquisition. From these counted edges, an average waveform is calculated from the plurality of data acquisitions. The average waveform is displayed as an improved representation of the digital signal. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0007]      FIG. 1  illustrates a simplified live display of conventional digital waveforms. 
           [0008]      FIG. 2  depicts three averaged waveforms resulting from three digital signals according to embodiments of the invention. 
           [0009]      FIG. 3  illustrates the use of aperture and dwell according to embodiments of the invention. 
           [0010]      FIG. 4  shows a conventional On-Screen display of a Signal A according four acquisitions of Signal A by a digital acquisition device. 
           [0011]      FIG. 5  illustrates the rising edge count (REC) and their corresponding dwells for each of the digital acquisitions shown in  FIG. 4  according to embodiments of the invention. 
           [0012]      FIG. 6  illustrates the method for flagging an edge as fit for use (FFU) according to embodiments of the invention. 
           [0013]      FIG. 7  illustrates the collecting and storing, in acquisition memory, of both the rising and falling edges and their running sums according to embodiments of the invention. 
           [0014]      FIG. 8  illustrates the placement of rough edges and average edges to create the digital edge average (DEA) waveform according to embodiments of the invention. 
       
    
    
     DETAILED DESCRIPTION 
       [0015]    For applications where a digital sample rate represents multiple pixels in the horizontal direction on screen, the digital transitions can appear to chatter across sampling bins. Live updates of digital channels in this scenario are only useful for seeing logic levels of the digital channels and rough placement of edges on the X-axis. They also require users to have some level of understanding of the nuts and bolts of the digital acquisition system to interpret waveforms that do not appear visually similar to other timing diagrams they are used to seeing.  FIG. 1  illustrates a simplified live display of conventional digital waveforms. 
         [0016]    Referring to  FIG. 1 , digital signals A, B, and C repeat over a period of time, are synchronous to the same tested system&#39;s clock, but are otherwise unrelated to one another. The rising edge  120   a  of Signal A is located in the middle of sampling bin  105   a , and falling edge  130   a  of Signal A is located in the middle of sampling bin  105   b . Each edge is equidistant from the nearest sampling bin boundaries  110   a - d . The rising edge  120   b  of Signal B is located nearest sampling bin boundary  110   b , and falling edge  130   b  of Signal B is located nearest sampling bin boundary  110   d . The rising edge  120   c  of Signal C is located nearest the sampling bin boundary  110   a , and the falling edge  120   c  of Signal C is located nearest the sampling bin boundary  110   c . When displayed on-screen, all three signals appear to have coincident rising and falling edges. Over multiple acquisitions, the edges for each signal bounce back and forth on sampling bin boundaries  110   a - d  that border sampling bins  105   a  and  105   b . This can be attributed, in part, to the asynchronous and random relationship between the sample clock of the acquisition device and the clock of the system under test. 
         [0017]    An embodiment of the invention, as depicted in  FIG. 2 , is a method that accumulates acquisition data for the digital signal transitions over multiple acquisitions. It tracks the number of times an edge is correlated to a sampling bin boundary. The correlated counts may be used to generate a weighted average, which are in turn used to place the drawn edge between digital sample points on-screen. For instance, Signal A&#39;s rising edge  220   a  will be evenly distributed between the two closest sampling bin boundaries  210   a  and  210   b . Falling edge  230   a  will, likewise, be evenly distributed between the two closest sampling bin boundaries  210   c  and  210   d . Signal B&#39;s rising edge  220   b  will be heavily weighted toward sampling bin boundary  210   b , as will its falling edge  230   b  be heavily weighted toward sampling bin boundary  210   d . Lastly, Signal C&#39;s rising edge  220   c  will be weighted toward sampling bin boundary  210   a , and its falling edge  230   c  will be weighted toward sampling bin boundary  210   c.    
         [0018]    The resulting Digital Edge Averaged (DEA) display is illustrated in  FIG. 2  as average waveforms  240   a - c . Each of the DEA waveforms  240   a - c  is superimposed over the conventionally sampled acquisitions. The jitter of the conventional waveform, as would be found in sampling bins  205   a  and  205   b , is depicted by dotted lines. 
         [0019]    Display of waveforms  240   a - c  give the user much more valuable information during live updates. The user today cannot see which signals are leading or lagging each other as is possible with DEA waveforms  240   a - c . Timing data not otherwise available is revealed, and that timing data resolves to a better resolution than the base digital sample rate. The resulting waveforms are displayed in a way that is much more familiar to digital designers so that they need not interpret the display features unique to digital acquisition devices. The displayed waveforms more closely resemble timing diagrams from their documentation and simulation outputs. Vertical cursors and automated measurements, in alternate embodiments, may use the averaged edge information to attain more accurate measurement results. 
         [0020]    The simplified description above works well when individual signal transitions in the same direction (like-kind rising and falling edges) are separated by a relatively large number of sampling bins, or “dwell” time, and the edges themselves fall into a relatively small number of sampling bins, or “aperture” time, relative to the trigger event. There will always be a device-dependent minimum dwell to aperture ratio required for DEA to be feasible. The various acquisition device and user-dependent jitter effects described above and below will tend to spread the edge transitions over more sampling bins. This increases the aperture, decreases dwell, and degrades the dwell to aperture ratio. 
         [0021]    Dwell is more formally defined as a minimum amount of time that must transpire after the detection of an edge, or a transition between logic levels, and the detection of a subsequent edge of like-kind polarity (rising versus falling). Dwell is a function of aperture, which implies that it is a function of variables originating from the system under test and the digital acquisition device. Referring to the embodiment of  FIG. 3 , sampling bins are two nanoseconds in length. Dwell  330  is the minimum distance that must separate like-kind edges  350  and  360  in order to generate a DEA waveform. Dwell  330  is generated from the dwell to aperture ratio, in this case 3/2. The numerator of the ratio is multiplied by the nearest integer multiple of the sample rate (6 ns×2=12 ns) to produce a dwell  330  of six sampling bins. An aperture  310  of four sampling bins is also shown in  FIG. 3 , and is described in greater detail in  FIG. 4 . Note that aperture  310  is centered on rising edge  340  and presents an uncertainty of ±2 sampling bins. 
         [0022]    A sample clock for a conventional acquisition device is depicted in  FIG. 4  and is sampling every two nanoseconds. Each vertical division represents a pulse of the clock, or sampling bin boundary, depicted as a dashed line. Signal A is repeated over time, allowing it to be acquired by a digital acquisition device on four separate occasions, represented by Acq.  1 , Acq.  2 , Acq.  3 , and Acq.  4 . 
         [0023]    The conventional device of  FIG. 4  has an aperture of four sampling bins, centered on the rising edge  410   a  of Signal A. That is, the acquisition device contributes four nanoseconds, or two sampling bins, of uncertainty to digital channels. It is probing a user circuit that also contributes four nanoseconds, or two sampling bins, of uncertainty between the trigger event and the digital transition. The uncertainty of the acquisition device and the user circuit compound to create an uncertainty of four sampling bins, its aperture. 
         [0024]    Further illustrating this are the four acquisitions of Signal A in  FIG. 4 . Rising edge  410   a  of Signal A, when acquired by Acq.  1 , is placed on an adjacent sampling bin boundary corresponding to rising edge  410   b . The second acquisition, Acq.  2 , places rising edge  410   c  on the same sampling bin boundary as rising edge  410   a . The third acquisition, Acq.  3 , places rising edge  410   d  on a sampling bin boundary adjacent to the boundary for rising edge  410   a , and the fourth acquisition, Acq.  4 , places rising edge  410   e  on a sampling bin boundary that is separated by two sampling bins in relation to the boundary for rising edge  410   a . Rising edges  410   a - e  illustrate that during acquisition, this instance of an acquisition device may place a rising edge anywhere within an aperture window of four sampling bins, centered on the rising edge  410   a  of Signal A. This reflects jitter of plus or minus two sampling bins. 
         [0025]    The conventional acquisition device of  FIG. 4  is set to repeatedly trigger on rising edge  410   a . Four acquisitions, Acq.  1 - 4 , will be displayed in rapid succession as the On-Screen A waveform. The resulting waveform is a jumbled and nonsensical representation of Signal A, of little value to a user of the acquisition device. 
         [0026]    The embodiment of  FIG. 5  illustrates an attempt to perform DEA with the conventional device of  FIG. 4 . Each time a single acquisition is performed, the DEA hardware keeps a separate running count of each type of edge detected (rising and falling).  FIG. 5  illustrates only the rising edge count (REC), but a parallel circuit may perform the same operation on falling edges, resulting in a falling edge count (FEC). The REC is incremented by one whenever a rising edge is found on a sampling bin boundary. The count then remains unchanged during the dwell, after which it decrements by one. The REC counts are labeled as such underneath the four acquisitions as Acq. REC  1 - 4 . The two rising edges  550   a  and  560   a  of Acq.  1  are separated by dwell  510 , and dwell  515  follows rising edge  560   a . Two rising edges  550   d  and  560   d  of Acq.  4  are, likewise, separated by dwell  540 , and dwell  545  follows rising edge  560   d . The count for Acq.  1  initiates on the sampling bin boundary where rising edge  550   a  is placed. Six consecutive sampling bin boundaries receive an integer value of one, attributable to the duration of dwell  510 . Upon the seventh sampling bin boundary, the boundary where rising edge  560   a  is placed, the count originating from rising edge  550   a  is decremented. The rising edge  560   a  initiates a new count, which lasts for the duration of dwell  515 . A similar pattern may be observed with Acq.  4 , Acq. REC  4 , rising edges  550   d  and  560   d , and dwells  540  and  545 . 
         [0027]    In contrast, one sampling bin separates rising edge  560   b  and the expiration of dwell  520 . On the seventh sampling bin boundary that follows rising edge  550   b , the count is 0, denoting a decremented value. A similar observation can be made with dwells  515 ,  525 ,  535 , and  545 , wherein the REC count decrements to zero on the seventh sampling bin boundary. Further illustrating the rubric for REC is Acq. REC  3 . The dwells  530  and  535  overlap by one sampling bin. The sampling bin boundary on which rising edge  560   c  is located already possesses an integer value originating from rising edge  550   c , and it receives another due to rising edge  560   c . Thus, the count for that sampling bin boundary is two rather than one. 
         [0028]    Existing digital acquisition systems contain edge detection hardware that can flag sampling bins in which multiple edges are detected. Currently, no intra-bin timing data is stored with this flag, but this type of edge detection can be useful for DEA determination. In an alternate embodiment of the invention, a sample on which multiple edges are detected, but the end logic value does not change from that of the previous sample, is assumed to contain two edges of opposite polarity. A further assumption of this embodiment is that the analog performance of the probing device only supports two edges in the time span of one sample. In this case, both the REC and FEC are incremented by one on the sampling bin boundary. This allows DEA to recover pulses that are smaller in width than the base sample rate. 
         [0029]    If multiple edges are detected, but the end logic value changes from the value of the previous sample, two like edges are detected during the same sample, DEA is not possible for these transitions. In this case, an embodiment of the invention will increase the corresponding counter (REC or FEC) by two in the single corresponding sampling bin. An increase of two will disqualify this edge in the DEA determination later in the process, as is discussed in  FIG. 6 . 
         [0030]    For the embodiment of  FIG. 6 , REC values are used to determine each edge&#39;s fitness for use (FFU) in generating a DEA waveform. Acquisition data is pipelined by a number of sampling bins equal to the dwell, and in the case of  FIG. 6 , the dwell  620  is six sampling bins. A look-forward function generates a FFU band around each edge. This is illustrated in  FIG. 6  for the case of rising edges. For each of Acq.  1 ,  2 , and  4 , corresponding FFU signals are asserted high since no REC values are greater than one, as determined by the values in  FIG. 5 . For Acq.  3 , the look-ahead function peers six sampling bins into the future from sampling bin boundary  605 . It then asserts Acq.  3  FFU to logic low  610  when it encounters a REC greater than or equal to two, as is the case with Acq. REC  3  in  FIG. 5  and rising edge  560   c . If the function determines that the offending sampling bin boundary has passed with an elapse of the clock, and there are no other offending boundaries six sampling bins in advance, then the FFU signal is asserted high, as in the case of logic high  630 . 
         [0031]    All signal edges in  FIG. 6  are deemed fit for use except for the rising edges of Acq.  3 . The look ahead function of the FFU signal disqualifies both rising edges of Acq.  3  with a resulting waveform band that wraps rising edges  640  and  650 . Although not illustrated in  FIG. 6 , it can be shown that the falling edge FFU signals for Acq.  1 - 4  deemed all falling edges fit for use. 
         [0032]    The flagging of rising edges in Acq.  3  as unfit for use will disqualify those edges as candidates for DEA entirely. The resulting DEA waveform will not be a true average unless all edges in all acquisitions are used in the calculation of the average, and resulting measurements on DEA waveforms could be misleading. However, incomplete averages are still useful for recreating coherent and useful waveforms for display. 
         [0033]    Once FFU flags are generated, the edges from multiple acquisitions are accumulated in acquisition memory, as shown in the embodiment of  FIG. 7 . Edge types are segregated by polarity (rising versus falling). Each time a rising edge is found in the incoming acquisition with a valid FFU flag (logic high), the acquisition memory location corresponding to that sampling bin boundary is incremented. The same is done for falling edges. This results in a memory map of rising edge distributions and a memory map of falling edge distributions. AM-R (acquisition memory rising) is a stored tally of rising edges, and AM-F (acquisition memory falling) is a stored tally of falling edges. Observe that for sampling bin boundary  710  the AM-R for Acq.  1  is stored as an integer of one. Similarly valid values are stored for Acq.  2  and Acq.  4 , correlated to sampling bin boundaries  715  and  725 , respectively. The AM-R value for rising edge  730   c  is an integer value of zero on sampling bin boundary  720  because it was invalidated as not fit-for-use. 
         [0034]    Because the FFU flags exclude edges that are too close together, it is guaranteed that there will be some number of zero count bins between valid edge distributions. The dwell to aperture ratio is enforced. It is also guaranteed that if all occurrences of a particular edge were deemed fit for use, there will be an aperture-wide band in acquisition memory representing that edge in which the sum of all edge detections is exactly equal to the number of acquisitions used for averaging. 
         [0035]      FIG. 7  further illustrates the concept of running sums (RS) for both edge types, rising (RS-R) and falling (RS-F). The running sum operation takes a number of consecutive sampling bins from memory equal to aperture and sums the number of edges found in that window of time. This is done for every sampling bin correlated to each edge type. For example, the AM-R value located on sampling bin boundary  710  indicates a valid rising edge  730   a . Consequently, an integer is allocated to sampling bin boundaries  703 ,  705 ,  710 ,  715 , and  720 . Moving on to the AM-R value located on sampling bin boundary  715 , the value of one indicates a valid rising edge  730   b . Consequently, integers are allocated to sampling bin boundaries  705 ,  710 ,  715 ,  720 , and  725 , and they are summed with the integer values that were previously allocated to overlapping sampling bin boundaries  705 ,  710 ,  715 , and  720 . This process is repeated for all stored AM-R values, and likewise, all stored AM-F values. 
         [0036]    Two curves (rising and falling) result, each with peaks corresponding to edges. For edges that are deemed fit for use in all acquisitions, there will be at least one (but not strictly limited to one) sampling bin boundary in which the RS value is equal to the number of acquisitions taken for the DEA operation. This may be observed in RS-F value  740 , where the sum is four and is equal to the number of acquisitions, Acq.  1 - 4 . 
         [0037]    For instances where not all edges are deemed fit for use, running sums may fall short of the number of acquisitions. Note that rising edge  730   c  was flagged as not fit for use in  FIG. 6 . Thus, its AM-R value on sampling bin boundary  720  is zero. No integers are allocated to sampling bin boundaries  710 ,  715 ,  720 ,  725 , and  727 , as opposed to what would normally be the case if rising edge  730   c  is declared fit for use. As a consequence, the rising sum for edges  730   a - d  comes to three, as donated by rising sum  735 , which is an amount less than the four data acquisitions. 
         [0038]    Using the RS values of  FIG. 7 , rough edge placement is determined Any single RS value or group of consecutive RS values equal to the number of acquisitions represents a single edge. The acquisition device will flag rough edge placement by parsing through the RS values. If multiple consecutive RS values are found to equal the number of acquisitions, the first of the group is considered the rough edge placement. A weighted average is then performed on the group of REC or FEC counts found in the aperture centered around the rough-edge sample point. This average is used to calculate an offset from the rough sample point. The rough sample point location plus the calculated offset then locates the DEA edge in the X dimension relative to the trigger event, independent of the base sample rate. 
         [0039]    For a DEA operation where all edges are found to be fit for use, this is enough to construct the entire DEA waveform. In  FIG. 7 , however, a pair of rising edges is thrown out in Acq.  3 . As a result, rough edge placement for those edges is not easily found because there is no sampling bin boundary corresponding to either of those rising edges where the RS value is equal to the number of acquisitions. However, there is still enough data in acquisition memory to reconstruct a reasonable, but not perfect, waveform. Because all of the falling edges are identified, boundaries in which single rising edges must exist are known. There will always be one and only one opposite polarity edge between known like-kind edges that are roughly placed. If, during processing of the DEA waveform, rough placement for an edge is missing, then the surrounding two opposite polarity edges may be used to recover something close to the missing edge. The acquisition device searches memory space corresponding to the sampling bins between the surrounding two rough edges of opposite polarity and returns the sample with the highest RS value, using only the first occurring value if that value is repeated in the given space. In  FIG. 7 , rising sum  735  becomes the rough placement for rising edges  730   a - d  due to its proximity to falling sum  740 . This sample becomes the rough placement for that edge, and a weighted average is performed on the group of REC or FEC counts found in the aperture centered around the rough-edge sample point. 
         [0040]      FIG. 8  further illustrates the attempted recovery of the final DEA waveform. Because rising edges are calculated using an incomplete average, some indication needs to be given on screen that an edge is based on an incomplete data set. Some embodiments may include a mechanism to either prohibit or warn the user if he attempts to use edges constructed from an incomplete average for measurement purposes. An exemplary display may draw troubled edges in red. 
         [0041]    There is an interesting comparison between the conventional On-Screen representation of the acquired waveform at the bottom of  FIG. 3  and the DEA waveform at the bottom of  FIG. 8 . The conventional representation of the example waveform in  FIG. 3  is unintelligible. No edge information is discernible. In contrast, rising and falling edges can move around due to jitter and may even overlap each other in time from one acquisition to the next. DEA is still able to untangle them. This makes DEA useful for recovering signals that transition at a rate similar to the aperture width. Such signals result in unintelligible conventional displays, histograms, or persistence graphs. DEA, however, decouples jitter effects from the signal the user wants to see and elegantly reveals it to the user in a display. 
         [0042]    In alternate embodiments of the invention, the dwell to aperture ratio could be left to the user to select through the user interface, since there are many considerations dependent on the user&#39;s system under test. A user that knows he has a very tight relationship between his trigger event and the digital edges may want to force the acquisition system to use a very small aperture value and, therefore, allow the device to perform DEA on more closely spaced edges. On the other hand, a user with a very slowly transitioning signal could choose a very large dwell to aperture ratio so as to allow the acquisition device to properly identify widely jittering edges. In yet another embodiment, an acquisition device might select the most appropriate ratios based on the incoming acquisition data. 
         [0043]    In other embodiments, the entire DEA operation may be performed with software using a conventional digital acquisition device. However, other embodiments of the invention may accelerate performance of some functions in dedicated hardware. For example, if dedicated hardware performed all of the described operations required to generate the AM-R and AM-F counts (as illustrated in  FIG. 7 ) at acquisition time, it would leave enough information in acquisition memory to reconstruct DEA waveforms during display processing. In a preferred embodiment, DEA steps would best be performed by software. Software may process the entire acquisition after the acquisition is stopped or only process the segment of the waveform required for on-screen display. 
         [0044]    Having described and illustrated the principles of the invention in a preferred embodiment thereof, it should be apparent that the invention can be modified in arrangement and detail without departing from such principles. I claim all modifications and variation coming within the spirit and scope of the following claims.