JTAG-Decodierung

Verstehen Sie JTAG?

21. Januar 2011, 11:45 Uhr | Von Joel Woodward und Peter Kasenbacher
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 1

JTAG-Decodierung mit dem Oszilloskop

Oszilloskophersteller bieten Anwendungs-Software, die das Protokoll auf erfassten Signalen decodiert. Mixed-Signal-Oszilloskope bieten zusätzlich Digitalkanäle, die sich auch für die Protokolldecodierung verwenden lassen. Das hat den Vorteil, dass dann die Analogkanäle für andere Zwecke frei bleiben. Alle namhaften Oszilloskophersteller bieten Protokolldecodierung für gängige Busse wie I2C, RS 232 und SPI an. Die entsprechenden Oszilloskop-Programme bringen oft sogar Triggermöglichkeiten auf Protokollebene mit.

Wie zuvor erläutert, stellt JTAG höhere Anforderungen an die Decodierung als jedes andere Protokoll. Zusätzlich müssen aber auch BSDL-Dateien (Boundary-Scan Description Language) verarbeitet werden. BSDL-Dateien sind Teil des IEEE-Standards und Teilmenge von VHDL (Very High Speed Integrated Circuit Hardware Description Language). Die IC-Hersteller liefern BSDL-Dateien für ihre ICs. Eine BSDL-Datei beschreibt eine Version eines ICs.

Bild 2 Setup Prozedur für das JTAG Protokoll jpg
Bild 2. Die Setup-Prozedur für das JTAG-Protokoll auf einem Oszilloskop der Familie Agilent Infiniium 9000 dauert etwa eine Minute.
© Agilent Technologies

In ihr sind die Register und die Opcodes der öffentlichen Befehle aufgeführt, die in einem JTAG-kompatiblen IC verwendet werden. Ein IC mag darüber hinaus weitere, nicht publizierte Befehle beherrschen, die stehen natürlich nicht in der BSDL-Datei. In der BSDL-Datei aufgeführt sind ein Befehlsregister, mindestens ein 1-bit-Bypass-Register, ein Boundary-Scan-Register und optional ein 32 bit großes Identifikationsregister. Alle Register, außer dem Befehlsregister, werden als Datenregister bezeichnet.

Um das JTAG-Protokoll sinnvoll decodieren zu können, muss das Oszilloskop für jedes Bauteil in der Scan-Kette die passende BSDL-Datei einlesen (Bild 2). Wenn für ein Bauteil keine solche Datei zur Verfügung steht, müssen das Bauteil auf „BYPASS“ gestellt und die Befehlslänge spezifiziert werden. Die BSDL-Dateien enthalten die Mnemonics der öffentlichen Befehle und die zugehörigen Binärwerte. Befehle, die eine BSDL-Datei nicht enthält, werden als „private“ Befehle bezeichnet. Ein Anwender, der private Befehle kennt, kann diese mittels Texteditor in der BSDL-Datei nachtragen.

Das JTAG-Decodierprogramm des Oszilloskops zeigt dann auch die nachgetragenen Befehle im Klartext an. Hat das JTAG-Decodierprogramm eines Oszilloskops Informationen aus BSDL-Dateien, wird das decodierte Protokoll für den Anwender erheblich informativer. Beispielsweise enthält das Listing dann Bauteilnamen – höchst wertvoll zum Verständnis des JTAG-Protokolls bei Scan-Ketten aus mehreren Bauteilen.

Bild 3 JTAG Decodierprogramm N8817A jpg
Bild 3. Das JTAG-Decodierprogramm N8817A für Infiniium-Oszilloskope ermöglicht die JTAG-Decodierung aus den Signalen TMS, TDI, TDO und TCK, die das Oszilloskop über die analogen oder digitalen Kanäle (bei MSOs) erfasst.
© Agilent

Oszilloskope können darüber hinaus bestimmte Fehler erkennen. Hierfür sind Informationen aus den BSDL-Dateien und die Kenntnis vom Aufbau der Scan-Kette erforderlich. Beispielsweise kann ein Oszilloskop einen Paketfehler anzeigen oder eine fehlerhafte Datenregister-Schiebelänge auf der TDO-Leitung, wenn die Zahl der geschobenen Bits nicht mit der Registerlänge im IR-Opcode übereinstimmt, oder auch dann, wenn ein herausgeschobener ID-Code nicht mit dem ID-Code in der BSDL-Datei übereinstimmt.

Die oszilloskopbasierte Decodierung von JTAG-Daten arbeitet mit einem Werkzeug, das die meisten Ingenieure bereits für andere Zwecke einsetzen und das somit bereits vorhanden ist. Das Oszilloskop-Programm (Bild 3) zur Decodierung des JTAGProtokolls erlaubt den Einsatz des Oszilloskops in unterschiedlichen Scan-Ketten in Echtzeit, sowohl in der physikalischen Schicht als auch in der Protokollschicht. Außerdem erlaubt es, die Aktivität auf dem JTAG-Bus zeitkorreliert mit anderen Ereignissen darzustellen. Das Decodierprogramm ermöglicht auch eine einfache Anpassung an neuere IEEE-Standards, die Messgeräten noch bessere Möglichkeiten bieten wie z.b. iJTAG (internal JTAG).

 

Die Autoren:

Joel Woodward

studierte Elektronik an der Brigham Young University und Betriebswirtschaft (MBA) an der Regis University. 1989 begann er bei Hewlett- Packard (jetzt Agilent Technologies) als Technical Support Engineer für Oszilloskope und Logik-Analysatoren. Seither konzentrierte er sich auf die Entwicklung neuer Mess- und Testsysteme für Forschungs- und Entwicklungsingenieure in der Elektronikindustrie. Innerhalb des GeschäftsbereichElectronic Design Automation und Test- und Messgeräte hatte er mehrere Führungspositionen inne. Aktuell ist er als Senior Product Manager im Geschäftsbereich Digital Test der Electronic Measurement Group für Oszilloskope verantwortlich. Er war an der Gründung von drei neuen Unternehmen innerhalb Agilents beteiligt und hält ein Patent über das Debuggen on FPGAs.  

joel_woodward@agilent.com


Peter Kasenbacher
ist als Product Line Manager für Oszilloskope bei Agilent Technologies für Europa, den Nahen Osten und Afrika zuständig.

peter_kasenbacher@agilent.com



  1. Verstehen Sie JTAG?
  2. JTAG-Decodierung mit dem Oszilloskop

Lesen Sie mehr zum Thema


Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu Keysight Technologies

Weitere Artikel zu Oszilloskope