0
\$\begingroup\$

I'm having an issue with a PCB on which I have a microcontroller and an external SRAM. I don't want to fully describe the problem as I already posted a question regarding that. Link

Since that I found out that maybe there are PCB design issues which could cause the symptoms. Here comes my question which I think it worth to ask separately.

What can cause the distortion visible on the picture? enter image description here

Ideally, the signal should be a square wave with exactly 50ns 0V and ~50ns 3.3V

Oscilloscope settings:

Volts/DIV: 2
Time axis: 50ns/DIV
Attenuation:10x
Probe connected to OE pin of the SRAM (farthest point from the driver)
Probe ground connected far away to the shielding of a connector

Another picture: enter image description here

Oscilloscope settings:

Same as above, except the probe ground is connected directly to the SRAM's GND pin.

About the board:

Power: 3.3v
No impedance matching between the chips
Trace length:43.215mm

I would not say that 20MHz is high frequency, that's why I didn't care about impedance and termination. Could you please confirm this in addition to your opinion on the signal?

As per rdtsc's request in a comment, I checked a 25MHz oscillator on the same board with the same oscilloscope settings as above. This is how it looks like: enter image description here

\$\endgroup\$
12
  • 2
    \$\begingroup\$ Where and how are you probing the signal? Where is your scope probe ground connected and how long is it? \$\endgroup\$
    – John D
    Commented Dec 18, 2015 at 22:24
  • 3
    \$\begingroup\$ We need to know more about your scopes performance, the probes and how you measure, at these speeds it is very easy to make mistakes in measuring, like having more than 5mm ground lead. \$\endgroup\$
    – PlasmaHH
    Commented Dec 18, 2015 at 22:25
  • \$\begingroup\$ I've updated the question. Let me know if more info is required. \$\endgroup\$
    – bakcsa83
    Commented Dec 18, 2015 at 22:41
  • \$\begingroup\$ Do you have anything else than can create a clean, 20MHz signal to reference? Or get a PIC or other micro running at 40+MHz and toggle an output pin --> load resistor. Best would be a good 'scope calibrator, but those are hard to come by. It could be scope/probes. It could also be the inductance of the long trace length/routing. But won't know for sure until scope/probes is evaluated and eliminated as a contributor. \$\endgroup\$
    – rdtsc
    Commented Dec 18, 2015 at 22:48
  • 1
    \$\begingroup\$ Adjust the scope`s trigger holdoff : you may be able to get a stable pattern. I think they are irregularities in the software loop that's accessing memory, e.g. at the loop counter. I write the simplest possible loop to get a stable pattern for this sort of test. Or are you using external circuitry to generate wait states? If that were unreliable it could generate similar "shadows". \$\endgroup\$
    – user16324
    Commented Dec 19, 2015 at 0:30

1 Answer 1

1
\$\begingroup\$

I would not say that 20MHz is high frequency, that's why I didn't care about impedance and termination. Could you please confirm this in addition to your opinion on the signal?

but your square wave contains components to 100's of MHz, and you do care about those if you want a square wave response.

It looks like you a) don't have a properly compensated scope probe; b) have reflections from your load (or transmitter); c) have too long a scope GND lead, or don't have it sufficiently close to the signals, or d) have bad grounding on your board - that's equally as important as the direct signal path.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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