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?

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.


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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.