Hace poco se hizo un diseño que requiere que el puerto de programación esté ubicado bastante lejos del dispositivo que estoy tratando de programar. Esto ha significado que mis rastros de cJTAG miden alrededor de 13 cm de largo. Creo que como resultado de esto, la programación es un poco temperamental independientemente de la frecuencia del reloj de programación.
Tuve un problema similar en otro diseño y lo resolví utilizando resistores de la serie de 22 ohmios en las líneas TMS y TCK cerca del microcontrolador, pero eso no parece haber funcionado de manera tan confiable con este diseño. Esto podría deberse a que la distancia es mayor, o porque las líneas cambian de capa varias veces en su camino desde el puerto de programación. También hay un UART Tx / Rx que corre junto al puerto junto a los rastros de JTAG.
La foto de abajo muestra la ruta de los trazados JTAG y UART (de arriba a abajo: Tx, Rx, TCK, TMS)
En la parte inferior izquierda se pueden ver las resistencias de la serie y una resistencia adicional de extracción de 10k en la línea TCK, la hoja de datos que se me recomendó para permitir la conexión en caliente de un conector de programación.
Ahora mismo, espero encontrar una manera de hacer que la programación de los dispositivos sea más confiable, así que realmente apreciaría cualquier información o consejo sobre cómo ejecutar jtag en esta distancia.