Diseño de un conector JTAG / SWD de 10 pines en un diseño final

3

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

(Noimportaeltextodecorteenelpin4,notieneunaseñalimportanteenél).Lasseñalesrelevantesson:TDI(32),TMS(33),TDO(34),TRST#(35),SWDIO(39),SWCLK(29),SWO(28).

Mipreocupaciónesquelaespecificaciónparaelencabezadoestándarindicaqueciertasseñalesdebenestarconectadasentresí(TMS/SWDIO,TCK/SWCLK,TDO/SWO)yestasseñalesestánendiferentespines.¿Sesuponequedebounirestasseñalesyenrutarlasalospinesapropiadosenelencabezado?

DigamosquevinculoTMSySWDIOenelencabezado.Duranteelfuncionamientonormal,estospinesseconectaránalasseñalesGPIOy,comoestánunidos,nopuedousaramboscomosalidassimultáneamente,¿correcto?(amenosquecoloquealgúntipodecircuitodebúferentreellos)

Hayunaespeciedeejemplodeimplementación aquí (es el esquema para el LPC1347 lpcxpresso board) pero no puedo hacer cara o cola. Parece que, en el lado LPC1347, la placa LPCXpresso simplemente dejó las señales JTAG desconectadas y solo usa las líneas SWD (consulte el 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 estoy un poco preocupado por las señales que deben subirse o bajarse, por lo que si hay algún comentario al respecto, también las apreciaré. Eché un vistazo a través de la cadena de preguntas dejada por ese usuario, pero no pude encontrar una respuesta concreta sobre qué tirones / despliegues se deben usar (y, lo que es más importante, por qué).

    
pregunta tummychow

3 respuestas

8

Lo típico en las partes de Cortex que solo tienen un 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. Observe que! RESET es el reinicio del microcontrolador, y no es lo mismo que TRST. Según mi experiencia, el único pin que se debe extraer 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 otros periféricos / necesidades de anclaje. Si debe compartir las patillas de depuración con otro hardware, entonces la patilla del ISP debe levantarse y cablearse a una de las patillas GND en el conector de 10 patillas (las patillas GND están cortocircuitadas internamente en el adaptador de depuración para que se pueda bajar cuando el depurador está conectado, lo que le permite ingresar al modo ISP).

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

El número de pieza del conector cubierto es FTSH-105-01-F-D-K, pero en la práctica es difícil de encontrar, pero es probable que pueda emitir una RFQ en Alibaba o en un sitio B2B similar.

    
respondido por el Zuofu
2

Aquí están los encabezados de 2x5 1.27 mm que utilizamos (todos en stock en digikey):

Harwin parte # M50-3500542 (Es un encabezado abierto , luego cortamos el pin 7 para polarizar.)

CNC Tech part # 3220-10-0100-00 (es un encabezado en un recuadro, así que obtienes polarización sin cortar ningún pasador. En realidad, es más barato que la parte de Harwin, pero ocupa más espacio.)

Luego usamos este cable para conectar (también en stock 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

PS Solo nos conectamos utilizando SWD.

    
respondido por el Brock R.
1

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

    
respondido por el Tom L.

Lea otras preguntas en las etiquetas