Uso de pines VCC y GND en encabezados de programación

En un proyecto mío reciente usando un ESP32 y un CC1352, noté que en ambos encabezados de programación hay pines 3V3 y GND, que son, supongo, para alimentar el dispositivo si quieres programarlo cuando no está conectado a nada. .

Sin embargo, en mi escenario, ambas MCU funcionan con la PCB en la que están. Me di cuenta de que no podía hacer que el proceso de flash funcionara de manera confiable si alimentaba los chips desde la PCB y solo conectaba los pines que no son de alimentación, que para el ESP son TX-RX-IO0-EN y para el CC1352 es RX- TX-JTAG. Si desactivo la alimentación en la PCB y también conecto los pines 3V3-GND, en ambas MCU puedo parpadear de manera confiable cada vez.

Es este el comportamiento esperado?

Me parece bastante extraño que si un cliente tiene una MCU en una placa grande, tiene que apagar toda la máquina solo para flashear ese chip específico. Por ejemplo, a menudo hay conectores JTAG en las placas base. ¿Se supone que el usuario debe apagar la PC para usar la interfaz JTAG?

EDITAR

Olvidé mencionar que en el otro extremo del encabezado de programación, para el CC1352, por ejemplo, hay una sonda de depuración tomada por el CC1352 Launchpad . Dudo en conectar su VCC-GND a mi PCB porque los componentes de la PCB toman VCC-GND del regulador de voltaje y en la plataforma de lanzamiento provienen del USB. Si hago un puente entre los dos, estaría conectando el VCC de USB 2.0 al VCC de un regulador de voltaje, lo mismo para GND, no estoy seguro de si eso sería seguro. Situación similar en el ESP32.

My Segger está configurado en el lado de la PC para proporcionar o no alimentación a través del conector JTAG. Sin embargo, debe conectar el pin de tierra ... referencia de señal.
Obviamente necesitas el suelo. Cuando necesite admitir varias fuentes de alimentación de CC que suministren el mismo circuito, solo protéjalas con un diodo para que no puedan retroalimentarse entre sí. No nos has mostrado cómo es tu tablero. Si está utilizando placas de desarrollo, es posible que ya tengan estas características. Si construyó la placa, entonces necesita agregar esas características.

Respuestas (2)

Bueno, ciertamente debes conectar el pin GND para que el programador y el mcu compartan un terreno común.

El pin 3V3 no está necesariamente allí para alimentar la MCU. Algunos programadores (por ejemplo, J-Link de Segger) trabajarán con MCU a diferentes voltajes, y este pin se usa solo para detectar el nivel de voltaje de la interfaz. Sin la hoja de datos del fabricante de su depurador, no podemos saber de una forma u otra.

Para agregar a la respuesta de @Elliot, he visto depuradores (SWD para STM32 o NXP Cortex-M) que tenían un cambiador de nivel, con las líneas que iban a la MCU alimentadas por las placas VCC.