0
\$\begingroup\$

I'm using a 3.3 MCU and a 5v logic RS-485 IC. I'm trying to send out some data to another controller. I don't have a logic level shifter as of now. So I decided to use resistor divider, to get it to a safe limit of 3V.

schematic

simulate this circuit – Schematic created using CircuitLab

The output I'm getting is confusing. When I don't connect the 3V RX data out to the MCU RX Pin, the logic levels are working fine. enter image description here

But when I connect this RX out pin to the RX pin of the MCU then the voltage level seems to float.

enter image description here

I checked the ground levels and it was just the same. Then I thought it could be some impedance issue, but nowhere it explicitly states the impedance of the UART input pin.

What's wrong here? If it helps, I'm using TI's C2000 series controller.

\$\endgroup\$
11
  • \$\begingroup\$ It looks as though you are missing a ground connection between the 5 V and 3.3 V circuits. Double-check. Where is your scope ground? (Mark it in on your schematic along with the 3.3 V GND. \$\endgroup\$
    – Transistor
    Mar 18, 2016 at 12:54
  • \$\begingroup\$ Isn't that an error in the schematic? I'd expect the 5V to be TX, right? \$\endgroup\$
    – user68591
    Mar 18, 2016 at 12:54
  • 2
    \$\begingroup\$ Maybe you have an internal pull-up enabled. The internal pullups are around 150uA within their compliance range, and that's pretty much the waveform I'd expect if it was enabled. \$\endgroup\$ Mar 18, 2016 at 12:55
  • 2
    \$\begingroup\$ If the datasheet is too formidable you can measure it. Put a 10K resistor to MCU ground from the input and see what you measure in volts across the resistor. \$\endgroup\$ Mar 18, 2016 at 13:05
  • 1
    \$\begingroup\$ @SpehroPefhany just now checked the voltage of the pin when its floating. It seems I have enabled the pullups. \$\endgroup\$ Mar 18, 2016 at 13:29

1 Answer 1

2
\$\begingroup\$

Almost definitely you've got the pullup enabled. Here's a datasheet extract from a Picolo controller. The SCI may take over the in/out definitions, but the pullups can even be enabled on pins defined as outputs, and there is certainly no good reason to prevent the pullup from being enabled on an SCI RXD input.

enter image description here

\$\endgroup\$
1
  • 1
    \$\begingroup\$ thanks for pointing it out. I think I got confused with the pullup part. \$\endgroup\$ Mar 18, 2016 at 13:30

Your Answer

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

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