enrutando señales jtag a través de un FPGA

0

Estoy enviando señales de JTAG a través de un FPGA de Altera a una MCU de TI. Las señales son TMS , TCK , TDO , TDI , nSRST .

También puedo conectar el JTAG directamente a la MCU ya que hay un encabezado jtag de 10 pin expuesto.

Si dirijo las señales TCK , TDI , TDO , nSRST a través del FPGA y conecto TMS directamente a el TMS al encabezado jtag de 10 pines en la MCU, entonces parpadeará el dispositivo.

Sin embargo, si dirijo TMS a través del FPGA, el parpadeo falla.

He analizado las señales TMS a través del FPGA y directamente al encabezado de 10 pines en la MCU y ambos se ven igual de bien.

¿Alguien sabría alguna propiedad del FPGA que contribuya a este error?

También podría alguien sugerir una solución. Quedaría bloqueado el trabajo de la señal y, de ser así, alguien podría explicarlo con más detalle.

    
pregunta artic sol

2 respuestas

2

La máquina de estados JTAG (exploración de límites) se mueve a través de estados basados en el nivel de TMS en el borde ascendente de TCK.

El enrutamiento de TMS a través del FPGA está agregando un retardo (algo desconocido) a TMS, por lo que no es sorprendente que la cadena no funcione como se esperaba.

Hay dispositivos diseñados para operar múltiples cadenas, como los dispositivos de Firecron (si eso es lo que intentabas hacer).

En circunstancias normales (los controladores de exploración de límites han recorrido un largo camino), simplemente conecto todos TMS juntos (TCK recibe el mismo tratamiento). Las únicas señales que pasan a través son TDI / TDO (no a través de su estructura: deje que el escaneo de límites implementado lo haga).

Una nota interesante: si tienes un dispositivo sin TRST, baja TCK por defecto para evitar un posible encendido.

    
respondido por el Peter Smith
1

Algunas CPU (especialmente las CPU ARM como la STM32) permiten dos tipos de transferencia "JTAG":

  • Real JTAG con cuatro cables (cinco cables, incluido nSRST)
  • Algunos "pseudo" -JTAG llamados "SWD" que usan solo dos cables: TCK y TMS

¡Si se utiliza SWD, la línea TMS es bidireccional !

Si el parpadeo funciona solo con TCK y TMS conectados (y TDI y TDO desconectados), usted sabe que la herramienta flash utiliza SWD.

Por otra parte, si el parpadeo no funciona con solo dos pines conectados, no puede saber si la herramienta de flash usa solo JTAG o si usa JTAG y SWD.

    
respondido por el Martin Rosenau

Lea otras preguntas en las etiquetas