0
\$\begingroup\$

I am building a programmer for Atmel AVR devices that includes dual (5/3.3) voltage selection and an integrated FTDI chip for serial diagnostics. I'm using the TI SN74LVCxT45 series for voltage translation and they work great -- the programmer portion works fine.

But the serial connection is coming back garbled for any baud rate > 300 if I set the target voltage to 3.3v. At 5v it works fine at any baud rate. The circuit for this is really simple. VCCA and VCCB lines leading off the image both are configured to 3.3v:

Schematic

Here, RXD_TARGET is reading input from TXD of a microcontroller, and RXD is routed to RXD on an FTDI serial to USB converter (FT230X). There is a 270 ohm resister to limit current as some board connectors ground unused pins for the ISP header (technically only necessary for the TXD output; I have tried removing this resistor to no effect).

This is a grab from my scope when sending a serial transfer. The blue trace is the input at RXD_TARGET and the yellow trace is the output at RXD:

Oscilloscope Output

As you can see, the output waveform looks good and matches the input pretty closely until about midway through where it appears that the output latches up for about 600us. If I lower the baud rate to 300 baud, everything looks great. If I switch the programmer to use 5v logic on the target microcontroller, everything looks great (internal logic to the programmer is always 3.3v, so this is just a level shift). The data sheet for this series of level shifter shows bandwidth at 3.3v to be about 210Mb/s, and this is nowhere near that. Also, the programming interface, which is SPI, also level shifts with these chips and is working fine, even at 3.3v (and is moving at about 119Kbaud). I also tried sending serial data onto one of the SPI inputs and it looks correct as well. I suspect either a bad chip or some interaction with the FT230X. The board is tiny SMD so I'm trying to be somewhat methodical before I make a mess of the board.

Anyone have experience with a similar problem? Thanks in advance for any ideas.

\$\endgroup\$
2
  • 2
    \$\begingroup\$ Please put the correct part number in the heading - a 74145 is a completely different beast. \$\endgroup\$ Nov 26, 2019 at 1:15
  • \$\begingroup\$ Thanks, Kevin -- it should have read SN74LVC1T45. Level shifter...not BCD decoder. \$\endgroup\$ Nov 26, 2019 at 23:32

1 Answer 1

1
\$\begingroup\$

This turned out to be caused by insufficiently heated solder paste on one of the pins on the chip. I removed the chip, checked for bridges, cleaned out the pads and re-soldered and now the data is coming back clean. Strange that it only affected the circuit when running at 3.3v and only partway through the communication. Perhaps increased capacitance on the input or higher resistance making for weak hi/low transitions.

\$\endgroup\$
1
  • 2
    \$\begingroup\$ Sometimes CMOS chips can power themselves through input lines via protection diodes if the Vdd line is open and it causes weird issues. \$\endgroup\$ Nov 30, 2019 at 5:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.