Sie sind hier: HomeRubrikenMesstechnik / Sensorik

News, Produkte, Fachartikel zu Embedded-Systemen: Echtzeitbetriebssysteme, Computer-Boards/Systeme, Erweiterungskarten, Entwicklungstools

Boundary-Scan-Test: Komplexe Leiterplatten erfordern alternative Testmethoden

Die zunehmende Komplexität von Medizingeräten hat die Verwendung von BGA-Baugruppen vorangetrieben. Der physische Zugriff auf die Pins eines ICs ist heutzutage oft unmöglich, sodass Methoden zur Fehlersuche neu bewertet werden müssen.

Testen mit JTAG Bildquelle: © XJTAG

Testen mit JTAG

Seit Willem Einthoven im Jahr 1903 den ersten kommerziellen Elektrokardiographen vorgestellt hat, ermöglichen stetige Fortschritte in der Elektronik, dass Systeme kleiner, leichter und mobiler gebaut werden können. Aus dem ersten, unhandlichen Gerät, bei dem ein Patient mit den Händen und einem Fuß in Eimern mit Salzlösung sitzen musste, entwickelten sich die modernen EKG-Geräte: Kleine mobile Boxen, die per USB an einen PC angeschlossen werden. Herzschrittmacher sind längst implantierbar und ihre lebenswichtige Funktion stützt sich auf winzige Platinen mit Mikrocontrollern, Speichern und digitaler Signalverarbeitung, welche bessere Diagnoseanalysen, adaptive Reaktionen und Programmierbarkeit bieten.

Dieser Trend – hin zu kleineren und komplexeren Baugruppen – stellte Medizingerätehersteller vor neue Herausforderungen. Die Einführung von Ball-Grid-Array-Baugruppen (BGA) in den 1990er Jahren hat zwar die Größenreduzierung ermöglicht, sie brachte jedoch auch neue Schwierigkeiten mit sich: Plötzlich war es nicht mehr möglich, auf jeden Pin einer integrierten Schaltung (IC) zuzugreifen, die Sichtprüfung konnte nicht länger alle Lötkurzschlüsse lokalisieren und Netze wurden oft unzugänglich.

Mangelnder physischer Zugriff auf Pins kann die meisten Debug-Versuche verhindern. Der Board-Designer hat zwar möglicherweise ausgewählte Signale auf die Test-Pads gebracht, dies kann jedoch nicht für alle Netze passieren und viele Spuren verlaufen direkt zwischen zwei BGAs auf den inneren Schichten, ohne auch nur ein zugängliches Kontaktloch passieren zu müssen. Der unüberlegte Ansatz, bei dem ein BGA-Lötfehler vermutet wird, besteht darin, blindlings zu versuchen, die Platine erneut zu verfließen. Eine Alternative ist, dass ein erfahrener Röntgenmaschinist jeden Pin methodisch untersucht, bis er einen Riss, Kurzschluss oder einen Lötpunkt entdeckt, der nicht ausreichend fließt. Wenn dies dazu führt, dass ein Board zu Überprüfungen außer Haus gesendet werden muss, verlängert sich der Reparaturprozess nicht selten um Tage. Diese Herausforderungen werden von sich stets verkleinernden Leiterplattengrößen begleitet, was dazu führt, dass noch weniger Platz für Testpads zur Verfügung steht. Dies zwingt Ingenieure, neue Wege zu finden, um Design for Testability (DFT) zu erreichen und führt zur vermehrten Einführung von Boundary-Scan-Tests.

XJTAG Bildquelle: © XJTAG

Bild 1. Boundary-Scan-Implementierung.

Zugriff auf unzugängliche Stellen

Im Jahr 1985 setzt sich die Joint Test Action Group (JTAG) zum ersten Mal mit fehlenden Testzugängen auseinander. Aus dem Logikaufbau, den sie für ICs entwickeln, entsteht später der Standard IEEE 1149.1, der den Boundary-Scan-Test für digitale integrierte Schaltungen ermöglicht. Er ist heutzutage in vielen Mikroprozessoren, FPGAs, CPLDs, GDDR6-Grafikspeichern und sogar einigen Ethernet-PHYs integriert. Tester haben so Zugriff auf zuvor unzugängliche Punkte der Leiterplatte, zum Beispiel die Pins unter einem BGA: In den IEEE-1149-Komponenten befinden sich »Boundary-Scan-Zellen« zwischen der Logik der Komponente und den Pins des Gehäuses (oder BGA-Pins) (Bild 1). Diese zusätzlichen Zellen ermöglichen es, die Non-Power-Pins von ihrer gewöhnlichen Funktionalität zu isolieren und stattdessen von einem externen PC aus einzustellen und/oder zu lesen.

Die Schnittstelle zwischen der Komponente auf der Platine und dem PC wird als JTAG-Schnittstelle bezeichnet und besteht aus vier Signalen (plus einem optionalen Rücksetzsignal), die normalerweise zu einem kleinen Testheader geführt werden. Die Software versetzt die Komponente in den Boundary-Scan-Testmodus und übernimmt die Kontrolle über die Pins, auf denen ausgewählte Testmuster festgelegt werden. Die Boundary-Scan-Zellen zeichnen dann die tatsächlichen Ausgänge und die resultierenden Eingänge an anderen Pins auf und die Ergebnisse werden über die JTAG-Schnittstelle zur Platine gesendet, damit die Software sie analysieren kann. Sie verwendet eine importierte Netzliste und eine Stückliste, um zu berechnen, welche Pins gesetzt werden sollen und was von anderen Pins gelesen werden soll. Die Anwendung einer Reihe solcher Testmuster ermöglicht es, Netze zu lokalisieren, die Fehler im offenen Stromkreis, einen Kurzschluss oder Haftfehler haben. Auf diese Weise kann ein automatisierter Tester bestätigen, dass digitale ICs funktionsfähig, korrekt platziert und frei von Lötfehlern sind.

Enthält eine Platine mehrere JTAG-fähige Komponenten, können diese miteinander verbunden werden, um eine einfache Schnittstelle zu erhalten (Bild 2). Die seriellen Daten für die gesamte Kette werden in die erste Komponente und durch die gesamte Kette getaktet. Nach dem Scan der Pin-Stati werden die aufgezeichneten Daten über den Ausgang der Endkomponente aus der Kette herausgetaktet.

Eine Testsoftware, zum Beispiel von XJTAG, kann die Testabdeckung über die JTAG-fähigen Komponenten hinaus erweitern. Sie analysiert die Netz- und Stückliste, um zu bestimmen, wie Signale weiter in den digitalen Schaltkreis geleitet werden und wo die resultierenden Änderungen überwacht werden sollen. Auf diese Weise lässt sich die Funktionalität der Schaltung weit über die Kette der JTAG-Anteile hinaus testen.

XJTAG Bildquelle: © XJTAG

Bild 2. Mehrere JTAG-Komponenten können verbunden werden.