Programación ST-Link V2 STG-850 PLC -- STM32

Estoy tratando de conectarme a un PLC Barth STG-850 por primera vez y estoy usando el programador ST-Link V2 (no la versión ISOL) y hasta ahora no he tenido éxito.

El quid de mi problema probablemente se deba a que no tengo el cable recomendado para conectar el conector JTAG al PLC, que es el cable VK-35 que también vende Barth. Pedí el cable pero no lo tendré en 1 o 2 semanas, así que he estado tratando de conectarme sin él.

He alimentado el PLC externamente con 12V. Conecté el ST-Link a mi PC e instalé la utilidad STM32 ST-Link y Keil MicroVision para intentar establecer la conexión con el PLC. Para las conexiones entre el PLC y el conector JTAG he conectado lo siguiente:ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí

Después de probar varias opciones, parece que me quedé atascado en dos errores, ya sea "No se puede conectar al objetivo" o "Error de comunicación USB STLink", aunque el error de comunicación USB puede desaparecer simplemente desconectando y volviendo a conectar el ST -Enlace. Ambos se pueden ver en esta foto:

ingrese la descripción de la imagen aquí

Esto es bastante específico, pero ¿el cable VK-35 hace algo además de conectar los pines correspondientes?

Una función que pensé que podría estar haciendo el cable sería invertir el pin de reinicio (pin 5 en el PLC) ya que hay un "(invertido)" en la hoja de datos para el pin de reinicio.

Comencé a centrarme más en el pin de reinicio desde que aprendí que para actualizar el software, el pin de reinicio generalmente se alterna en una secuencia o se mantiene en un estado específico. Además, si solo conecto el pin de reinicio en la forma en que lo he mostrado cableado arriba, entonces el LED de estado que normalmente parpadea en el PLC se apaga. Como noté el comentario "(invertido)", intenté invertir la señal pasándola a través de un arduino y simplemente volteando la señal. Eso hace que el LED del PLC permanezca parpadeando mientras el programador está conectado, pero sigo teniendo los errores anteriores.

Espero que algunos de ustedes con conocimientos más específicos sobre ISP y/o MCU STM32 tengan una mejor intuición sobre mi problema.

PLC: https://barth-elektronik.com/en/mini-plc-stg-850.html

Programador ST-Link V2: http://www.st.com/content/st_com/en/products/development-tools/hardware-development-tools/development-tool-hardware-for-mcus/debug-hardware-for- mcus/debug-hardware-para-stm32-mcus/st-link-v2.html

Cable de programación VK-35: https://barth-elektronik.com/es/cable-de-conexion-vk-35.html

¡Gracias!

--------------- Información adicional

A continuación se muestra el registro de errores que obtengo de la utilidad ST-Link cuando intento conectarme con el pin de reinicio (pin 5 en el conector X4) conectado al programador ST-Link. Cambiar el modo a "conectar bajo reinicio" da el mismo resultado.

USB communication error (65657) after target cmd F1 80 00 00 00 00 00 00 00 00
ST-Link get version failure
The detected STM32 firmware version (V0.J0) does not support the DAP read command.

Cuando intento conectarme sin el pin de reinicio enchufado, aparece el siguiente registro de error de la utilidad ST-Link:

ST-Link/V2 device detected
Target voltage detected: 0.000000
No target device detected: check JTAG signals
Error (4) while initializing ST-Link in JTAG mode

El "voltaje objetivo detectado: 0.000" me hace pensar que podría tener algo mal conectado en el lado ST-Link JTAG. El PLC tiene 3.3V y Gnd correctamente conectado.

¿Tuviste algún éxito? El conector X4 debería funcionar de inmediato con STlink. Recuerde alimentar la placa externamente.
@Umar sin éxito todavía. He alimentado la placa externamente. Desarmaré mi configuración y volveré a intentarlo en caso de que haya un error en alguna parte. ¿Sabe si hay una secuencia o estado alto/bajo típico para el pin de reinicio en un STM32 para iniciar la programación?
No precisamente. Una opción que puede probar es seleccionar la opción "conectar bajo reinicio" en ST Link
Puede verificar una vez si 3.3v está disponible o no en el pin número uno de X4. Verifique las conexiones de los cables. Está usando SWDIO y SWCLK. También puede probar sin restablecer la conexión del pin. Lo hago.
Gracias por el consejo, @Umar. Probé la opción de conexión bajo reinicio que sugirió y agregué el registro de errores de ST Link Utility a la información de la publicación anterior. También intenté quitar el cable del pin de reinicio y también publiqué ese error, que es un poco más interesante ya que parece decir que no detecta ningún voltaje en el dispositivo de destino. Verifiqué los niveles de voltaje en el conector PLC X4, y gnd está en el pin 2 y 3.3v en el pin 1. Al conector JTAG tengo todo conectado para que coincida con la columna "SWD" de la documentación.
Su mensaje de error hace que suene como un problema entre el STlink y la computadora. ¿Qué error obtiene cuando no hay ninguna conexión entre el STlink y el PLC de destino? Tal vez el STlink es malo, o tal vez sus conexiones de destino están haciendo un cortocircuito al revés en el STlink. Podría decirse que, sin un esquema de las partes internas de la placa de destino, esta es una pregunta de "uso de dispositivos electrónicos" fuera del tema en lugar de una pregunta de "diseño electrónico" sobre el tema.
Ciertamente podría estar en la categoría de "uso de dispositivos electrónicos". Mi esperanza era que me faltaba algo de comprensión del protocolo ISP que ayudaría a corregir el problema. El problema estaba en mi cableado. Al enchufarlo en el extremo de un cable con conector JTAG, supuse que el enchufe de polarización indicaba una vista "de frente" cuando en realidad era una vista superior/sección. También me perdí una pequeña flecha indicadora en el conector que indica el pin 1 que también me habría avisado. Gracias a ambos por participar. ¿Debo responder o eliminar la pregunta ya que puede estar fuera de tema y tiene una solución simple?
Puedes responder tu propia pregunta. Después de todo, un día, puede ayudar a otro ingeniero a volver a verificar el cableado antes de profundizar en el ISP ;-)

Respuestas (1)

El problema aquí era un mal cableado. La causa raíz fue un malentendido sobre cómo identificar el pinout del conector del cable.

Estaba basando mi numeración de pines únicamente en la muesca de polarización rectangular central. El resultado fue que cuando vi el conector del cable de cinta desde la parte inferior, lo vi reflejado y estaba conectando GND donde pensé que estaban SWDIO y SWCLK. El pin VCC se reflejó coincidentemente, lo que permitió que se encendiera el indicador de estado de energía.

Un amigo señaló mi error al notar la pequeña (débil) flecha levantada en el conector del cable de plástico que indica el pin 1.

Entonces, al final fue un error de principiante no distinguir entre una vista de arriba hacia abajo y de abajo hacia arriba .

Una vez que se conectó correctamente, el ST-Link se conectó bien.

Gracias por la ayuda a todos.

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí