There’s still much more to say about all this – as can be expected. One of the suggestions made in the comments was to use a few diodes in forward direction. Since these each have about 0.65V drop, three of them ought to bring down the voltage from 5.0V to 3.3V.
Time to hook up the signal generator and scope again. Be prepared for some surprises!
As I mentioned in my original post, the “official” way to handle this, is to use a “level converter” chip, which is based on some active circuitry, i.e. some transistors or MOSFETs. The resistor solutions described yesterday are less accurate, as you’ll see…
Here is a 1 MHz square wave @ 5V (yellow) feeding yesterday’s 4.7 kΩ + 10 kΩ resistive voltage divider to produce a 3.3V signal (purple):
That’s quite a different signal coming out! A typical capacitive charge / low-pass effect.
Note that the signal generator has a ≈ 10 nS rise-time, i.e. the edges are not completely vertical, and that the Hameg scope probe has a 14 pF loading capacitance, according to the specs. So some of these effects are artefacts of this measurement setup.
Let’s raise the frequency to 10 MHz (the horizontal scale is now a very fast 10 ns/div):
Hardly a square wave, and no well-defined 0-to-3.3V transitions either, as you can see.
Now let’s try this circuit:
The reasoning being that the diodes will “drop” the voltage from its high 5V level to 3.3V:
Quite an asymmetric effect, although lowering the resistor to 1 kΩ ought to improve it.
The above is again a 1 MHz square wave input, and here’s the same at 10 MHz:
This final setup is so far off the desired voltage levels that it probably won’t work.
Given these outcomes, I’m inclined to stick with a single 10 kΩ resistor in series. Or perhaps drop it to 1 kΩ to get better rise and fall times. Active MOSFET-based level-shifting circuits are starting to make a lot more sense now – they exist for a reason!