UART to UART communication

I have a 3.3v XMega talking to a 3.3v Kinetis KL15 over UART1 with a 1k series resistor between the two. On some units, when the XMega drives TX low the KL15 sees about 2v on the RX. If I remove the 1k series resistor the KL15 sees 0V on the RX. If I disconnect the KL15 RX and put a 10k pull-up on the XMega TX it has no problem driving it to 0v.

But this is only on some units. Other units work just fine with the 1k series resistor. The RX on the KL15 goes to 0v.

I didn’t chose the 1k and I don’t think it needs to be there but I would still like to understand what’s going on inside the XMega and KL15 that clamps Vin-low to 2v.

I’m trying to find the UART RX/TX output circuit (the guts in the chip at the pin) of both processors but no luck yet. Could anyone direct me to a schematic of explain it to me?

A series resistor is not needed unless one of the units may be powered down independently of the other (which is not a good idea in any case).

If the above is the case, you need the resistor to protect the powered up output from overcurrent, and to protect the powered down device from “phantom powering” through the input protection diodes.