Spy-Bi-Wire vs JTAG

9

Estoy trabajando en un diseño MSP430 y estoy muy intrigado por la interfaz de programación de dos cables Spy-Bi-Wire . Por lo que leí, es muy similar en términos de funcionalidad a JTAG e incluso se ve mejor en algunos casos (menos cables, por supuesto, pero también velocidad, etc.).

¿Hay algo de lo que JTAG sea capaz de lo que me estaría perdiendo al usar Spy-Bi-Wire (depuración, puntos de interrupción, programación flash) y sin incluir el JTAG estándar de 4 pines en mi PCB?

Joel B
fuente

Respuestas:

12

Spy-Bi-Wire es JTAG: la capa física es simplemente diferente. JTAG es un conjunto de comandos sobre una interfaz en serie. El principal problema es el chip que está depurando. El chip que está depurando debe tener soporte para las características sofisticadas, no solo su JTAG. Y de hecho, en la propia documentación de TI para la interfaz JTAG en MSP430 explica cómo sus chips no implementan completamente todos los comandos JTAG (sección 3.2, página 67):

Solo se admite la instrucción BYPASS. No hay soporte para las instrucciones SAMPLE, PRELOAD o EXTEST.

Aquí está la parte divertida: dado que Spy-Bi-Wire es solo comunicación en serie, todas las características geniales reales deben implementarse en el MSP430. Por ejemplo, ¿la cantidad de puntos de interrupción de hardware que tiene? Determinado por el procesador, no por el JTAG que está utilizando. La mayoría de los MSP430 tienen dos, algunos tienen ocho.

AngryEE
fuente
¿Cómo podría no ser capaz de arreglar un chip bloqueado si puedo programar el flash a través de Spy-Bi-Wire? ¿Spy-Bi-wire no permite la programación flash?
Joel B
1
SBW puede borrar por la fuerza el flash en chips de ladrillo. Puede escribir su programa o cambiar un valor en una dirección específica en flash también
jsolarski
Es bueno saberlo: pensé que requería voltajes más altos y solo podía limpiar el chip por la fuerza si el chip estaba ayudando. ¿Creo que tal vez esa funcionalidad podría no estar en todos los dispositivos SBW? Me pregunto principalmente sobre la implementación en el MSP430 Launchpad.
AngryEE
1
Sinceramente, no conozco los chips con SBW y JTAG, pero creo que es una de las funciones de SBW. Si mira el documento de TI que publicó, dice "1.2.1.3 Interfaz JTAG Spy-Bi-Wire (SBW) de 2 hilos La lógica JTAG integrada en los dispositivos que admiten el modo de 2 hilos es idéntica a la de solo 4 hilos dispositivos. La diferencia fundamental es que los dispositivos de 2 hilos implementan una lógica adicional que se utiliza para convertir la comunicación de 2 hilos en la comunicación estándar de 4 hilos internamente. De esta manera, la metodología de emulación JTAG existente del MSP430 se puede utilizar por completo. "
jsolarski
1
En cuanto a la plataforma de lanzamiento, es un programador SBW totalmente capaz
jsolarski el
1

Desarrollo una solución MSP430 personalizada que se ejecuta en Teradyne ICT

Mi opinión, SbW ciertamente no es más rápido. Se necesitan 3 ciclos de reloj para lograr 1 bit por JTAG. Entonces, alguien tuvo una muy mala idea de que la línea RESET transportara los datos. Luego, el RESET generalmente tiene al menos 1nF de capacitancia, lo que hace que sea aún más lento cargar y descargar.

El SbW está bien para flash muy pequeño, como el Value Series MSP430G, que tiene solo unas pocas K de flash para programar. Pero para el MSP430F5XX y 6XX, es mejor proporcionar conectividad a todo el conjunto JTAG y dedicar esos pines para la programación, de lo contrario, lamentará usar el SbW.

Dudley Hiller
fuente