Wie funktioniert Boundary Scan und was ist eigentlich JTAG ?
JTAG - der IEEE 1149.1 Standard
JTAG/Boundary Scan oder auch der Standard IEEE 1149.1 ist einer der erfolgreichsten Elektronikstandards aller Zeiten und wurde erfunden, um elektrische Baugruppen zu prüfen. JTAG/Boundary Scan ist heute kaum noch aus Elektronik-Entwicklung und Produktion wegzudenken.
Ein grundlegender Testansatz ist die Verifikation von einwandfreien Boardverbindungen. Ähnlich dem ICT (In-Circuit-Test) werden einzelne Leiterbahnen der Baugruppe an einem Punkt stimuliert und an einem anderen Punkt gemessen. Die Informationen aus dieser Messung geben Rückschlüsse über eventuelle Fehler auf der Leiterplatte. Die Leistungsfähigkeit geht jedoch weit über das Testen von Verbindungen auf Boards hinaus.
Die Embedded JTAG Solutions von GÖPEL electronic sind die Basis für neue, nicht-intrusive Verfahren und Standards für Test, Debugging, Programmierung und Emulation von Leiterplatten.
Der Boundary Scan-Test über die JTAG-Schnittstelle ist dabei der Klassiker. Über JTAG (Joint Test Action Group) wird der Zugriff auf eine serielle Schiebekette hergestellt. Darüber werden sämtliche Boundary Scan IOs gesetzt und ausgelesen.
Boundary Scan Baustein
Prozessoren, FPGAs und andere hochentwickelte Chips verfügen oftmals über einen JTAG-TAP, den Test Access Port. Über diesen erreicht man einzelne Baugruppen zwecks Konfiguration, Kommunikation und Debugging.
Im Standard selbst ist der Aufbau eines JTAG-fähigen Bausteins dargelegt, wie auch die Beschreibungssprache, die "Boundary Scan Description Language (BSDL)". Sie legt die für jeden Baustein einzigartige Boundary Scan Ressourcen offen.
► Mehr zu Boundary Scan Description Language (BSDL)
Zum inneren Aufbau eines Boundary Scan Bausteins definiert der IEEE-Standard hierzu vier wesentliche Bestandteile, über die ein Boundary Scan-fähiges Bauteil verfügen muss:
Aufbau eines Boundary Scan Bausteins definiert durch IEEE-Standard
Bestandteile Boundary Scan-fähiger Bauteile
Boundary Scan Zelle
Die Boundary Scan Zelle ist der Hauptbestandteil des Boundary Scan Testverfahrens. Alle bisher beschriebenen Konstrukte dienen einzig und allein der korrekten Ansteuerung der einzelnen Boundary Scan Zellen.
Die Boundary Scan Zelle ist die geniale Möglichkeit, den Bauteilpin eines Bausteins gelöst von dessen normaler Funktion zu kontrollieren, d.h. einen bestimmten Pegel zu treiben oder auch zu messen. Zu diesem Zweck befindet sich die Boundary Scan Zelle zwischen der Kernlogik des Bausteins und dessen Peripherie (Ausgangstreiber, Eingangstreiber). Aufgrund der funktionellen Ähnlichkeit zu den physischen Abtastnadeln des In-Circuit-Testverfahrens, welche dort den Zugriff auf die einzelnen Testpunkte realisieren, spricht man bei den Boundary Scan Zellen auch von "electronic nails".
Der interne Aufbau einer einzelnen Boundary Scan Zelle kann sich sehr unterschiedlich gestalten. Der Standard IEEE 1149.1 beschreibt in der Fassung 2001 allein zehn unterschiedliche Zelltypen (BC_1 bis BC_10). Eigene Strukturen sind zusätzlich möglich. Der Aufbau ist oft sehr ähnlich.
Dem Entwickler ist es wichtig in der Designphase schnell und einfach die Schaltungen zu überprüfen und zu validieren. Im Fertigungsbereich allerdings setzt man schnelle Testverfahren ein, die sehr genaue und detaillierte Fehleranalysen bieten.
Im Service/Feldeinsatz ist ein einfaches und kompaktes Testsystem, wie z.B. ein Notebook-PC mit einem PCMCIA oder einem USB Controller von Vorteil. All diese Anforderungen stellt Boundary Scan mit seinem konsequenten Einsatz in allen Phasen einer Produktentwicklung sicher. Dem Anwender stehen verschiedene Embedded JTAG Solutions Controller für unterschiedlichste Plattformen und Einsatzgebiete, wie z.B. PCI, PXI, VXI, PCMCIA, USB, Fast Ethernet und zusätzliche Power- und I/O- Module zur Verfügung.
Mithilfe der Embedded JTAG Solutions von GÖPEL electronic werden in jedem "Lebensabschnitt" eines Produktes Flash-Speicher und PLD/FPGAs programmiert: Embedded Programming. Jederzeit können beispielsweise Firmware und Updates überspielt werden. Das bezieht sich nicht nur direkt auf die Fertigung. Auch an einem fertig montierten Gerät kann jederzeit mit einer hohen TCK-Frequzenz (abhängig von der vom Bauteilhersteller vorgegebenen maximalen Taktfrequenz) programmiert werden.