2-2022
Fachzeitschrift für Elektronik-Produktion - Fertigungstechnik, Materialien und Qualitätsmanagement
Fachzeitschrift für Elektronik-Produktion - Fertigungstechnik, Materialien und Qualitätsmanagement
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.