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\$
  • \$\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 '16 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 '16 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\$ – Spehro Pefhany Mar 18 '16 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\$ – Spehro Pefhany Mar 18 '16 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\$ – seetharaman Mar 18 '16 at 13:29
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
    \$\begingroup\$ thanks for pointing it out. I think I got confused with the pullup part. \$\endgroup\$ – seetharaman Mar 18 '16 at 13:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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