1
\$\begingroup\$

I'm an EE student working on my first hobby project involving ECAD and currently I have an ESP32-C3 connected to a BM83 Bluetooth audio module via UART.

There will be moments when only one MCU is powered for flashing and I've heard of back-powering MCUs, so I'm trying to avoid it by guaranteeing that the affected pins are high impedance in those cases. The problem I have is that either the BM83 documentation makes no mention of the impedance of its UART pins, or that information is described in a way that I'm not experienced enough to understand.

I've searched for answers and Tri-state buffers should work in this case, but I'd like to get feedback on my own original solutions too and hear what to do if the bus was bidirectional?

I have three solutions to guaranteeing the lines to be Hi-Z unless the receiving MCU is powered and I'd appreciate some feedback and explanations on why to/not to use them.

  1. Tri-state buffers connected to receiving MCU VCC on the two UART lines? This should be fine since the lines are unidirectional.

  2. Analogue switch enabled by MCU VCC on UART lines? Same thing essentially?

  3. AND Gate taking UART line and receiving MCU VCC as input?

\$\endgroup\$

2 Answers 2

1
\$\begingroup\$

Neither what you suggest.

Put a logic buffer which can tolerate signal on the input while being unpowered.

You need two buffers because you have two systems and when only one is powered up it could be either one of them.

If you put a standard logic IC, tristate buffer, AND gate, analogue mux, they do not tolerate voltages on their input while unpowered, so with these you might just move the problem from the MCUs to your IC between the MCUs.

\$\endgroup\$
1
\$\begingroup\$

On the Olimex AM3352-SOM they used a diode and pull-up combination seen to protect against backpowering the processor from the UART receive. Relevant part of the Olimex AM3352-SOM_Rev_E.pdf schematic:

enter image description here

\$\endgroup\$

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.