Reply by metal February 20, 20062006-02-20
On Sat, 18 Feb 2006 06:23:28 -0600, "maxascent"
<maxascent@yahoo.co.uk> wrote:

>The system I am designing is a pc scope. I guess I will know the trigger >point. What I dont really understand is how you can generate precise >offsets from the trigger if you want to sample in the GHz region as you >are talking about picosecond values. I guess I dont fully understand the >procedure >
I think that last item is the one to focus on. What you're attempting to make is a "Sampling Scope", and it was done long before digital electronics even existed (i.e. vacuum-tube days, 1950's and earlier). In fact, the "equivalent-time sampling technique" itself stretches all the way back to before ANY electronics existed....to around 1900. It was invented in that era as a mechanical device; used for drawing a real-time "pressure-volume-time" diagram of an operating engine. While the explanations given so far are good 'snippets', if you really want to understand the basics, you should forget all about "digital" for a minute, and get hold of the Sampling Oscilloscopes book of the Tektronix Primer series. It will give you an -excellent- grounding in the basic theory and techniques of sampling; and -then- you'll be armed with the knowledge to help you best implement as much of the system as possible digitally. Note that there are -two- methods of sampling....the 'linear' or 'incremental' method, as covered here by the various posters; but also a 2nd method known as "random" sampling. Random sampling has some significant advantages. With proper design, your system can be selectable to do either. I also highly recommend that you get a set of service-manuals (probably $20-50) for the Tektronix 7T11 and 7S11 sampling plugins. These are 1980 era plugins which have pretty modern analog electronics and also TTL-era digital stuff; so it'll be fairly close in relevance to your goal of "all digital". The 7T11 does random-sampling, and these manuals contain excellent "theory of operation" sections; as well as a full set of what I consider the nicest schematics ever produced. (i.e. Tek schematics of the 50's through 80's in general) One of the biggest advantages of the "random sampling" method is that it eliminates that need for a delay-line between the trigger ckt and the sampling ckt. That may sound minor, and someone mentioned that you just needed some coax to do it; but neither is really true in your case. You were talking about several Ghz BW. To get any kind of high quality (i.e. 'scope' quality) acquisition of pulses, you are looking at special low-dispersion coax that costs 10 bucks a foot or more. Note also that your -front end- must have flat BW all the way up to the highest frequency to be measured; -regardless- of how slow the AD is going to be. For example, a vintage Tektronix 3S1 sampling-scope plugin (1950's-60's) has excellent pulse-fidelity past a full Ghz, yet it "digitizes" only in the Khz range. I'm saying that this isn't RF stuff where you can live with 1-3db of variances all through the spectrum. In needs to be FLAT...and issues like dispersion and group-delay are very important in this application. If you take a look at a commercial-quality 1+ Ghz scope front-end, you'll quickly realize that building such a front-end with any quality at all is a non-trivial exercise... <g> Switchable attenuators alone will be an engineering challenge; not to mention buffering, input protection, etc.. And in your case (digital), the quality of your clocks, and the digitizer itself (jitter). Also, trigger-circuitry is a distinct field of art all by itself. Test-equipment quality multi-Ghz triggers are not a simple matter, by any means. It's a fascinating field, and extremely satisfying when you succeed in capturing events which lasted only a few picoseconds. There's just something awesome about that...to me anyway. I've never had occasion to use it in a product, but have dabbled in it solely for the love of it for 25+ years now... If you google for "kahrs sampling" (don't use the quotes), you might find some other interesting material on it. He's another "sampling nut" who has written some journal papers on sampling and network-analyzers (same principles) and had some useful papers and links on his website the last time I looked. good luck! ----== Posted via Newsfeeds.Com - Unlimited-Unrestricted-Secure Usenet News==---- http://www.newsfeeds.com The #1 Newsgroup Service in the World! >100,000 Newsgroups ---= East/West-Coast Server Farms - Total Privacy via Encryption =---
Reply by maxascent February 19, 20062006-02-19
Ok thanks once again for the info, think I have a better understanding of
what is going on

Jon
Reply by John_H February 19, 20062006-02-19
Philip Freidin wrote:
<snip>
> Technique 2). Concurrent with your 100 MHz acquisition clock you > run a 100 MHz sawtooth waveform. I.E. a ramp that repeats at the same > rate as your acquisition clock. At the time of the trigger, use a S/H > to sample the sawtooth, and it has its own A/D. The result of > sampling the sawtooth wave form tells you what the delta time of the > trigger versus the 100 MHz clock is. i.e. the sawtooth runs from > 1.0V to 2.0V and magically drops back to 1.0V in 0.0000 ps, and > repeats. At the time of the signal passing through our trigger > level (what ever it is) the S/H takes a snapshot of the sawtooth. > The A/D on this S/H reports 1.35V . So we can say that the trigger > actually occured 6.5 ns before we took the first sample after the > trigger event. Reconstruct the equivalent time sampling data the same
<snip> Rather than a sawtooth where "turning the corner" leaves you with an unknown voltage-to-time conversion, a sine and cosine at the sample clock rate can be sampled by the trigger. The phase is extracted readily. Another method used is to start a precision ramp after the trigger and sample it at two spots after the ramp is established. They can give a precise timestamp as well.
Reply by Philip Freidin February 18, 20062006-02-18
On Sat, 18 Feb 2006 06:23:28 -0600, "maxascent" <maxascent@yahoo.co.uk> wrote:
>The system I am designing is a pc scope. I guess I will know the trigger >point. What I dont really understand is how you can generate precise >offsets from the trigger if you want to sample in the GHz region as you >are talking about picosecond values. I guess I dont fully understand the >procedure
In a general purpose scope, the trigger event arrives as a surprise, i.e. the scope does not know when the trigger event will occur. Typically you want to capture data immediately after the trigger event, and usually you would like to see some data before the trigger event. To see stuff before the trigger event, you must have been already sampling the data, or you need an analog delay line (high quality coax of suitable length) to delay the signal by the amount of pre-trigger acquisition you want. 10's of nanoseconds is doable. Microseconds/miliseconds probably not. Since you don't know when the trigger will occur, there is no relationship between your clock that you are using for sampling and the instant of triggering. (Note that you could theoretically have a clock that is stalled until the trigger event, and then is started synchronous with the trigger event, but such clocks do not have instant startup to stable precision frequency, which is a requirement for this type of application). So lets say you have a 100 MHz acquisition clock and a really great A/D that has a really really really great S/H in front of it. The S/H and A/D are running continuously at 100 MHz, and dumping data to memory set up as a ring buffer. Lets say the ring buffer is 10K long. When the trigger occurs, you record the current ring buffer address, and take 5K more samples, then stop. Your FPGA+CPU can now go digging through the ring buffer and re-arange the data to show you 5K * 10 ns of pretrigger info and 5K of post trigger info. But there is the problem that you have 10 ns of jitter in your system, because the trigger could have happened anywhere in between two ticks of your 10 ns clock. Here are two solution to this issue that also can guide you to an equivalent time sampling system that can get you into equivalent sample rates in the gigahertz. (Your bandwidth is still limited by the S/H and A/D). Technique 1). Since you know the exact level of the trigger voltage, look at the samples before and after the trigger event, and interpolate between the samples imediately before and after the trigger event to find the virtual sample that occured at the trigger voltage, and the virtual sample time. For example (trivial example), trigger voltage is 2.0V. Sample before trigger is 1.0V, and sample after trigger event is 5.0V . Samples 10ns apart. Assuming a straight line between the samples, we will have crossed through 2.0V at 2.5ns after the sample at 1.0V. Better curve fitting than straight line is possible. We could therefore treat ALL the samples of this acquisition as 7.5 ns late, which effectively shifts all the samples in time. Now do multiple acquisitions. Each one will interpolate the trigger point to some random time between two samples. As you take more acquisitions, you get to fill in your virtual acquisition buffer with samples that have been time aligned to much finer resolution than the 10ns of your acquisition clock. In fact this system depends on the fact that the trigger and acquisition clock are uncorrelated, to give you the random interpolation delays that let you have the interleaved acquisition waveforms. Technique 2). Concurrent with your 100 MHz acquisition clock you run a 100 MHz sawtooth waveform. I.E. a ramp that repeats at the same rate as your acquisition clock. At the time of the trigger, use a S/H to sample the sawtooth, and it has its own A/D. The result of sampling the sawtooth wave form tells you what the delta time of the trigger versus the 100 MHz clock is. i.e. the sawtooth runs from 1.0V to 2.0V and magically drops back to 1.0V in 0.0000 ps, and repeats. At the time of the signal passing through our trigger level (what ever it is) the S/H takes a snapshot of the sawtooth. The A/D on this S/H reports 1.35V . So we can say that the trigger actually occured 6.5 ns before we took the first sample after the trigger event. Reconstruct the equivalent time sampling data the same was as Technique 1. This should keep you busy, Philip Freidin Philip Freidin Fliptronics
Reply by John_H February 18, 20062006-02-18
maxascent wrote:

> Thanks for your thoughts. Would it not be possible to implement this purely > in software using the fpga rather than have to design additional hardware? > > Jon
No. You need something in the way of extra hardware. Either precision ramps or I/Q modulators - both hardware elements to interface with the trigger logic.
Reply by maxascent February 18, 20062006-02-18
Thanks for your thoughts. Would it not be possible to implement this purely
in software using the fpga rather than have to design additional hardware?

Jon
Reply by John_H February 18, 20062006-02-18
Allan Herriman wrote:
> On Sat, 18 Feb 2006 06:23:28 -0600, "maxascent" > <maxascent@yahoo.co.uk> wrote: > > >>The system I am designing is a pc scope. I guess I will know the trigger >>point. What I dont really understand is how you can generate precise >>offsets from the trigger if you want to sample in the GHz region as you >>are talking about picosecond values. I guess I dont fully understand the >>procedure > > > One solution for triggering is to have a fast, continuous time trigger > comparator start an analog ramp voltage (like in a monostable). This > ramp voltage is then digitised with an ADC similar to the ones > digitising the input voltages. > > Inspecting the values of the digitised ramp voltage will allow you to > estimate the trigger point with respect to the sample instants. > > The accuracy is limited by the comparator jitter, which might be as > low as some picoseconds. > > Regards, > Allan
And an extension to that: for a single point per trigger acquisition, the trigger comparator could start the precise ramp and another comparator (with a programmable comparison) gives the trip point on that ramp for a precise delay. This allows the position of the single point to be deterministic. If I were to design an eye-diagram scope, I'd probably use a two-channel DDS to phase shift the sample clock precisely through an IQ modulator. I love the technique; it provides a precise phase shift of high frequency clocks though it does need a little extra RF-type work to get the harmonics and such eliminated.
Reply by Allan Herriman February 18, 20062006-02-18
On Sat, 18 Feb 2006 06:23:28 -0600, "maxascent"
<maxascent@yahoo.co.uk> wrote:

>The system I am designing is a pc scope. I guess I will know the trigger >point. What I dont really understand is how you can generate precise >offsets from the trigger if you want to sample in the GHz region as you >are talking about picosecond values. I guess I dont fully understand the >procedure
One solution for triggering is to have a fast, continuous time trigger comparator start an analog ramp voltage (like in a monostable). This ramp voltage is then digitised with an ADC similar to the ones digitising the input voltages. Inspecting the values of the digitised ramp voltage will allow you to estimate the trigger point with respect to the sample instants. The accuracy is limited by the comparator jitter, which might be as low as some picoseconds. Regards, Allan
Reply by maxascent February 18, 20062006-02-18
The system I am designing is a pc scope. I guess I will know the trigger
point. What I dont really understand is how you can generate precise
offsets from the trigger if you want to sample in the GHz region as you
are talking about picosecond values. I guess I dont fully understand the
procedure

Jon

>"maxascent" <maxascent@yahoo.co.uk> wrote in message >news:kYydnaQMQMIAzmveRVn_vQ@giganews.com... >>I am designing a data aqu system using an fpga and adc sampling at
250MHz.
>> I want to use equivalent time sampling to increase the sampling rate to
a
>> few GHz for repetative signals. I am not sure how to go about
implementing
>> it though. >> >> Any info would be welcome, thanks. >> >> Jon > >Are the aquisition triggers deterministic? You have different
requirements
>for a general purpose piece of test equipment versus an eye-diagram >analyzer. > >A general purpose piece of test equipment would tend to continuously
acquire
>data and decide which "bins" to put the samples in based on where the >trigger actually occurs within the acquisition clock period. This
provides
>the ability to "bin" as precisely as one can determine where in the
period
>the trigger occurs. > >A dedicated piece of equipment with known trigger points such as a
telecom
>analyzer can slave the sampling clock to the waveform being sampled and >"force" the alignment relative to the sample clock period (or conversely
>align the sample clock to the bins). PLLs and DDS work beautifully
here.
> >So - do you want general purpose? Do you just want data 20 ns after the
>trigger and later only? Do you want large pretriggers? > >I've seen equivalent time equipment (no real time permitted) where the >samples were 1 point per trigger with the data 10 ns or more after the >trigger. In this case, the single sample event could be delayed from the
>trigger event precisely on a point-by-point basis. Since the trigger is
>usually the point of interest, that test equipment used a high fidelity >delay line to sample the delayed channel a precise delay after the
trigger
>allowing a small pre-trigger. > >There are many ways to skin this cat. Engineering tradeoffs can't yet be
>made with the information supplied. > > >
Reply by John_H February 17, 20062006-02-17
"maxascent" <maxascent@yahoo.co.uk> wrote in message 
news:kYydnaQMQMIAzmveRVn_vQ@giganews.com...
>I am designing a data aqu system using an fpga and adc sampling at 250MHz. > I want to use equivalent time sampling to increase the sampling rate to a > few GHz for repetative signals. I am not sure how to go about implementing > it though. > > Any info would be welcome, thanks. > > Jon
Are the aquisition triggers deterministic? You have different requirements for a general purpose piece of test equipment versus an eye-diagram analyzer. A general purpose piece of test equipment would tend to continuously acquire data and decide which "bins" to put the samples in based on where the trigger actually occurs within the acquisition clock period. This provides the ability to "bin" as precisely as one can determine where in the period the trigger occurs. A dedicated piece of equipment with known trigger points such as a telecom analyzer can slave the sampling clock to the waveform being sampled and "force" the alignment relative to the sample clock period (or conversely align the sample clock to the bins). PLLs and DDS work beautifully here. So - do you want general purpose? Do you just want data 20 ns after the trigger and later only? Do you want large pretriggers? I've seen equivalent time equipment (no real time permitted) where the samples were 1 point per trigger with the data 10 ns or more after the trigger. In this case, the single sample event could be delayed from the trigger event precisely on a point-by-point basis. Since the trigger is usually the point of interest, that test equipment used a high fidelity delay line to sample the delayed channel a precise delay after the trigger allowing a small pre-trigger. There are many ways to skin this cat. Engineering tradeoffs can't yet be made with the information supplied.