On Nov 25, 2009, at 1:32 PM, Peter C. Wallace wrote:
I'm
planning to use the Xilinx chips with my old Commodore stuff too,
and one of the problems is the use of 3.3V rather than 5V logic. The
official recommendation from Xilinx for their Spartan devices is to
use simple resistor for connecting 5V out to 3.3V in, and just
connect
straight-through for 3.3V out to 5V in. I have no idea how I'd
handle
a bidirectional port though; is a resistor good enough or is a level
shifter needed?
Resistors are fine for low speed/low drive situations.
A good choice for higher speed/high drive applications is one of
the passive bus switches (made by Pericom etc). They are nice
because theres almost no propagation delay and no direction signals
involved (they are bi-directional). They are basically arrays of
NMOS series transistors that just turn off when the input voltage
gets too high (and they lose gate drive)
I use a nice little MOSFET trick to bridge I2C buses
(bidirectional open-drain lines with pull-up resistors) of different
operating voltages. It works very well. I'll have to look at the
circuit again to see if it'd be useful for something with full totem
pole outputs. I can draw it up and share if anyone needs it.
-Dave
--
Dave McGuire
Port Charlotte, FL