Spy-Bi-Wire vs JTAG

9

Pracuję nad projektem MSP430 i jestem bardzo zaintrygowany dwuprzewodowym interfejsem programowania Spy-Bi-Wire . Z tego, co przeczytałem, jest bardzo podobny pod względem funkcjonalności do JTAG, a nawet w niektórych przypadkach wygląda lepiej (oczywiście mniej przewodów, ale także prędkość itp.).

Czy jest coś, do czego JTAG jest zdolny, a ja pominęłbym go, używając Spy-Bi-Wire (debugowanie, punkty przerwania, programowanie flash) i nie włączając standardowego 4-pinowego JTAG na mojej płytce?

Joel B.
źródło

Odpowiedzi:

12

Spy-Bi-Wire to JTAG - warstwa fizyczna jest po prostu inna. JTAG to zestaw poleceń nad interfejsem szeregowym. Głównym problemem jest układ, który debugujesz. Układ, który debugujesz, musi obsługiwać fantazyjne funkcje - nie tylko JTAG. I rzeczywiście, w własnej dokumentacji TI dla interfejsu JTAG na MSP430 wyjaśnia on, w jaki sposób jego układy scalone nie implementują w pełni wszystkich poleceń JTAG (sekcja 3.2, str. 67):

Obsługiwana jest tylko instrukcja BYPASS. Nie ma obsługi instrukcji SAMPLE, PRELOAD ani EXTEST.

Oto zabawna część: ponieważ Spy-Bi-Wire to tylko komunikacja szeregowa, wszystkie rzeczywiste fajne funkcje muszą zostać zaimplementowane w MSP430. Na przykład, ile masz punktów przerwania sprzętowego? Określane przez procesor, a nie przez JTAG, którego używasz. Większość MSP430 ma dwa, niektóre mają osiem.

AngryEE
źródło
Jak mogę nie być w stanie naprawić uszkodzonego układu, jeśli mogę zaprogramować flash za pomocą Spy-Bi-Wire? Czy Spy-Bi-wire nie pozwala na programowanie flash?
Joel B
1
SBW może wymusić wymazywanie lampy błyskowej na murowanych układach scalonych. Może także napisać twój program lub zmienić wartość pod określonym adresem we flashu
jsolarski
To dobrze wiedzieć - myślałem, że wymaga wyższych napięć i byłem w stanie wymusić wyczyszczenie układu tylko wtedy, gdy układ wspomagał. Myślę, że może ta funkcjonalność może nie być dostępna we wszystkich urządzeniach SBW? Zastanawiam się głównie nad implementacją na MSP430 Launchpad.
AngryEE
1
Szczerze mówiąc, nie wiem o układach z SBW i JTAG, ale myślę, że jest to jedna z funkcji SBW. Jeśli spojrzysz na opublikowany dokument TI, stwierdza on: „1.2.1.3 Interfejs JTAG Spy-Bi-Wire (SBW) 2-przewodowy Podstawowa logika JTAG zintegrowana z urządzeniami obsługującymi tryb 2-przewodowy jest identyczna jak tylko 4-przewodowa Zasadniczą różnicą jest to, że urządzenia 2-przewodowe implementują dodatkową logikę, która służy do wewnętrznej konwersji komunikacji 2-przewodowej na standardową komunikację 4-przewodową. W ten sposób można w pełni wykorzystać istniejącą metodologię emulacji JTAG MSP430. „
jsolarski
1
Jeśli chodzi o wyrzutnię, jest to w pełni sprawny programator SBW
jsolarski
1

Tworzę niestandardowe rozwiązanie MSP430, które działają na Teradyne ICT

Moim zdaniem SbW z pewnością nie jest szybszy. Aby wykonać 1 bit przez JTAG, potrzeba 3 cykli zegara. Wtedy ktoś miał naprawdę zły pomysł, aby linia RESET przenosiła dane. Wtedy RESET zwykle ma pojemność co najmniej 1nF, co sprawia, że ​​ładowanie i rozładowywanie jest jeszcze wolniejsze.

SbW nadaje się do bardzo małych flashów, takich jak MSP430G z serii Value, z programowaniem tylko kilku K flashów. Ale w przypadku MSP430F5XX i 6XX lepiej jest zapewnić łączność z całym zestawem JTAG i poświęcić te piny na programowanie, w przeciwnym razie pożałujesz używania SbW.

Dudley Hiller
źródło