I'm about to do some work with interfacing 3.3V SPI based devices to
5V MCUs and unlike the devices I've been used to, these particular 3.3V SPI devices are _not_ 5V tolerant.Interfacing the SPI output lines from the MCU to the SPI device is easy; just use a level shifter on those lines.
In addition, you can just connect the MISO SPI device output line directly into the MCU and it _should_ safely work ok.
However, connecting MISO directly makes me nervous in case of coding errors which result in the MISO line been driven as a output by the MCU.
I'm thinking of using a zener diode plus resistor on the MISO line as I don't want to use a full level shifter IC to just protect this one line. (These are not bi-directional level shifters so I would have to use a second level shifter.)
Before I try it, I thought I would ask what do you do to protect the MISO line in this case or am I just been paranoid ? :-)
(I suspect the latter, but when I write code, I like to protect against mistakes and it's no different with hardware (even hobbyist hardware like this project)).
Thanks,
Simon.
PS: I'm implictly assuming the SPI device would survive it's MISO line been driven by the MCU if the voltage was 3.3V. Do you know of any devices for which this is not the case ?