06.04.2022 Aufrufe

2-2022

Fachzeitschrift für Elektronik-Produktion - Fertigungstechnik, Materialien und Qualitätsmanagement

Fachzeitschrift für Elektronik-Produktion - Fertigungstechnik, Materialien und Qualitätsmanagement

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

ERZÄHLE MIR MEHR ÜBER JTAG/BOUNDARY-SCAN!<br />

TDI<br />

TDO<br />

CPLD & PROM<br />

in-system<br />

programming<br />

Connector<br />

test-point<br />

and I/O testing<br />

Boundary-Scan, auch bekannt als<br />

JTAG oder IEEE Std. 1149.1, ist eine<br />

serielle Schnittstelle, die den Zugriff<br />

auf die spezielle eingebettete<br />

Logik ermöglicht, die in vielen der<br />

heutigen integrierten Schaltungen<br />

(ICs) implementiert ist.<br />

JTAG/Boundary-Scan ist eine<br />

schnelle und einfache Methode<br />

zur Prüfung von Fertigungsfehlern<br />

auf elektronischen Baugruppen<br />

oder PCBAs. Des Weiteren kommt<br />

das Verfahren sehr häufig zur<br />

Programmierung von IC’s, wie z.B.<br />

cPLDs, FPGAs oder Flash-Speicher<br />

auf der elektronischen Baugruppe,<br />

während des Fertigungs prozess<br />

oder später bei einem Software-/<br />

Firmware update, zum Einsatz.<br />

TESTEN VON VERBINDUNGEN<br />

Was ist ein Strukturtest?<br />

Betrachten Sie eine einfache<br />

Verbindung zwischen zwei<br />

Bausteine wie in Abbildung 2<br />

gezeigt, bei der ein Ausgangspin<br />

von Baustein A mit einem<br />

Eingangspin von Baustein B<br />

verbunden ist.<br />

Device A<br />

Core<br />

Core<br />

TAP<br />

Core<br />

TAP<br />

Cluster<br />

Device to device<br />

interconnection<br />

testing<br />

Um diese Verbindung zu testen,<br />

wollen Sie einen Wert am<br />

Ausgangspin von Baustein A<br />

treiben und dann prüfen, ob Sie<br />

Functional logic<br />

cluster testing<br />

Core<br />

TAP<br />

Core<br />

TAP<br />

Scan-path<br />

infrastructure<br />

testing<br />

Abbildung 1: PCBA mit JTAG/Boundary-Scan<br />

Device B<br />

Core<br />

Abbildung 2: Einfache Verbindung zwischen zwei Bausteine<br />

Memory cluster<br />

interconnection<br />

testing<br />

Flash Memory<br />

in-system<br />

programming<br />

RAM<br />

RAM<br />

RAM<br />

Flash<br />

diesen Wert auch am Eingangspin<br />

von Baustein B zurücklesen können.<br />

Diese Art des Testens kann für alle<br />

Verbindungen auf einem PCBA<br />

(Printed Circuit Board Assembly)<br />

durchgeführt werden und wird<br />

Strukturtest genannt.<br />

Die großen Vorteile eines Strukturtests<br />

sind:<br />

1. Sie wissen genau, welche<br />

Anschlüsse der PCBA getestet<br />

werden und welche nicht. Daher<br />

erhalten Sie eine Aussage,<br />

welcher Prozentsatz der Pins<br />

/ Netze getestet wird. Diesen<br />

Prozentsatz nennt man auch<br />

Fehlerabdeckung. Ein Wert,<br />

welcher natürlich so hoch als<br />

möglich liegen sollte.<br />

2. Nach dem Test wissen Sie sofort,<br />

welche Verbindungen fehlerfrei<br />

sind und welche nicht. Sie<br />

erhalten somit eine sofortige<br />

Fehlerdiagnose.<br />

3. Die Vorbereitung des Tests<br />

ist einfach, da Sie nur wissen<br />

müssen, welche Verbindungen<br />

auf der Baugruppe bestehen<br />

(Netzliste). Die Funktionalität der<br />

entsprechenden Bausteine ist<br />

für diesen Test nicht relevant.<br />

Beachten Sie, dass auch bei<br />

der Fehlersuche im Bereich der<br />

Inbetriebnahme von Prototypen<br />

oder bei der Reparatur einer<br />

Baugruppe dieser Strukturtest<br />

bereits heute sehr häufig zum<br />

Einsatz kommt. Denn was tun Sie,<br />

wenn ein physikalischer Zugang auf<br />

beiden Seiten besteht?<br />

Sie prüfen diese Verbindung mit<br />

einem Multimeter, indem Sie diese<br />

Verbindung Durchklingeln oder<br />

-piepsen.<br />

BOUNDARY-SCAN<br />

Grundgedanke<br />

Der Grundgedanke hinter<br />

Boundary-Scan besteht darin, dass<br />

Sie keinen externen Zugriff auf die<br />

zu testenden Pin-Verbindungen<br />

benötigen. Mit Boundary Scan<br />

können Sie den Ausgangspin von<br />

Baustein A mit der implementierten<br />

Treiberzelle (D) von innen nach<br />

außen treiben und das Ergebnis am<br />

Eingangspin von Baustein B mit der<br />

implementierten Sense-Zelle (S)<br />

ablesen (Abbildung 3).<br />

Device A<br />

Core<br />

D<br />

Device B<br />

Core<br />

Abbildung 3: Hinzufügen von Treiber- und Sense-Zellen<br />

am Pin für Testzwecke<br />

Diese Drive- und Sense-Zellen<br />

sollten unabhängig von der<br />

Funktionalität (Kern) des Bausteins<br />

sein. Um dies zu realisieren, werden<br />

intern Multiplexer verwendet.<br />

Dieser definiert, ob der Pin mit<br />

der entsprechenden D/S Zelle<br />

(Testmodus) oder mit dem Kern<br />

(Funktionsmodus) verbunden ist.<br />

Core<br />

D/S cell<br />

Mux<br />

Select<br />

Die Zellen können aus einfachen<br />

Logikelementen wie Flip-Flops<br />

aufgebaut werden. Durch<br />

Hinzufügen von D/S Zellen an<br />

allen Bausteinpins und der Reihenschaltung<br />

dieser Zellen, entsteht ein<br />

Schieberegister entlang der Grenze/<br />

Boundary (Pins) des Chips: dies wird<br />

als Boundary-Scan-Register (BSR)<br />

bezeichnet, Abbildung 5.<br />

S<br />

Pin<br />

Abbildung 4: Multiplexer-Konfiguration; Treiber- und<br />

Lesezellen unabhängig von der Funktionalität des Bausteins<br />

Device A<br />

Core<br />

TDI TMS TCK TDO<br />

Device B<br />

Core<br />

TDI TMS TCK TDO<br />

Abbildung 5: Schieberegister entlang der<br />

Boundary (Pins) eines Chips<br />

Mit dem seriellen Dateneingangspin,<br />

der TDI (Test Data In) genannt<br />

wird, und einem seriellen Datenausgangspin,<br />

dem TDO (Test Data<br />

Out), können wir nun alle Pins eines<br />

Chips über sein Boundary-Scan-<br />

Register erreichen. Ein Taktsignal,<br />

der sogenannte TCK (Test Clock),<br />

wird verwendet, um Daten durch das<br />

Boundary-Scan-Register zu schieben,<br />

während das TMS-Signal (Test<br />

Mode Select) die Multiplexer an den<br />

Bausteinpins steuert.<br />

Die Signale TCK, TMS, TDI und<br />

TDO bilden zusammen die<br />

Testschnittstelle des Chips, die<br />

als JTAG-Schnittstelle oder TAP<br />

(Test Access Port) bekannt ist.<br />

Die Boundary-Scan-Register der<br />

Bausteine auf einem PCBA werden<br />

nun in Reihe geschaltet, indem<br />

das TDO des einen Bausteins mit<br />

dem TDI des nächsten Bausteins<br />

verbunden wird. TCK und TMS<br />

werden parallel an alle Bausteine<br />

angeschlossen. Dadurch ergibt<br />

sich eine Boundary-Scan-Kette auf<br />

der Baugruppe mit einem einzigen<br />

TAP für die gesamte Kette.<br />

Kompletter Aufbau<br />

Um die Nutzung der Schnittstelle<br />

nicht nur auf den Zugriff<br />

des Boundary-Scan-Register<br />

zu beschränken, wurde ein<br />

Mechanismus entwickelt, der auch<br />

den Zugriff auf andere Register<br />

über den TAP ermöglicht. Das<br />

Boundary-Scan-Register und alle<br />

anderen Register werden als Datenregister<br />

(DR) bezeichnet. Um auf<br />

die verschiedenen Datenregister<br />

zuzugreifen, wird ein weiteres<br />

Register, das Instruction Register<br />

(IR), verwendet. Auch auf das IR wird<br />

über die TDI- und TDO-Pins des<br />

Chips zugegriffen.<br />

Durch das Laden eines Befehls/<br />

Instruktion in das IR wird ein<br />

bestimmtes DR ausgewählt. Ein<br />

TAP-Controller wählt zwischen dem<br />

Zugriff auf das IR oder auf das durch<br />

den Befehl im IR ausgewählte DR.<br />

Der TAP-Controller ist eine State<br />

Machine (Zustandsdiagramm),<br />

deren Zustandsübergänge von TMS<br />

gesteuert werden.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!