Spy-Bi-Wire vs. JTAG

Ich arbeite an einem MSP430-Design und bin sehr fasziniert von der zweidrahtigen Spy-Bi-Wire -Programmierschnittstelle. Von dem, was ich gelesen habe, ist es in Bezug auf die Funktionalität JTAG sehr ähnlich und sieht in einigen Fällen sogar besser aus (natürlich weniger Kabel, aber auch Geschwindigkeit usw.).

Gibt es etwas, wozu JTAG in der Lage ist, das ich verpassen würde, wenn ich Spy-Bi-Wire (Debugging, Breakpoints, Flash-Programmierung) verwende und das standardmäßige 4-Pin-JTAG nicht auf meiner Platine einbaue?

Antworten (2)

Spy-Bi-Wire ist JTAG - die physikalische Schicht ist nur anders. JTAG ist eine Reihe von Befehlen über eine serielle Schnittstelle. Das Hauptproblem ist der Chip, den Sie debuggen. Der Chip, den Sie debuggen, muss die ausgefallenen Funktionen unterstützen - nicht nur Ihren JTAG. Und tatsächlich wird in der eigenen Dokumentation von TI für die JTAG-Schnittstelle auf dem MSP430 dargelegt, wie seine Chips nicht alle JTAG-Befehle vollständig implementieren (Abschnitt 3.2, Seite 67):

Nur die BYPASS-Anweisung wird unterstützt. Es gibt keine Unterstützung für SAMPLE-, PRELOAD- oder EXTEST-Anweisungen.

Hier ist der lustige Teil: Da Spy-Bi-Wire nur eine serielle Kommunikation ist, müssen alle eigentlichen coolen Funktionen auf dem MSP430 implementiert werden. Zum Beispiel die Anzahl der Hardware-Haltepunkte, die Sie haben? Wird vom Prozessor bestimmt, nicht vom JTAG, das Sie verwenden. Die meisten MSP430 haben zwei, einige haben acht.

Wie könnte ich einen gemauerten Chip nicht reparieren können, wenn ich den Blitz über Spy-Bi-Wire programmieren kann? Erlaubt Spy-Bi-Wire keine Flash-Programmierung?
SBW kann den Flash auf gemauerten Chips zwangsweise löschen. Es kann auch Ihr Programm schreiben oder einen Wert an einer bestimmten Adresse im Flash ändern
Das ist gut zu wissen - ich dachte, es erfordert höhere Spannungen und konnte den Chip nur dann gewaltsam löschen, wenn der Chip unterstützte. Ich denke, dass diese Funktionalität vielleicht nicht in allen SBW-Geräten vorhanden ist? Ich wundere mich hauptsächlich über die Implementierung auf dem MSP430 Launchpad.
Ich weiß ehrlich gesagt nichts über die Chips mit SBW und JTAG, aber ich denke, es ist eine der Funktionen von SBW. Wenn Sie sich das von Ihnen gepostete TI-Dokument ansehen, heißt es: „1.2.1.3 2-Wire Spy-Bi-Wire (SBW) JTAG Interface Die Kern-JTAG-Logik, die in Geräte integriert ist, die den 2-Draht-Modus unterstützen, ist identisch mit der reinen 4-Draht-Schnittstelle Der grundlegende Unterschied besteht darin, dass 2-Draht-Geräte eine zusätzliche Logik implementieren, die verwendet wird, um die 2-Draht-Kommunikation in die Standard-4-Draht-Kommunikation intern umzuwandeln.Auf diese Weise kann die vorhandene JTAG-Emulationsmethodik des MSP430 vollständig genutzt werden. "
Das Launchpad ist ein vollwertiger SBW-Programmierer
@jsolarski - Sie haben also volle Programm- und Debug-Fähigkeit mit dem SBW auf dem Launchpad?
Ja - das ist der Fall. Die einzige Frage, die ich hatte, war, ob es einen gemauerten Chip retten könnte, und jsolarski scheint ja zu sagen.
@AngryEE - Danke, dass du zurückgekommen bist und dies bearbeitet hast. Tolle Antwort und tolles Dokument. Ich glaube nicht, dass ich darüber gestolpert wäre.
SBW auf dem Launchpad kann die Sicherheitssicherung nicht durchbrennen, daher benötigen Sie dafür einen separaten Programmierer, wenn Sie dies vorhaben
Der Link zu TI scheint unterbrochen zu sein. @Angry, wenn Sie noch dort sind, erinnern Sie sich an den Titel oder andere durchsuchbare Informationen zu dem Dokument, das Sie verlinkt haben?

Ich entwickle kundenspezifische MSP430-Lösungen, die auf Teradyne ICT laufen

Meiner Meinung nach ist SbW sicher nicht schneller. Es dauert 3 Taktzyklen, um 1 Bit von JTAG zu erreichen. Dann hatte jemand eine wirklich schlechte Idee, die RESET-Leitung die Daten übertragen zu lassen. Dann hat der RESET normalerweise mindestens 1nF Kapazität, was das Laden und Entladen noch langsamer macht.

Der SbW eignet sich gut für sehr kleine Blitze wie den MSP430G der Value-Serie, die nur wenige K Blitz zu programmieren haben. Aber für den MSP430F5XX und 6XX stellen Sie besser Konnektivität zum gesamten JTAG-Set bereit und widmen diese Pins der Programmierung, sonst werden Sie die Verwendung des SbW bereuen.