Someone posted an article a while back which shows how to translate a SPI bus (or likely any bus really) from 3.3v to 5v so that one bus could work at both levels using only 1 fet and 1 resistor per line. I've been trying to find this document, but I have been unsuccessful. I have found Microchips 3.3 - 5v Tips 'n Tricks document, but I couldn't find what I was looking for exactly in there. I think I've replicated the circuit, but I wanted to compare it.
Are you talking about 1 pull-up resistor connected to the "output high voltage supply" and one pull-down FET driven by the input line? (Will only work for unidirectional busses...so for SPI it is fine, but not for I2C).
Are you talking about 1 pull-up resistor connected to the "output high voltage supply" and one pull-down FET driven by the input line? (Will only work for unidirectional busses...so for SPI it is fine, but not for I2C).
yes, thats what I'm talking about. When I saw it, I didn't realize that it was unidirectional. The SPI bus I have implemented uses the same line to transmit and receive on so thats probably why it wasn't working out in my head.
The schematic posted by eblc1388 will work bi-directionally for I2C. It will not be fast enough for SPI though. For SPI I would use something like this: