Spy-Bi-Wire vs JTAG

9

Je travaille sur une conception MSP430 et je suis très intrigué par l' interface de programmation à deux fils Spy-Bi-Wire . D'après ce que j'ai lu, il est très similaire en termes de fonctionnalités à JTAG et semble même mieux dans certains cas (moins de fils bien sûr, mais aussi de vitesse, etc.).

Y a-t-il quelque chose dont JTAG est capable que je manquerais en utilisant Spy-Bi-Wire (débogage, points d'arrêt, programmation flash) et sans inclure le JTAG 4 broches standard sur mon PCB?

Joel B
la source

Réponses:

12

Spy-Bi-Wire est JTAG - la couche physique est juste différente. JTAG est un ensemble de commandes sur une interface série. Le principal problème est la puce que vous déboguez. La puce que vous déboguez doit prendre en charge les fonctionnalités de fantaisie - pas seulement votre JTAG. Et en effet, dans la propre documentation de TI pour l'interface JTAG sur MSP430, il explique comment ses puces n'implémentent pas complètement toutes les commandes JTAG (section 3.2, page 67):

Seule l'instruction BYPASS est prise en charge. Il n'y a pas de support pour les instructions SAMPLE, PRELOAD ou EXTEST.

Voici la partie amusante: étant donné que Spy-Bi-Wire n'est qu'une communication série, toutes les fonctionnalités intéressantes doivent être implémentées sur le MSP430. Par exemple, le nombre de points d'arrêt matériels dont vous disposez? Déterminé par le processeur, pas par le JTAG que vous utilisez. La plupart des MSP430 en ont deux, certains en ont huit.

AngryEE
la source
Comment pourrais-je ne pas pouvoir réparer une puce maçonnée si je peux programmer le flash via Spy-Bi-Wire? Spy-Bi-wire ne permet-il pas la programmation flash?
Joel B
1
SBW peut effacer de force le flash sur des puces maçonnées. Il peut également écrire votre programme ou changer une valeur à une adresse spécifique en flash
jsolarski
C'est bon à savoir - je pensais que cela nécessitait des tensions plus élevées et ne pouvais essuyer la puce de force que si la puce aidait. Je pense que cette fonctionnalité n'est peut-être pas disponible dans tous les appareils SBW? Je m'interroge principalement sur l'implémentation du Launchpad MSP430.
AngryEE
1
Honnêtement, je ne connais pas les puces avec SBW et JTAG mais je pense que c'est l'une des fonctions de SBW. Si vous consultez le document TI que vous avez publié, il indique: "1.2.1.3 Interface JTAG Spy-Bi-Wire 2 fils (SBW) La logique JTAG de base intégrée dans les appareils prenant en charge le mode 2 fils est identique à 4 fils uniquement La différence fondamentale est que les appareils à 2 fils implémentent une logique supplémentaire qui est utilisée pour convertir la communication à 2 fils en communication standard à 4 fils en interne. De cette façon, la méthodologie d'émulation JTAG existante du MSP430 peut être pleinement utilisée. "
jsolarski
1
Quant à la rampe de lancement, c'est un programmeur SBW pleinement capable
jsolarski
1

Je développe une solution MSP430 personnalisée qui fonctionne sur Teradyne ICT

À mon avis, SbW n'est certainement pas plus rapide. Il faut 3 cycles d'horloge pour accomplir 1 bit par JTAG. Ensuite, quelqu'un a eu une très mauvaise idée de laisser la ligne RESET transporter les données. Ensuite, le RESET a généralement une capacité d'au moins 1nF, ce qui le rend encore plus lent à charger et à décharger.

Le SbW convient parfaitement aux très petits flashs, comme le Value Series MSP430G, avec seulement quelques K de flash à programmer. Mais pour les MSP430F5XX et 6XX, vous feriez mieux de fournir une connectivité à l'ensemble JTAG et de dédier ces broches à la programmation, sinon vous regretterez d'utiliser le SbW.

Dudley Hiller
la source