0
\$\begingroup\$

I am using BK Precision 2125C Dual Trace Oscilloscope (30 MHz), which is analog. I'm trying to observe signal generated by the output of microprocessor. I'm seeing flickering signal (quickly moves left and right to the sides of scope) for which I know it's most probably not flickering like that in real "life" but that is most likely some scope's triggering issue. I'm almost sure that is the case since I observed normal square wave before this one and it also flickered like current one, at some trigger setting, but after re-setting trigger, there was no more flickering.

This flickering is really annoying when trying to observe little changes in the signal or read its period.

Here is the video to measurement of flickering signal.

Just for reference, for this measurement, I'm using following setup:

  • DC coupled input, CH1 (get same behavior with AC input coupling)
  • coupling: norm (same behavior with "auto" or "TV-V" or "TV-H")
  • source: CH1
  • main mode (not mix or delay mode)
  • voltage/div: 2V/div
  • time base/div: 2ms/div

Regarding "trigger level" and "hold off", however I turn both knobs (literally any combination), I always get flickering or unsynchronized signal. Otherwise, I'm measuring at output of MCU (10k pull-up, UART transmission) with normal passive probe (in 1:1 internal divider rate).

Any ideas how should achieve the view of "standing-still" looking signal at the screen of scope?

\$\endgroup\$
7
  • \$\begingroup\$ Video link broken. Also, your signal better be periodic on an analog scope or it would flicker unless you use one-shot mode which analog scopes do not have. If you know enough to do so safely, hook it up to the AC mains (or a signal generator which is safer but also requires more $$$ to have) and see if it works. If it does, your signal isn't as steady as you think it is. \$\endgroup\$
    – DKNguyen
    Apr 4 at 17:19
  • \$\begingroup\$ @DKNguyen Video link updated. Yeah, one shot not available here. So, no aperiodic signal measurement with this scope then... :( \$\endgroup\$
    – Keno
    Apr 4 at 17:27
  • \$\begingroup\$ On the other hand, it IS periodic... It repeats later on... I measured some other UART data transmission signal other day, and picture wasn't flickering at all, while this one flickers constantly at any trigger setting. \$\endgroup\$
    – Keno
    Apr 4 at 17:30
  • 1
    \$\begingroup\$ That looks more like jitter in your signal. How is the signal being generated by the MCU? In software? Or in hardware (peripheral), and if in software, is the code doing anything else? Especially tasks that might vary in time (loops, interrupts, etc). \$\endgroup\$
    – DKNguyen
    Apr 4 at 17:31
  • \$\begingroup\$ @DKNguyen Yes, programming, so its most possible that code execution time varies between repetitions. \$\endgroup\$
    – Keno
    Apr 4 at 17:38
5
\$\begingroup\$

enter image description here

Figure 1. Trace breaks at 0.2 divisions and restarts at almost 4.5 divisions.

enter image description here

Figure 2. Trace breaks at 0.2 divisions and restarts at almost 4.25 divisions.

The problem isn't your 'scope - it's the signal. You have jitter of at least 0.2 / 4 = 5%.

You can usually confirm that the 'scope is stable using the 1 kHz test signal present on the front panel of most bench oscilloscopes.

\$\endgroup\$
8
  • \$\begingroup\$ So probably is, as @DKNguyen suggested, software problem? Yes, I'm programming my PIC microprocessor, where I program it. So I assume execution time of code must be changing between each repetition. \$\endgroup\$
    – Keno
    Apr 4 at 17:37
  • 1
    \$\begingroup\$ Yes, I would say that's likely. \$\endgroup\$
    – Transistor
    Apr 4 at 17:38
  • \$\begingroup\$ @Keno I wouldn't call this a software problem. If your code is in a loop that checks some status flag, loop execution time can vary. Or if interupts occur, loop time can vary. If so,Holdoff won't change the display. \$\endgroup\$
    – glen_geek
    Apr 4 at 18:09
  • 1
    \$\begingroup\$ @DKNguyen Strangely though, just using loops and while in the program, doesn't causes this flickering. Implementing the timer, does. Anyway, I know this discussion is already getting out of scope of for the main question asked, but here if link to other forum, where I'm asking about software - for anyone interested in this matter. ;) \$\endgroup\$
    – Keno
    Apr 4 at 21:02
  • 1
    \$\begingroup\$ @Keno If your loops run the exact same way every time and nothing else is going on then I wouldn't expect flickering. If the timer is directly generating the signal I would also not expect flickering since it is being generated by ahrdware. But if you are using timer ISR code and the IC is doing other stuff then I would expect flickering due to variability in context changes when the interrupt fires. \$\endgroup\$
    – DKNguyen
    Apr 4 at 21:13
3
\$\begingroup\$

It looks as if it characteristic of the signal rather than a problem with the scope. Even a digital scope would have a similar issue.

One way around this type of problem I use when developing MCU software is to exploit an unused GPIO on the MCU to act as a trigger for the scope.

Connect this additional GPIO to the other channel on the scope (or the external trigger if all channels are in use).

Within your code toggle this GPIO at the time you wish to trigger the scope.

As Transistor indicates in another answer the issue is probably caused by jitter in the signal - even that might be helped by issuing the trigger from within your code as as in some situations you may be able to arrange that the trigger has the same jitter as the signal you wish to observe and so cancels out. For example a GPIO trigger just before the character is sent out the UART should reduce the jitter dramatically rather than triggering from the previous character.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.