Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Level translator IC not producing low voltage

Status
Not open for further replies.

billybobjack

Newbie level 3
Joined
Feb 4, 2011
Messages
4
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,340
I need to connect a microcontroller to 6 separate motor drivers(they're integrated into the pumps I'm using), each with two serial lines (Rx,Tx). The MCU operates at 5V and the motor drivers operate at 3.3 volts. Due to the large number of lines I need to level shift I was planning on using a multi-channel level translating IC such as the (**broken link removed**) or the (TXB0108).

I have tried using both of these ICs and am having the same problem with both. When sending data to the 3.3V motor boards the signal won't go below 1V, and it needs to get down to at least 0.8V to register as a low bit. This doesn't happen if I just hook the high side of the level translators up to a function generator, while applying the same supply voltages. In this scenario a 5Vpp signal is correctly shifted into a 3.3Vpp signal.

I can make the communication "work" by putting a 6.8kOhm resistor between the 3.3V Rx line and ground, which shifts the voltage range to 0.7V to 2V. This seems a little trashy to me and I'm not sure it will work if I get a bunch of motors running and have a lot of noise on my power lines.

I'm a mechanical engineer so I don't really know whats going on here, if anyone could explain to me why the shifted signal isn't going below 1V and/or offer any suggestions on how to rectify the situation I would really appreciate it.

Thanks in advance.
 

Are you sure the Driver/Pump serial ports are not RS-232, instead of asynchronous serial at digital levels? Do you have a datasheet for these Driver/Pumps?
 

    V

    Points: 2
    Helpful Answer Positive Rating
thanks for the fast reply!

I can't find a data sheet online for the pumps, but according to the documentation that came with them there are two pins: I/O R and I/O T described as "serial receive/transmit connector with 10K internal pull-up". It also gives a voltage range stating for the I/O R pin that Logic Hi=1.71-3.3V and Logic Lo=0-0.85V, and for the I/O T pin Logic Hi=2.85V and Logic Lo=0V. I'm confident that they're not RS232 having looked at the I/O T line on my oscilloscope and having gotten them to work using the 6.8kOhm resistor. Thanks again for your reply.
 

What's maximum distance from the driver/pump to the MCU?

You may need more than a level translator due to long-hauls and EMI from the pumps.
 
From the datasheet of TXB0108
If pullup or pulldown resistors are connected externally to the data I/Os, their values must be kept higher than 50 kΩ to ensure that they do not contend with the output drivers of the TXB0108.
For the same reason, the TXB0108 should not be used in applications such as I2C or 1-Wire where an open-drain driver is connected on the bidirectional data I/O. For these applications, use a device from the TI TXS01xx series of level translators.
https://focus.ti.com/lit/ds/symlink/txb0108.pdf

So maybe need to use the TXS01XX series

https://focus.ti.com/lit/ds/symlink/txs0102.pdf
 
mister_rf
Thanks for the reply, the TXS01XX series looks like it might do the trick. So the issue is the 10K pull-up resistors that are present in the pump? Am I going to have to compensate for that in any way with a TXS01XX series part or given that it's a seemingly simpler IC (no ESD protection, no "smart sensing") is it not going to care about things like the presence of external resistors placed on the serial line?

Thanks again for your help.

---------- Post added at 17:57 ---------- Previous post was at 17:45 ----------


bigdogguru,
I just have it mocked up with jumpers at this point, but once I get it on a PCB I would imagine that I'm going to have traces going about 15mm just because of the spacing needed for the headers. From the headers to the motor controllers is going to be probably 75mm, but the cables seem pretty shielded so I'm not to worried about that stretch of the journey. I'm going to have capacitors sitting right next to the Vcc header on the jumper, can you offer any specific pointers on how the signal routing should be done (spacing between data lines, spacing between data lines and my ground plane), and any other precautions I should take if I have to increase my trace lengths on the board (or at my predicted lengths)?

Thanks again for your help!
 

I can make the communication "work" by putting a 6.8kOhm resistor between the 3.3V Rx line and ground, which shifts the voltage range to 0.7V to 2V. This seems a little trashy to me and I'm not sure it will work if I get a bunch of motors running and have a lot of noise on my power lines.

If there are serious distances between the MCU and pump controller, I believe your fears are correct, the EMI will disrupt the communication between the two. You may want to consider setting up RS-232 communication using MAXIM RS-232 transceivers at the very least.

**broken link removed**

You may want to consider a RS-422 or RS-485 implementation.

BigDog

---------- Post added at 23:07 ---------- Previous post was at 23:04 ----------

bigdogguru,
I just have it mocked up with jumpers at this point, but once I get it on a PCB I would imagine that I'm going to have traces going about 15mm just because of the spacing needed for the headers. From the headers to the motor controllers is going to be probably 75mm, but the cables seem pretty shielded so I'm not to worried about that stretch of the journey. I'm going to have capacitors sitting right next to the Vcc header on the jumper, can you offer any specific pointers on how the signal routing should be done (spacing between data lines, spacing between data lines and my ground plane), and any other precautions I should take if I have to increase my trace lengths on the board (or at my predicted lengths)?

Thanks again for your help!

If the total run from MCU to Pump Controller is just a few inches you may get away with it. Otherwise, I think the EMI will probably be a serious problem.

BigDog
 
Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top