Technischer Leitfaden für JTAG

Dieses Dokument bietet Ihnen interessante Hintergrundinformationen über die Technologie, die XJTAG zugrunde liegt. Um das XJTAG-Entwicklungssystem nutzen zu können, müssen Sie jedoch nichts davon wissen, da XJTAG-Tests in einer höheren Programmiersprache entwickelt wurden, die keinerlei Kenntnisse über die detaillierte Funktionsweise von JTAG erfordert.

Einführung

Fortschritte im Silizium-Design wie die Erhöhung der Komponentendichte und, in jüngster Zeit, die verwendeten BGA-Gehäuse, haben die Effizienz traditioneller Prüfmethoden reduziert.

Um diese Probleme zu überwinden, haben sich einige der weltweit führenden Siliziumhersteller zusammengeschlossen, um die Joint Test Action Group zu bilden. Die Ergebnisse und Empfehlungen dieser Gruppe wurden als Grundlage für das Institut für Elektro- und Elektronik-Ingenieure (IEEE) Standard 1149.1: Standard Test Access Port und Boundary-Scan-Architecture verwendet. Dieser Standard hat seine Verbindung zur Gruppe beibehalten und ist allgemein bekannt unter dem Akronym JTAG.

Boundary-Scan

Der größte Vorteil der Verwendung der Boundary-Scan-Technologie ist die Möglichkeit, ohne direkten physikalischen Zugriff Werte auf Pins festzulegen und zu lesen.

Schematic Diagram of a JTAG enabled device

Abbildung 1 – Schematische Darstellung eines JTAG-fähigen Geräts

Der Vorgang des Boundary-Scans kann am einfachsten unter Bezugnahme auf das in Abbildung 1 gezeigte schematische Diagramm verstanden werden..

Alle Signale zwischen der Core-Logik des Geräts und den Pins werden von einer seriellen Abfrageleitung abgefangen, die als Boundary-Scan-Register (BSR) bekannt ist und aus einer Anzahl von Boundary-Scan-„Zellen“ besteht. Im Normalbetrieb sind diese Boundary-Scan-Zellen unsichtbar, im Testmodus können sie jedoch zum Einstellen und/oder Lesen von Werten aus den Gerätepins (oder im „internen“ Modus aus Werten der Core-Logik) verwendet werden. Nicht alle Boundary-Scan-Zellen sind gleich – es gibt zehn Typen von Zellen in den 1149.1-Standards, obwohl Hersteller, wenn sie dies wünschen, nicht-Standard-Zelltypen definieren können, um der tatsächlichen Hardware-Funktionalität des Gerätes zu entsprechen.

Schnittstellensignale

Die JTAG-Interface, die gemeinhin als Test-Access-Port oder TAP bekannt ist, verwendet folgende Signale, um den Betrieb des Boundary-Scans zu unterstützen.

  • TCK (Test Clock/Prüftakt) – dieses Signal synchronisiert die Ausführung der internen Zustandsmaschine.
  • TMS (Test Mode Select/Testmoduswahl) – dieses Signal wird an der steigenden Flanke des TCKs abgetastet, um den nächsten Zustand zu bestimmen.
  • TDI (Test Data In) – dieses Signal repräsentiert die Daten, die in die Test- oder Programmierlogik des Gerätes verschoben wurden. Es wird an der steigenden Flanke des TCKs abgetastet, wenn die interne Zustandsmaschine im korrekten Zustand ist.
  • TDO (Test Data Out) – dieses Signal repräsentiert die Daten, die aus der Test- oder Programmierlogik des Gerätes verschoben werden und gilt an der fallenden Flanke des TCKs, wenn die interne Zustandsmaschine im korrekten Zustand ist.
  • TRST (Test Reset) – dieser Pin ist optional und kann, falls verfügbar, die Zustandsmaschine des TAP-Controllers zurücksetzen.

Register

Es gibt zwei Arten von Registern, die mit Boundary-Scan verknüpft sind. Jede konforme Vorrichtung weist ein Befehlsregister und zwei oder mehr Datenregister auf.

Befehlsregister – das Befehlsregister enthält aktuelle Anweisungen. Sein Inhalt wird vom TAP-Controller verwendet, um zu entscheiden, was mit empfangenen Signalen zu tun ist. Am häufigsten wird mit dem Inhalt des Befehlsregisters festgelegt, an welche Datenregister die Signale übergeben werden sollen.

Datenregister – es gibt drei primäre Datenregister, das Boundary-Scan-Register (BSR), das BYPASS-Register und das IDCODES-Register. Andere Datenregister können vorhanden sein, sind aber nicht als Teil des JTAG-Standards erforderlich.

  • BSR – das wichtigste Prüfdatenregister. Es wird verwendet, um Daten zu und von den I/O-Pins eines Geräts zu verschieben.
  • BYPASS – ist ein Ein-Bit-Register, das Informationen von TDI an TDO übergibt. Es ermöglicht andere Geräte einer Schaltung mit minimalem Zeitaufwand zu testen.
  • IDCODES – dieses Register enthält den ID-Code und die Revisionsnummer für das Gerät. Mit dieser Information kann das Gerät mit der BSDL-Datei (Boundary Scan Description Language) verknüpft werden. Die Datei enthält Details zur Boundary-Scan-Konfiguration der Komponente.

Test-Access-Port (TAP)-Controller

Der TAP-Controller, eine Zustandsmaschine, deren Übergänge vom TMS-Signal gesteuert werden, steuert das Verhalten des JTAG-Systems. Abbildung 2, unten, zeigt das Zustandsübergangsdiagramm.

TAP State machine

Abbildung 2 – TAP-Zustandsmaschine

Alle Zustände haben zwei Ausgänge, so dass alle Übergänge durch ein einzelnes TMS-Signal gesteuert werden können, das auf TCK abgetastet wird. Die beiden Hauptpfade erlauben das Einstellen oder Abrufen von Informationen aus einem Datenregister oder dem Befehlsregister des Gerätes. Das betriebene Datenregister (z. B. BSR, IDCODES, BYPASS) hängt von dem in das Befehlsregister geladenen Wert ab.

Weitere Einzelheiten zu jedem Zustand finden Sie im IEEE 1149.1-Standard-JTAG-Dokument.

Anleitung Boundary-Scan

Die IEEE 1149.1-Norm definiert einen Satz von Anweisungen, die für ein zu verwendendes Gerät verfügbar sein müssen. Diese Anweisungen lauten:

  • BYPASS – diese Anweisung bewirkt, dass die TDI- und TDO-Leitungen über ein Ein-Bit-Durchlauf-Register (das BYPASS-Register) verbunden sind. Diese Anleitung ermöglicht das Testen anderer Geräte in der JTAG-Kette ohne unnötigen Zeitaufwand.
  • EXTEST – diese Anweisung bewirkt, dass der TDI und der TDO mit dem Boundary-Scan-Register (BSR) verbunden sind. Die Pin-Zustände des Gerätes werden mit dem „capture dr“-JTAG-Zustand abgetastet und neue Werte werden mit dem „shift dr“ -Zustand in den BSR verschoben. Diese Werte werden dann mit dem „update dr“-Zustand auf die Pins des Gerätes angewendet.
  • SAMPLE/PRELOAD – diese Anweisung bewirkt, dass der TDI und der TDO mit dem BSR verbunden sind. Das Gerät bleibt jedoch in seinem normalen Funktionsmodus. Während dieser Anweisung kann auf das BSR durch einen Datenabtastvorgang zugegriffen werden, um eine Probe der Funktionsdaten zu erfassen, die in das Gerät eingehen und es verlassen. Die Anweisung wird auch verwendet, um Testdaten in das BSR vor dem Laden einer EXTEST-Anweisung vorzuladen.

Andere häufig verfügbare Anweisungen sind:

  • IDCODE – diese Anweisung bewirkt, dass der TDI und der TDO mit dem IDCODE-Register verbunden sind.
  • INTEST – diese Anweisung bewirkt, dass die TDI- und TDO-Leitungen mit dem Boundary-Scan-Register (BSR) verbunden sind. Während die EXTEST-Anweisung es dem Benutzer erlaubt, Pin-Pegel einzustellen und zu lesen, bezieht sich die INTEST-Anweisung auf die Core-Logiksignale eines Gerätes.

Erhalten des IEEE 1149.1-Standards

Die IEEE 1149.1 Standard-JTAG-Spezifikation kann direkt bezogen werden:

http://standards.ieee.org

Andere Quellen (In englischer Sprache)

Test-Design-Techniken

Design for Test (DFT)-Leitfaden

Vorschläge zur Verbesserung von Leiterplattentestbarkeit


Design for Test, Ball Grid Array, JTAG Verbindungstest, In-System-Programmierung

Allgemeiner Leitfaden für JTAG

Erfahren Sie, was JTAG kann


Was ist JTAG?

Was ist JTAG?

Und wie kann ich es anwenden?


XJTAG erweitert die Möglichkeiten von JTAG

JTAG-Testen mit XJTAG

XJTAG erweitert die Möglichkeiten von JTAG


Boundary-Scan Description Language

Boundary-Scan Description Language (BSDL)-Datei

Links zu den Webseiten der Hersteller


Memory testing

Testen von Nicht-JTAG-Komponenten


JTAG, SVF

Serial Vector Format (SVF)-Datei

Want to be the first to know of new eBooks and JTAG Resources?

Find out how XJTAG can help you test your PCB faster
From Prototype To Manufacture