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.
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.
I recorded some frames to show the pulse both absent and 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:
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.