diode instead of tri-state buffer (for SPI)?

hello,

if an IC's output to SPI MISO line is not in high impedance when not active (i.e. not slave selected by master) can you use a diode instead of a tri-state buffer on the output?

thanks

I don't see why not ... except that the diode, being a passive device, would most likely limit the maximum SPI baudrate you could use. A high speed, low capacitance diode would be required. Note that using a diode would add a bit of delay to the MISO line only, whereas a buffer IC is an active device designed to keep all communication lines within a specified tolerance.

A single gate of '125 device would be better, enable it with CS line to the slave.

Other package sizes available also.

Will the slave pull MISO Low when not high impedance, or drive MISO high, or both?

if an IC's output to SPI MISO line is not in high impedance when not active (i.e. not slave selected by master) can you use a diode instead of a tri-state buffer on the output?

I would say no.

CrossRoads:
Will the slave pull MISO Low when not high impedance, or drive MISO high, or both?

It's a cd4014 PISO shift register. If I understand the truth table correctly it can pull the MISO line low or high when not slave selected, depending on the value of Q1(internal).

http://www.microcontrolador.com.br/datasheets/CD4014.pdf

in any case I went ahead and tested the idea on a bread board and it works. However I had to add a pull down resistor on the MISO line since the diode is making the line floating when the output from cd4014 is low. It works for now because the code is checking the cd4014 in 25ms intervals with the SPI clock divider set at f_osc/32 i.e. 16MHz/32. Don't know if that will be the case if I add more devices to the MISO line and increase the speed, I guess I'll have to experiment and see if the pull down resistor will set a low speed limit.