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 through http://www.FPGARelated.com
Spartan3 bidirectional 3.3V 5V level shifter
Started by ●November 11, 2010
Reply by ●November 11, 20102010-11-11
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 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 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 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
Reply by ●November 11, 20102010-11-11
On Nov 11, 4:18=A0pm, rickman <gnu...@gmail.com> wrote:> 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 have t=o> > 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 recom=mend> > 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=e a> > good recomendation though :) ). > > > Tnx in advance.. > > A tried and true method is a "quick switch" circuit. =A0This 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. =A0They 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. =A0If 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. =A0I like the > PW (TSSOP) packages as they are very small, but not BGA. =A0They seem > easy to get. =A0There 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... =A0I'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. =A0I don't have a > part number handy, but I should have an advertisement for these parts > available when I get back to the office. =A0I'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. > > RickSome 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
Reply by ●November 12, 20102010-11-12
On Nov 11, 4:45=A0pm, "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 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 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.
Reply by ●November 12, 20102010-11-12
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
Reply by ●November 12, 20102010-11-12
On Nov 11, 8: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 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 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 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.
Reply by ●November 13, 20102010-11-13
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 ----------
Reply by ●November 13, 20102010-11-13
On Nov 11, 6: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 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 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 use =a> good recomendation though :) ). > > Tnx in advance.. > > --------------------------------------- =A0 =A0 =A0 =A0 > Posted throughhttp://www.FPGARelated.comI 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?
Reply by ●November 15, 20102010-11-15
First of all, tnx for all of your replies! I believe that I'll use some of the IC solutions mentioned above. The only restrictions that are important are that I need to use 5-7 I/O, and signals with fmax = 20 MHz. In accordance to that I'll choose some IC solution (I have to check availability with my supplier, etc. ..). --------------------------------------- Posted through http://www.FPGARelated.com
Reply by ●November 16, 20102010-11-16
>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 haveto>> communicate with another circuit that is using 5V signaling (similar to >> TTL, but HV level is above 3.5V) I was wondering if someone couldrecomme=>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 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 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? Let me know if i was not clear. --------------------------------------- Posted through http://www.FPGARelated.com





