JTAG: Pin-Konfiguration, Funktion, Protokollanalysator, Timing-Diagramm und seine Anwendungen

Versuchen Sie Unser Instrument, Um Probleme Zu Beseitigen





JTAG (Joint Test Action Group) ist ein etablierter IEEE 1149.1-Standard, der im Jahr 1980 entwickelt wurde, um die Herstellungsprobleme zu lösen, die bei elektronischen Platinen oder Platinen auftraten Leiterplatten . Diese Technologie wird verwendet, um genügend Testzugriff für jede komplexe Platine bereitzustellen, wenn der Testzugriff abnahm. So wurde die Boundary-Scan-Technologie ins Leben gerufen & der JTAG-Standard bzw JTAG-Spezifikation ist festgelegt. Die Komplexität der Elektronik hat von Tag zu Tag zugenommen, sodass die JTAG-Spezifikation zum akzeptierten Testformat zum Testen komplizierter und kompakter Elektronikeinheiten geworden ist. Dieser Artikel beschreibt einen Überblick über a JTAG Protokoll – Arbeiten mit Anwendungen.


Was ist JTAG?

Der Name, der dem IEEE 1149.1 Standard Test Access Port sowie der Boundary-Scan-Architektur gegeben wird, ist als JTAG (Joint Test Action Group) bekannt. Diese Boundary-Scan-Architektur wird hauptsächlich in Computern verwendet Prozessoren weil der erste Prozessor mit JTAG von Intel veröffentlicht wurde. Dieser IEEE-Standard definiert einfach, wie die Schaltung eines Computers getestet wird, um zu bestätigen, ob er nach dem Herstellungsverfahren korrekt funktioniert. Auf den Leiterplatten werden Tests durchgeführt, um die Lötstellen zu überprüfen.



  JTAG
JTAG

Die Joint Test Action Group bietet Testern mit jedem IC-Pad eine Pinbelegungsansicht, die bei der Identifizierung von Fehlern auf einer Leiterplatte hilft. Sobald dieses Protokoll mit einem Chip verbunden ist, kann dieses eine Sonde an den Chip anbringen, indem es einem Entwickler ermöglicht wird, den Chip sowie seine Verbindungen mit anderen Chips zu steuern. Die Schnittstelle mit der Joint Test Action-Gruppe kann auch von Entwicklern zum Kopieren der Firmware in einen nichtflüchtigen Speicher in einem elektronischen Gerät verwendet werden.

Konfiguration/Pinbelegung

Die Joint Test Action Group umfasst 20 Pins, wobei jeder Pin und seine Funktion unten besprochen werden.



  JTAG-Pinbelegung
JTAG-Pinbelegung

Pin1 (VTref): Dies ist der Ziel-Referenzspannungs-Pin, der zum Anschluss an die Hauptstromversorgung des Ziels verwendet wird, die von 1,5 bis 5,0 VDC reicht.

Pin2 (VVersorgung): Dies ist die Zielversorgungsspannung, die verwendet wird, um die Hauptspannungsversorgung von Ziel 1,5 VDC – 5,0 VDC anzuschließen.

Pin3 (nTRST): Dies ist ein Test-Reset-Pin, der verwendet wird, um die Zustandsmaschine des TAP-Controllers zurückzusetzen.

Stifte (4, 6, 8, 10, 12, 14, 16, 18 & 20): Dies sind gemeinsame GND-Pins.

Pin5 (TDI): Dies sind Testdaten im Stift. Diese Daten werden in das Zielgerät verschoben. Dieser Stift muss in einem definierten Zustand auf der Zieltafel hochgezogen werden.

Pin7 (TMS): Dies ist der Testmodus-Zustandsstift, der gezogen wird, um den nächsten Zustand der Zustandsmaschine des TAP-Controllers zu bestimmen.

Pin9 (TCK): Dies ist ein Testtaktstift, der die internen Zustandsmaschinenoperationen im TAP-Controller synchronisiert.

Pin11 (RTCK): Dies ist der Input Return TCK-Pin, der in Geräten verwendet wird, die adaptive Taktung unterstützen.

Pin13 (TDO): Dies ist der Test Data Out-Pin, sodass die Daten aus dem Zielgerät in den Flyswatter verschoben werden.

Pin15 (nSRST): Dies ist der Zielsystem-Reset-Pin, der mit dem Haupt-Reset-Signal des Ziels verbunden ist.

Stifte 17 & 19 (Öffner): Dies sind nicht verbundene Pins.

JTAG funktioniert

Die ursprüngliche Verwendung des JTAG ist das Grenztesten. Hier ist eine einfache Leiterplatte mit zwei ICs wie CPU & FPGA . Eine typische Platine kann viele ICs enthalten. Im Allgemeinen enthalten ICs viele Pins, die gemeinsam mit vielen Anschlüssen verbunden sind. Hier, im folgenden Diagramm, sind nur vier Verbindungen dargestellt.

  Elektronische Platine mit zwei ICs
Elektronische Platine mit zwei ICs

Wenn Sie also viele Platinen entwerfen, bei denen jede Platine Tausende von Verbindungen hat. Darin gibt es einige schlechte Boards. Wir müssen also prüfen, welches Board funktioniert und welches nicht. Dafür wurde die Joint Test Action Group konzipiert.

  JTAG mit elektronischer Platine
JTAG mit elektronischer Platine

Dieses Protokoll kann die Steuerpins aller Chips verwenden, aber im folgenden Diagramm wird die Joint Test Action Group alle Ausgangspins der CPU und alle Eingangspins des FPGA erstellen. Danach gibt JTAG durch Übertragen einiger Datenmengen von den Pins der CPU und Lesen der Werte der Pins vom FPGA an, dass die Verbindungen der Leiterplatte in Ordnung sind.

Tatsächlich umfasst die Joint Test Action Group vier Logiksignale TDI, TDO, TMS & TCK. Und diese Signale müssen auf eine bestimmte Weise verbunden werden. Zunächst werden TMS & TCK parallel zu allen ICs von JTAG geschaltet.

  TMS- und TCK-Verbindung
TMS- und TCK-Verbindung

Danach werden sowohl der TDI als auch der TDO verbunden, um eine Kette zu bilden. Wie Sie sehen können, enthält jeder JTAG-kompatible IC 4 Pins, die für JTAG verwendet werden, wobei 3 Pins Eingänge und der 4. Pin Ausgang sind. Der fünfte Pin wie TRST ist optional. Normalerweise werden die JTAG-Pins nicht für andere Zwecke geteilt.

  Anschlüsse von TDI & TDO
Anschlüsse von TDI & TDO

Durch die Verwendung der Joint Test Action Group verwenden alle ICs Grenztests, deren ursprünglicher Grund von JTAG erstellt wurde. Derzeit wurde die Verwendung dieses Protokolls erweitert, um verschiedene Dinge wie die Konfiguration von FPGAs zu ermöglichen, und danach wird JTAG im FPGA-Kern zu Debugging-Zwecken verwendet.

JTAG-Architektur

Die JTAG-Architektur ist unten gezeigt. In dieser Architektur werden alle Signale zwischen der Kernlogik des Geräts und den Pins durch einen seriellen Scan-Pfad namens BSR oder Boundary Scan Register unterbrochen. Dieser BSR enthält verschiedene Boundary-Scan-„Zellen“. Im Allgemeinen sind diese Boundary-Scan-Zellen nicht sichtbar, aber sie können zum Setzen oder Lesen von Werten im Testmodus von den Gerätepins verwendet werden.

  JTAG-Architektur
JTAG-Architektur

Die als TAP oder Test Access Port bezeichnete JTAG-Schnittstelle verwendet verschiedene Signale zur Unterstützung des Boundary-Scan-Vorgangs wie TCK, TMS, TDI, TDO und TRST.

  • Das TCK- oder Testtaktsignal synchronisiert einfach die internen Operationen einer Zustandsmaschine.
  • Das TMS- oder Testmodus-Auswahlsignal wird an der ansteigenden Flanke eines Testtaktsignals abgetastet, um den nächsten Zustand zu bestimmen.
  • Das TDI- oder Test Data In-Signal bezeichnet die verschobenen Daten in die Testvorrichtung, ansonsten Programmierlogik. Sobald sich die innere Zustandsmaschine im richtigen Zustand befindet, wird sie an der ansteigenden Flanke von TCK abgetastet.
  • Das TDO- oder Test Data Out-Signal bezeichnet die herausgeschobenen Daten der Testvorrichtung, ansonsten Programmierlogik. Sobald sich die innere Zustandsmaschine im richtigen Zustand befindet, ist sie an der abfallenden Flanke von TCK gültig
  • TRST oder Test Reset ist ein optionaler Pin, der verwendet wird, um die Zustandsmaschine des TAP-Controllers zurückzusetzen.

TAP-Controller

Der Testzugriffspunkt in der JTAG-Architektur besteht aus einem TAP-Controller, einem Befehlsregister und Testdatenregistern. Dieser Controller enthält die Testzustandsmaschine, die für das Lesen der TMS- und TCK-Signale verantwortlich ist. Hier wird der Daten-I/P-Pin einfach verwendet, um Daten in die Grenzzellen zwischen dem IC-Kern und den physikalischen Pins zu laden und auch Daten in eines der Datenregister oder in das Befehlsregister zu laden. Der Daten-o/p-Pin wird zum Lesen von Daten entweder aus den Registern oder den Grenzzellen verwendet.

Die Zustandsmaschine des TAP-Controllers wird vom TMS gesteuert und vom TCK getaktet. Die Zustandsmaschine verwendet zwei Pfade, um zwei verschiedene Modi wie den Befehlsmodus und den Datenmodus zu kennzeichnen.

Register

Innerhalb von Boundary Scan sind zwei Arten von Registern verfügbar. Jedes konforme Gerät enthält mindestens zwei oder mehr Datenregister und ein Befehlsregister.

Befehlsregister

Das Befehlsregister wird verwendet, um den aktuellen Befehl zu halten. Seine Daten werden also vom TAP-Controller verwendet, um zu entscheiden, was mit den erhaltenen Signalen ausgeführt werden soll. Am häufigsten beschreiben die Befehlsregisterdaten, zu welchen der Datenregister Signale geleitet werden müssen.

Datenregister

Die Datenregister sind in drei Typen verfügbar: BSR (Boundary Scan Register), BYPASS- und ID CODES-Register. Und es können auch andere Datenregister vorhanden sein, die jedoch als Element des JTAG-Standards nicht notwendig sind.

Boundary-Scan-Register (BSR)

BSR ist das Haupttestdatenregister, das verwendet wird, um Daten von und zu den I/O-Pins des Geräts zu verschieben.

BYPASS

Bypass ist ein Ein-Bit-Register, das verwendet wird, um Daten von TDI – TDO zu übergeben. So können zusätzliche Geräte innerhalb einer Schaltung mit minimalem Overhead getestet werden.

ID-CODES

Diese Art von Datenregister enthält den ID-Code sowie die Revisionsnummer für das Gerät. Mit diesen Daten kann das Gerät also mit seiner BSDL-Datei (Boundary Scan Description Language) verbunden werden. Diese Datei enthielt die Boundary-Scan-Konfigurationsdetails für das Gerät.

Die Funktionsweise von JTAG besteht zunächst darin, dass der Befehlsmodus ausgewählt wird, in dem einer der Zustände in diesem Modus „Pfad“ den Operator innerhalb einer Anweisung durch TDI takten lässt. Danach entwickelt sich die Zustandsmaschine, bis sie sich neu anordnet. Der nächste Schritt für die meisten Anweisungen ist die Auswahl des Datenmodus. In diesem Modus werden die Daten also über TDI geladen, um von TDO zu lesen. Für TDI & TDO werden die Datenpfade in Übereinstimmung mit dem eingetakteten Befehl angeordnet. Sobald die Lese-/Schreiboperation abgeschlossen ist, entwickelt sich die Zustandsmaschine wieder in den Rücksetzzustand.

Unterschied zwischen JTAG Vs UART

Der Unterschied zwischen JTAG und UART umfasst Folgendes.

JTAG

UART

Der Begriff „JTAG“ steht für Joint Test Action Group. Der Begriff ' UART “ steht für Universal Asynchronous Receiver/Transmitter.
Es ist eine synchrone Schnittstelle, die eingebaute Hardware zum Programmieren des Flash verwendet . UART ist eine asynchrone Schnittstelle, die einen Bootloader verwendet, der im Speicher läuft.
Es handelt sich um eine Reihe von Testports, die zum Debuggen verwendet werden, aber auch zum Programmieren von Firmware verwendet werden können (was häufig der Fall ist).

UART ist eine Art Chip, der die Kommunikation zu und von einem Gerät steuert, z. B. einem Mikrocontroller, ROM, RAM usw. Meistens handelt es sich um eine serielle Verbindung, die es uns ermöglicht, mit einem Gerät zu kommunizieren.
Diese sind in vier Typen TDI, TDO, TCK, TMS & TRST erhältlich. Diese sind in zwei Typen verfügbar: dummer UART und FIFO-UART.
Die Joint Test Action Group ist ein serielles Programmier- oder Datenzugriffsprotokoll, das bei der Anbindung von Mikrocontrollern und verwandten Geräten verwendet wird. Ein UART ist eine Art Chip, ansonsten eine Unterkomponente des Mikrocontrollers, die verwendet wird, um die Hardware zum Erzeugen eines asynchronen seriellen Stroms wie RS-232/RS-485 bereitzustellen.
JTAG-Komponenten sind Prozessoren, FPGAs, CPLDs , etc. UART-Komponenten sind CLK-Generator, E/A-Schieberegister, Sende- oder Empfangspuffer, Systemdatenbuspuffer, Lese- oder Schreibsteuerlogik usw.

JTAG-Protokollanalysator

Der JTAG-Protokollanalysator wie PGY-JTAG-EX-PD ist eine Art von Protokollanalysator, der einige Funktionen zum Erfassen und Debuggen der Kommunikation zwischen Host und zu testendem Design enthält. Diese Art von Analysator ist das führende Instrument, das es den Test- und Designingenieuren ermöglicht, die speziellen JTAG-Designs auf ihre Spezifikationen zu testen, indem das PGY-JTAG-EX-PD wie Master oder Slave eingerichtet wird, um JTAG-Verkehr zu generieren und die Decodierpakete zu decodieren Protokoll der Joint Test Action Group.

  Protokollanalysator
Protokollanalysator

Merkmale

Zu den Merkmalen des JTAG-Protokollanalysators gehören die folgenden.

  • Es unterstützt bis zu 25 MHz JTAG-Frequenzen.
  • Es generiert gleichzeitig JTAG-Verkehr und Protokolldecodierung für den Bus.
  • Es verfügt über JTAG-Master-Fähigkeit.
  • Variable JTAG-Datengeschwindigkeiten und Arbeitszyklus.
  • Benutzerdefinierte TDI- und TCK-Verzögerungen.
  • USB 2.0- oder 3.0-Schnittstelle des Host-Computers.
  • Fehleranalyse innerhalb der Protokolldecodierung
  • Protokolldecodiertes Bus-Timing-Diagramm.
  • Kontinuierliches Streaming von Protokolldaten zum Host-Computer zur Bereitstellung eines großen Puffers.
  • Liste der Protokollaktivitäten.
  • Bei verschiedenen Geschwindigkeiten kann ein Übungsskript geschrieben werden, um die Generierung mehrerer Datenrahmen zu kombinieren.

Zeitdiagramm

Das Zeitdiagramm des JTAG Protokoll ist unten dargestellt. Im folgenden Diagramm bleibt der TDO-Pin im Hochimpedanzzustand, außer während eines Shift-IR/Shift-DR-Controller-Zustands.
In den Shift-IR- und Shift-DR-Controller-Bedingungen wird der TDO-Pin bei der fallenden Flanke von TCK bis Target aktualisiert und bei der steigenden Flanke von TCK bis Host abgetastet.

Sowohl die TDI- als auch die TMS-Pins werden einfach an der ansteigenden Flanke von TCK durch Target abgetastet. Aktualisiert auf der abfallenden Flanke, andernfalls TCK durch Host.

  JTAG-Timing-Diagramm
JTAG-Timing-Diagramm

Anwendungen

Das JTAG-Anwendungen füge folgendes hinzu.

  • Gemeinsame Testaktionsgruppen werden häufig in Prozessoren verwendet, um das Zugangsrecht zu ihren Emulations- oder Debug-Funktionen bereitzustellen.
  • Alle CPLDs und FPGAs verwenden dies als Schnittstelle, um Zugriff auf ihre Programmierfunktionen zu erhalten.
  • Es wird zum Testen von Leiterplatten ohne physischen Zugang verwendet
  • Es wird für Fertigungstests auf Platinenebene verwendet.

Es geht also um alles eine Übersicht über JTAG – Pin-Konfiguration, Arbeiten mit Anwendungen. Der Industriestandard JTAG wird zur Designverifizierung sowie zum PCB-Test nach der Fertigung verwendet. Hier ist eine Frage an Sie, steht JTAG für?