Electronic – Why does the waveform start ahead of the trigger

oscilloscopespitrigger

I am learning how to analyze SPI bus clock and data using an entry-level digital storage oscilloscope. I'm using a BK Precision 2542B to measure the output of the clock and MOSI lines from a Netduino that utilizes an ARM microcontroller.

Oscilloscope Image

In this image, I have the clock on channel 1 (yellow), and the MOSI on channel 2 (blue). The trigger is set to use channel 1, using a rising edge trigger of 1.44V. The clock square wave amplitude is about 3.3V.

The trigger indicator is at the center of the display horizontally, yet I have a pulse to its left. I was expecting the first pulse of the clock to start at the trigger location. I know that a digital storage oscilloscope allows you to see pre- and post-trigger events, but I'm confused why the first pulse isn't where I thought it would be.

Is my understanding of triggering incorrect, or am I just using a weird scope?

Edit: The pulse train is 300μs wide, repeats at 2ms intervals, and I have a trigger hold off value of 500μs. Adjusting the hold off has not changed the fact that one pulse precedes the trigger.

Edit 2:

After more analysis of the signal, including using the analog oscilloscope, I think I've determined that sometimes the pulse duration is about 350μs instead of 300μs. This may be a glitch in the code generating frames.

I discovered that a hold off time of 352μs will produce the expected result, but every now and then an extra pulse precedes the trigger.

Hold-off value

I recorded some frames to show the pulse both absent and present:

Leading pulse absent
Leading pulse present

If I set the horizontal time base long enough to see the pulses' duration, there always appears to be at least 1.7ms between them:

Data pulses at 1ms per div

So while I think the leading pulse is a result of a "glitch" from the source, I'm still not sure how a trigger hold-off >360μs still produces the unexpected leading pulse.

Best Answer

You probably have some sort of trigger filtering or delay turned on. Otherwise, a regular rising edge trigger should have caught the first pulse, not waited until the second. Look carefully thru the trigger menu and turn off anything called a "filter", "delay", "holdoff", and the like.