Spartan3 bidirectional 3.3V 5V level shifter

N

noob13

Guest
Hi,

I'm developing a certain controller using Spartan3 FPGA. Since I have t
communicate with another circuit that is using 5V signaling (similar t
TTL, but HV level is above 3.5V) I was wondering if someone could recommen
a good solution in a form of a "level shifter" circuit (I searched th
internet and found a few ICs that could do the job. However, I could use
good recomendation though :) ).

Tnx in advance..



---------------------------------------
Posted through http://www.FPGARelated.com
 
On Nov 11, 9:45 am, "noob13"
<matija.draganovic@n_o_s_p_a_m.hotmail.com> wrote:
Hi,

I'm developing a certain controller using Spartan3 FPGA. Since I have to
communicate with another circuit that is using 5V signaling (similar to
TTL, but HV level is above 3.5V) I was wondering if someone could recommend
a good solution in a form of a "level shifter" circuit (I searched the
internet and found a few ICs that could do the job. However, I could use a
good recomendation though :) ).

Tnx in advance..
A tried and true method is a "quick switch" circuit. This is a pass
transistor type gate that automatically limits the max voltage
conveyed from either side to the other to within approximately a volt
of Vdd if I remember correctly. They even have a version of the chip
that integrates a diode in the Vdd path so it can be powered by 5
volts and the max level is just within the power rail of 3.3 volt
logic. If you need a logic high to be 3.5 volts, you would need to
add a pull up resistor to that side of the interface.

A part number I have used in my designs is SN74CBTD3384CPW, a 10
element part with a separate enable for each 5 elements. I like the
PW (TSSOP) packages as they are very small, but not BGA. They seem
easy to get. There should be parts without the diode if you want to
try to run without the pullups and can provide just the right Vdd
voltage so the FPGA doesn't fry and your 3.5 volt thresholds are
met... I'm not sure what the I/O max is on the spartans, so this may
not be possible on paper.

Otherwise there are parts that actually drive the correct signal
voltage and have two power pins, one for each side. I don't have a
part number handy, but I should have an advertisement for these parts
available when I get back to the office. I'm not certain they are
bidirectional, but I believe they are and it doesn't make much sense
for them not to be... except if they drive both directions, they would
need direction and enable controls.

Rick
 
On Nov 11, 4:18 pm, rickman <gnu...@gmail.com> wrote:
On Nov 11, 9:45 am, "noob13"

matija.draganovic@n_o_s_p_a_m.hotmail.com> wrote:
Hi,

I'm developing a certain controller using Spartan3 FPGA. Since I have to
communicate with another circuit that is using 5V signaling (similar to
TTL, but HV level is above 3.5V) I was wondering if someone could recommend
a good solution in a form of a "level shifter" circuit (I searched the
internet and found a few ICs that could do the job. However, I could use a
good recomendation though :) ).

Tnx in advance..

A tried and true method is a "quick switch" circuit.  This is a pass
transistor type gate that automatically limits the max voltage
conveyed from either side to the other to within approximately a volt
of Vdd if I remember correctly.  They even have a version of the chip
that integrates a diode in the Vdd path so it can be powered by 5
volts and the max level is just within the power rail of 3.3 volt
logic.  If you need a logic high to be 3.5 volts, you would need to
add a pull up resistor to that side of the interface.

A part number I have used in my designs is SN74CBTD3384CPW, a 10
element part with a separate enable for each 5 elements.  I like the
PW (TSSOP) packages as they are very small, but not BGA.  They seem
easy to get.  There should be parts without the diode if you want to
try to run without the pullups and can provide just the right Vdd
voltage so the FPGA doesn't fry and your 3.5 volt thresholds are
met...  I'm not sure what the I/O max is on the spartans, so this may
not be possible on paper.

Otherwise there are parts that actually drive the correct signal
voltage and have two power pins, one for each side.  I don't have a
part number handy, but I should have an advertisement for these parts
available when I get back to the office.  I'm not certain they are
bidirectional, but I believe they are and it doesn't make much sense
for them not to be... except if they drive both directions, they would
need direction and enable controls.

Rick
Some things to watch out for when using the quick switch:

TI has some 3.3V parts that have charge pumps built in. These parts
will
conduct above 3.3V so they're not good for voltage level translation.

The FET's in the switch have a soft shut-off as the channel voltage
nears
Vcc. When translating between 5V TTL and 3.3V CMOS this is O.K.
but going from 3.3V CMOS to 5V CMOS it means that the final bit
of rise time to reach the high voltage threshold is controlled by your
pullup resistors. You need to decide whether this is OK or if you
need
to use an active drive part to meet your timing needs. Otherwise the
quick switch will tend to have better timing than the active drive
approach as well as not needing direction enables. In fact if you
are not doing a hot plug design you can tie the enable active.

Regards,
Gabor
 
On Nov 11, 4:45 pm, "noob13"
<matija.draganovic@n_o_s_p_a_m.hotmail.com> wrote:
Hi,

I'm developing a certain controller using Spartan3 FPGA. Since I have to
communicate with another circuit that is using 5V signaling (similar to
TTL, but HV level is above 3.5V) I was wondering if someone could recommend
a good solution in a form of a "level shifter" circuit (I searched the
internet and found a few ICs that could do the job. However, I could use a
good recomendation though :) ).

Tnx in advance..
I use SN74LVC8T245, which can be used to interface any voltage bus
(either 3.3V <-> 5V or 3.3V <-> 1.8V possible afaik). There are two
separate power pins for buffer sides: VccA and VccB. However, You will
need to switch direction pin for full IO. Also I had other part
ADM3304 afaik, can't remember exactly, but I am sure it was ADMxxxx.
 
On Fri, 12 Nov 2010 04:02:20 -0800, Socrates wrote:

On Nov 11, 4:45 pm, "noob13"
matija.draganovic@n_o_s_p_a_m.hotmail.com> wrote:
Hi,

I'm developing a certain controller using Spartan3 FPGA. Since I have
to communicate with another circuit that is using 5V signaling (similar
to TTL, but HV level is above 3.5V) I was wondering if someone could
recommend a good solution in a form of a "level shifter" circuit (I
searched the internet and found a few ICs that could do the job.
However, I could use a good recomendation though :) ).

Tnx in advance..

I use SN74LVC8T245, which can be used to interface any voltage bus
(either 3.3V <-> 5V or 3.3V <-> 1.8V possible afaik). There are two
separate power pins for buffer sides: VccA and VccB. However, You will
need to switch direction pin for full IO. Also I had other part ADM3304
afaik, can't remember exactly, but I am sure it was ADMxxxx.
I used a 74ALVC164245 on my last project, which also has two supplies and
direction inputs. The OP should look for parts with numbers matching the
patters 74xxx3245 and 74xxx4245.

One must read the datasheet carefully as some parts have restrictions on
supply sequencing, yet others (with almost identical part numbers) don't
have such restrictions.

Regards,
Allan
 
On Nov 11, 8:45 am, "noob13"
<matija.draganovic@n_o_s_p_a_m.hotmail.com> wrote:
Hi,

I'm developing a certain controller using Spartan3 FPGA. Since I have to
communicate with another circuit that is using 5V signaling (similar to
TTL, but HV level is above 3.5V) I was wondering if someone could recommend
a good solution in a form of a "level shifter" circuit (I searched the
internet and found a few ICs that could do the job. However, I could use a
good recomendation though :) ).
check out the TI TXB0102 and other parts in the series. They're very
versatile covering a lot of voltage levels, no need to deal with
direction like on the 74LVC8T245 and similar parts. They have good
ESD protection, support powering down one side without loading down
the other, and come in microscopic packages if you need that sort of
thing. There is also a TXS010x series that is similar, but used for
open-drain type interfaces like I2C.
 
AMDyer@gmail.com <amdyer@gmail.com> wrote:
On Nov 11, 8:45 am, "noob13"
matija.draganovic@n_o_s_p_a_m.hotmail.com> wrote:
Hi,

I'm developing a certain controller using Spartan3 FPGA. Since I have to
communicate with another circuit that is using 5V signaling (similar to
TTL, but HV level is above 3.5V) I was wondering if someone could
recommend a good solution in a form of a "level shifter" circuit
(I searched the
internet and found a few ICs that could do the job. However, I could use a
good recomendation though :) ).


check out the TI TXB0102 and other parts in the series. They're very
versatile covering a lot of voltage levels, no need to deal with
direction like on the 74LVC8T245 and similar parts. They have good
ESD protection, support powering down one side without loading down
the other, and come in microscopic packages if you need that sort of
thing. There is also a TXS010x series that is similar, but used for
open-drain type interfaces like I2C.
With the TXB parts, be sure not to go on a cable with that
signal. Reflections from the end of the cable will easily switch the
direction, leading to oscillations. Been there, done that :)

For going 3.3V <-> 5 Volt, FET Switches like the 74CBTD3861 are also a good
choice. Either provide some pullup on the 5 Volt side or if the part has
"keeper", like the AVR AT90 Bus lines, activate these keepers and you have
true 5 Volt CMOS levels on the 5 Volt side even if the 3.3 Volt side drives.

Bye
--
Uwe Bonnes bon@elektron.ikp.physik.tu-darmstadt.de

Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------
 
On Nov 11, 6:45 am, "noob13"
<matija.draganovic@n_o_s_p_a_m.hotmail.com> wrote:
Hi,

I'm developing a certain controller using Spartan3 FPGA. Since I have to
communicate with another circuit that is using 5V signaling (similar to
TTL, but HV level is above 3.5V) I was wondering if someone could recommend
a good solution in a form of a "level shifter" circuit (I searched the
internet and found a few ICs that could do the job. However, I could use a
good recomendation though :) ).

Tnx in advance..

---------------------------------------        
Posted throughhttp://www.FPGARelated.com
I have a number of potential solutions, but the best depends on a few
questions.

1. How many I/O do you need?
2. How fast must they be?
3. Do you have some extra board space for external resistors?
 
First of all, tnx for all of your replies!

I believe that I'll use some of the IC solutions mentioned above. The onl
restrictions that are important are that I need to use 5-7 I/O, and signal
with fmax = 20 MHz. In accordance to that I'll choose some IC solution (
have to check availability with my supplier, etc. ..).

---------------------------------------
Posted through http://www.FPGARelated.com
 
On Nov 11, 9:45=A0am, "noob13"
matija.draganovic@n_o_s_p_a_m.hotmail.com> wrote:
Hi,

I'm developing a certain controller using Spartan3 FPGA. Since I hav
to
communicate with another circuit that is using 5V signaling (similar to
TTL, but HV level is above 3.5V) I was wondering if someone coul
recomme=
nd
a good solution in a form of a "level shifter" circuit (I searched the
internet and found a few ICs that could do the job. However, I could us
=
a
good recomendation though :) ).

Tnx in advance..

A tried and true method is a "quick switch" circuit. This is a pass
transistor type gate that automatically limits the max voltage
conveyed from either side to the other to within approximately a volt
of Vdd if I remember correctly. They even have a version of the chip
that integrates a diode in the Vdd path so it can be powered by 5
volts and the max level is just within the power rail of 3.3 volt
logic. If you need a logic high to be 3.5 volts, you would need to
add a pull up resistor to that side of the interface.

A part number I have used in my designs is SN74CBTD3384CPW, a 10
element part with a separate enable for each 5 elements. I like the
PW (TSSOP) packages as they are very small, but not BGA. They seem
easy to get. There should be parts without the diode if you want to
try to run without the pullups and can provide just the right Vdd
voltage so the FPGA doesn't fry and your 3.5 volt thresholds are
met... I'm not sure what the I/O max is on the spartans, so this may
not be possible on paper.

Otherwise there are parts that actually drive the correct signal
voltage and have two power pins, one for each side. I don't have a
part number handy, but I should have an advertisement for these parts
available when I get back to the office. I'm not certain they are
bidirectional, but I believe they are and it doesn't make much sense
for them not to be... except if they drive both directions, they would
need direction and enable controls.

Rick

Some time ago i was looking for level QSs to perform PCI level clamping.
could find here on the lab some SN74CBTD3384 but they seems to be useles
because of the footprint (A and B at the same side of the IC). How can yo
manage to use it as a bus? Or you just use it with completely separate
signals?

Let me know if i was not clear.

---------------------------------------
Posted through http://www.FPGARelated.com
 
Look at the 3861...
--
Uwe Bonnes bon@elektron.ikp.physik.tu-darmstadt.de

Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------
Yea i know, most of appications makes use of 3861, but i was wondering wha
kind of appication 3384 would be useful.



---------------------------------------
Posted through http://www.FPGARelated.com
 
Sink0 <sink00@n_o_s_p_a_m.n_o_s_p_a_m.gmail.com> wrote:
<... many lines of useless quote deleted...>

Some time ago i was looking for level QSs to perform PCI level clamping. I
could find here on the lab some SN74CBTD3384 but they seems to be useless
because of the footprint (A and B at the same side of the IC). How can you
manage to use it as a bus? Or you just use it with completely separated
signals?
Look at the 3861...
--
Uwe Bonnes bon@elektron.ikp.physik.tu-darmstadt.de

Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------
 
On Nov 17, 6:17 am, "Sink0" <sink00@n_o_s_p_a_m.n_o_s_p_a_m.gmail.com>
wrote:
Look at the 3861...
--
Uwe Bonnes                b...@elektron.ikp.physik.tu-darmstadt.de

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------

Yea i know, most of appications makes use of 3861, but i was wondering what
kind of appication 3384 would be useful.

---------------------------------------        
Posted throughhttp://www.FPGARelated.com
The 3384 is one of the first QuickSwitch products ever released. This
came out
at a time when fine-pitch SMT devices were fairly new and chip
manufacturers
were still in their old DIP package mindset. At that time they pinned
out the
chip whichever way made sense for the silicon layout without much
regard
to board-level concerns. If you look at most buffer and gate chips,
you'll find
that in almost all cases the earlier releases had inputs and outputs
all over
the place, and the flow-through pinout versions came later. The 3384
is
probably still available to populate existing older designs. It was a
very
popular device when it first came out, and so many people may still
use
it because "it was there."

Regards,
Gabor
 
The 3384 is one of the first QuickSwitch products ever released. This
came out
at a time when fine-pitch SMT devices were fairly new and chip
manufacturers
were still in their old DIP package mindset. At that time they pinned
out the
chip whichever way made sense for the silicon layout without much
regard
to board-level concerns. If you look at most buffer and gate chips,
you'll find
that in almost all cases the earlier releases had inputs and outputs
all over
the place, and the flow-through pinout versions came later. The 3384
is
probably still available to populate existing older designs. It was a
very
popular device when it first came out, and so many people may still
use
it because "it was there."

Regards,
Gabor
Thank you!! Thats explain a lot!!

---------------------------------------
Posted through http://www.FPGARelated.com
 

Welcome to EDABoard.com

Sponsor

Back
Top