Disposición de un conector JTAG/SWD de 10 pines en un diseño final

Estoy diseñando una placa con un microcontrolador ARM (LPC1347FBD48) y quiero incluir un conector jtag/swd de 10 pines , como es estándar , para la depuración en circuito de mi diseño final. Aquí está el pinout (hoja de datos pg9):

ingrese la descripción de la imagen aquí(No se preocupe por el texto cortado en el pin 4, no tiene una señal importante). Las señales relevantes son: TDI (32), TMS (33), TDO (34), TRST# (35) , SWDIO (39), SWCLK (29), SWO (28).

Mi preocupación es que la especificación del encabezado estándar indica que ciertas señales deben conectarse juntas (TMS/SWDIO, TCK/SWCLK, TDO/SWO) y estas señales están en pines diferentes. ¿Se supone que solo debo unir estas señales y enrutarlas a los pines apropiados en el encabezado?

Digamos que vinculo TMS y SWDIO en el encabezado. Durante el funcionamiento normal, estos pines estarían conectados a las señales GPIO y, dado que están unidos, no puedo usarlos como salidas simultáneamente, ¿correcto? (a menos que coloque algún tipo de circuito de amortiguación entre ellos)

Aquí hay algún tipo de implementación de ejemplo (es el esquema para la placa LPC1347 lpcxpresso) pero no puedo entenderlo. Parece que, en el lado LPC1347, la placa LPCXpresso simplemente ha dejado las señales JTAG desconectadas y solo usa las líneas SWD (ver esquema pg5). ¿Es esta una implementación aceptable y, de ser así, debería duplicarla (¿o no?) y por qué?

Después de leer esta pregunta , también me preocupa qué señales se deben subir o bajar, por lo que si hay algún comentario al respecto, también lo agradecería. Eché un vistazo a la cadena de preguntas dejada por ese usuario, pero no pude encontrar una respuesta concreta sobre qué pullups/pulldowns deberían usarse (y, lo que es más importante, por qué).

Espero que esta pregunta no sea demasiado amplia, pero si alguien pudiera encontrar los números de pieza del conector que se muestra en ese documento del centro de información de ARM, o algo similar, también sería apreciado. He estado buscando en digikey los encabezados de 10 pines de paso de 0.05 "envueltos, pero ninguno de ellos parece tener una clave de polarización. puu.sh/4l6RO/1500f550dc.png es a lo que me refiero.

Respuestas (3)

Lo típico que se hace en piezas de Cortex que solo tienen un único núcleo de procesador es usar solo SWD. En este caso, las únicas líneas que deben enrutarse al encabezado de 10 pines son SWDCLK/SWDIO/SWO/!RESET/+3V3/GND. Tenga en cuenta que !RESET es el reinicio del microcontrolador y no es lo mismo que TRST. Desde mi experiencia, el único pin que debe levantarse a través de una resistencia es !RESET, al menos usando un adaptador de depuración Ulink2/Ulink ME. En la mayoría de los procesadores Cortex, las líneas JTAG y SWD en realidad se comparten, por ejemplo, SWO es el mismo pin que TDO, pero parece que ese no es el caso aquí. Si sus herramientas son compatibles con JTAG y SWD, puede elegir el sistema que tenga menos conflictos con sus otras necesidades de conexión/periféricos. Si debe compartir los pines de depuración con otro hardware,

En general, SWD requiere menos pines y puede usar SWV (Serial Wire Viewer) que le brinda redirección de impresión y otras funciones, mientras que JTAG permite el encadenamiento (y el acceso a ambos núcleos en partes de doble núcleo como el LPC4300), y es el única opción para herramientas más antiguas.

El número de pieza del conector envuelto es FTSH-105-01-FDK, pero en la práctica es difícil de encontrar, pero probablemente pueda enviar una RFQ en Alibaba o en un sitio B2B similar.

Estos son los encabezados de 2x5 de 1,27 mm que usamos (todos disponibles en digikey):

N.º de pieza de Harwin M50-3500542 (es un encabezado abierto, luego cortamos el pin 7 para polarizar).

CNC Tech parte # 3220-10-0100-00 (Es un encabezado en caja, por lo que obtiene polarización sin cortar ningún pin. En realidad, es más barato que la parte Harwin, pero ocupa más espacio).

Luego usamos este cable para conectar (también disponible en digikey): Samtec parte # FFSD-05-D-06.00-01-N

Para programar usamos un Segger J-Link con un adaptador Cortex M.

Espero que ayude,

brock

PD Solo nos conectamos usando SWD.

La pregunta es acerca de conectar señales, no los conectores.
Parte de la pregunta se refiere a tratar de encontrar el conector físico adecuado...

Para sus propios fines, parece lo más fácil usar SWD. Si diseña para realizar pruebas, es posible que desee incluir las líneas JTAG en los puntos de prueba para habilitar las pruebas de exploración de límites.