JTAG/Boundary-scan (schnittstelle oder interface) findet sich in den meisten Designs der heutigen Elektronik. Die Technologie wurde 1990 standardisiert. Seitdem wurden weitere Standards hinzugefügt, die auf dem ursprünglichen IEEE Standard aufbauen und ihn erweitern, um die Testabdeckung von JTAG/Boundary-scan zu erhöhen.
Einleitung
WAS IST BOUNDARY-SCAN?
Boundary-Scan (auch bekannt als JTAG oder IEEE Std 1149.1) ist eine serielle Schnittstelle oder JTAG interface , welche den Zugriff auf die spezielle integrierte Logik der vielen, heute erhältlichen ICs (Chips), ermöglicht. Die über JTAG zugängliche Logik bietet eine Reihe von Möglichkeiten die eine, oder alle der folgenden Funktionen beinhalten können:
- Testlogik, die das Testen von Verbindungen zwischen Bausteinen [Bscan-Bscan bzw. Bscan-Cluster] ohne externe Zugriffe ermöglicht;
- Programmierlogik in CPLD’s und FPGA’s zur On-Board-Programmierung dieser Bausteine;
- Debug-Logik in Mikroprozessoren und Mikrocontrollern, die für das Software-Debugging verwendet werden, um Verbindungen mit Peripheriebausteinen mit hoher Geschwindigkeit zu testen ohne eine im Baustein vorhandene Software zu verwenden oder um den integrierten Speicher in einem Mikrocontroller zu programmieren.
Bausteine mit einer JTAG/Boundary-scan-Schnittstelle und -Logik sind auf vielen der heutigen elektronischen Baugruppen (PCB’s) vorhanden. Die Bausteine werden oft seriell (Daisy Chain) zu eier sogenannten “Scan-Ketten” auf der Baugruppe verbunden. Ein externer JTAG/Boundary-Scan-Controller wird verwendet, um die Logik anzusteuern und den Test der Baugruppe sowie die Programmierung der Bausteine durchzuführen. Der Einsatz von JTAG-/Boundary-Scan minimiert den Umfang und die Komplexität des benötigten Equipments zum Test und zur Programmierung der Baugruppe in Entwicklung, Fertigung und Service, da die Notwendigkeit externer Kontaktierung und komplexer Adaptionen entfällt.
Zusammenfassend lässt sich sagen, dass JTAG/boundary-scan Zeit und Kosten für Ihren Board Test und Programmierung spart.
WARUM BOUNDARY-SCAN?
JTAG/Boundary-Scan unterstützt Ihren Prozess in drei Hinsichten: es spart Ihrem Unternehmen Zeit, es ist kosteneffizient und steigert die Qualität Ihres Produktes. Lassen Sie uns in einige Details schauen, um die zu Erläutern.
Der JTAG-/Boundary-Scan-Standard wurde als Lösung für ein grundlegendes technisches Problem entwickelt, welche bei traditionellen Testverfahren, zum Test von bestückten Leiterplatten, bestand. Dazu gehören z.B. die Kontaktierung von Bausteinpins bei Fine-Pitch Stukturen oder hohem Pinacount bei SMD Gehäuse (insbesondere BGA’s). Durch die Integration der JTAG-/Boundary-Scan-Logik im Chip, erhält man einen einfachen Zugriff auf die Pins und ermöglicht es Testsignale, unabhängig von Bauform und Bausteinkomplexität, zu übertragen ohne diese direkt kontaktieren zu müssen.
Tests sind unverzichtbar, um die Qualität Ihrer Produkte zu gewährleisten. Der Funktionstest ist eine Möglichkeit. Dieser hat jedoch zwei wesentliche Nachteile: Sie wissen nie, ob Sie wirklich alle Fehler abgedeckt haben, und wenn Sie einen Fehler finden, ist es schwierig (zeitaufwendig & teuer), die Ursache zu bestimmen. Diese beiden Defizite entfallen beim Strukturtest.
Strukturtest erfordern jedoch eine Kontaktierung des Bausteinpins. Durch die Miniaturisierung ist eine Kontaktierung so nicht mehr möglich, sodass der Strukturtest mithilfe von Testnadeln entfällt. Mit Boundary-Scan werden keine externen Testnadeln mehr benötigt. Deshalb wurde Boundary-Scan so entwickelt, dass Strukturtests auch bei Miniaturisierung möglich sind.
Kurz: Boundary-Scan wurde entwickelt, um Strukturtests auch bei Miniaturisierung zu ermöglichen.
Der ursprüngliche Standard drehte sich zwar um Baugruppentests, aber die JTAG-Schnittstelle wurde bald auch für die systeminterne Bausteinprogrammierung genutzt (Flash-Speicher, FPGAs, CPLDs und Mikrocontroller). Die JTAG-/Boundary-Scan-Norm bietet heute gegenüber traditionellen Systemen viele Vorteile.
JTAG Testen
Traditionelle Testsysteme, die mit Kontaktierungstechniken auf Pins und Signale der Baugruppen (PCBA’s) zugreifen, stehen vor immer größeren Herausforderungen. Erstens erschwert der zunehmende Einsatz von Surface Mount Devices (SMD) und insbesondere von Ball Grid Array (BGA)-Gehäusen das externe Kontaktieren von Bauteilpins und -netzen. Zweitens führt die kontinuierliche Integration zusätzlicher Funktionalität in einen einzigen Baustein zu einer Erhöhung der Komplexität. Die externe Steuerung dieser System-on-Chip (SoC)-Bausteine wird immer schwieriger. Als Folge nimmt die mögliche Testabdeckung sowie die detaillierte Fehlerdiagnose für diese Baugruppen mit traditionellen Testmethoden ab. Durch eine Erhöhung der JTAG fähigen Bausteine in Design, steigt sowohl die Testabdeckung als auch die Diagnose möglichkeit.
Wenn keine JTAG-Bausteine auf einer Leiterplatte verwendet werden, können natürlich nur traditionelle Testmethoden verwendet werden. Werden jedoch JTAG-Bausteine auf einer Baugruppe verwendet, können deren Fähigkeiten für Test und Programmierung genutzt werden. Abhängig vom Design des Boards und dem Prozentsatz des JTAG-Zugriffs ist es möglich, dass nur JTAG-basierte Test- und Programmierwerkzeuge ausreichen, um die gesamte Baugruppe zu testen und zu programmieren. Wenn nur ein Teil der Baugruppe über JTAG zugänglich ist, bietet eine Kombination aus traditionellen Testmethoden und JTAG die optimale Testabdeckung.
Bausteinprogrammierung
Die JTAG-Schnittstelle kann nicht nur zum Testen, sondern auch zur Programmierung von Bausteinen auf Ihren Baugruppen verwendet werden. FPGA’s, CPLD’s, Mikrocontroller (embedded flash) können über die JTAG Schnittstelle programmiert werden. Flash-Speicher oder Bausteine mit I2C-, SPI- und PMBus-Interface, können über benachbarte JTAG Bausteine programmiert werden. Mit JTAG ist es möglich, solche Bausteine zu programmieren, nachdem sie auf der Leiterplatte verbaut wurden. Diese On-Board-Programmierung oder In-System-Programmierung (ISP) führt zu:
- Deutlich einfacherer Bausteinlogistik (nur unprogrammierte Bausteine auf Lager)
- Vereinfachtes Handling eines Bausteins
- Einfache Umprogrammierung, auch im Feld, z.B. für Produkt-Upgrades
Weitere Informationen zur In-System-Bausteinprogrammierung finden Sie in unserem „In-System-Programmier-Leitfaden“.
JTAG Logik im Baustein
Ein Beispiel für eingebaute Ressourcen im Baustein, die über die JTAG-Schnittstelle zugänglich sind, ist das Boundary-Scan-Register und die Debug-Logik von Mikrocontrollern. Ein Boundary-Scan-Register ermöglicht den direkten Zugriff auf die Bausteinpins, ohne die firmwareabhänige Bausteinfunktionalität (Core) zu nutzen. Verbindungen zwischen verschiedenen Bausteinen können zum Testen oder Programmieren leicht zugänglich gemacht werden. Das Boundary-Scan-Register ist das Herzstück des Boundary-Scan-Tests und der Programmierung.
Die Mikrocontroller-Debug-Register/Logik ermöglicht den direkten Zugriff auf die internen Busse, ohne die Mikroprozessor-Funktionalität zu nutzen. Die ist das Herzstück des emulativen Tests und der Programmierung. Sowohl interne als auch externe Speicherperipheriebausteine, die an die Prozessorbusse angeschlossen sind, können problemlos, für den Test oder zur Programmierung ohne embedded Software, angesprochen werden.
Wie funktioniert es?
JTAG/Boundary-Scan bietet eine schnelle und einfache Methode, um elektronische Leiterplattenbaugruppen (PCBAs) auf Fertigungsfehler zu testen. Es wird auch häufig zum Programmieren von ICs wie cPLDs, FPGAs und Flash-Speichern auf den Leiterplatten verwendet – sowohl während der Produktion als auch nach der Fertigstellung des Produkts, wenn Software- oder Firmware-Updates erforderlich sind.
years in the heart of electronics
countries with our customers
worldwide support
systems sold worldwide
satisfied customers
JTAG BOUNDARY-SCAN, BASIERT AUF IEEE-STANDARDS
Die serielle Schnittstelle (interface) und Logik wurde ursprünglich von einer Gruppe von Testexperten von Philips, BT, GEC, TI und anderen, die als JTAG (Joint Test Action Group) bekannt sind, in den späten 80er Jahren entwickelt. Die Gruppe wurde als IEEE-Arbeitsgruppe fortgeführt, um den endgültigen Standard abzuschließen, der dann den offiziellen Namen erhielt: IEEE Std 1149.1, IEEE Standard Test Access Port (JTAG interface) und Boundary-Scan-Architektur. Die Norm wurde erstmals 1990 veröffentlicht. Seitdem wurden zahlreiche Anpassungen vorgenommen und das letzte Update erfolgte 2013, siehe IEEE 1149.1-2013.
Der IEEE Std 1149.1 wird oft mit anderen Namen wie JTAG, JTAG Boundary-Scan oder Dot1 bezeichnet. JTAG-Bausteine werden offiziell als IEEE 1149.1-konforme Bausteine bezeichnet. Die Norm definiert die serielle Schnittstelle (JTAG interface), den so genannten Test Access Port (TAP), und die in Bausteinen integrierte Testlogik. Die spezifische Testlogik ist in der Norm definiert, das Boundary-Scan-Register, dieses ermöglicht Verbindungen zwischen Bausteinen auf einer Baugruppe zu testen.
Der TAP verfügt über vier (optional fünf) Signale:
TCK (Test Clock)
TMS (Test Mode Select)
TDI (Test Data In)
TDO (Test Data Out)
TRST (Test logic Reset) (optional)
Um die Test-Infrastruktur innerhalb einer Baugruppe zu vereinfachen, ist es üblich, die Bausteine seriell zu verbinden (Daisy Chain). Der TDO vom ersten Baustein wird mit TDI des nächsten (und so weiter) zu einer sogenannten Scankette verbunden.
Die interne Testarchitektur eines Bausteins besteht aus dem Instruktion Register (IR) und mehreren Daten resgistern (DR). Indem man das Instruktionregister mit einem Opcode (Adresse) lädt, wird ein bestimmtes Datenregister ausgewählt, auf das im Anschluss zugegriffen wird. Wird das Boundary-Scan-Register als Datenregister ausgewählt, steuert dieses die Pins des Bausteins (EXTEST) und isoliert gleichzeitig die Core.
Die Testlogikarchitektur von Dot1 ist so definiert, dass andere Datenregister (DRs) in einem Chip-Design einfach hinzugefügt werden können. Zum Beispiel die Debug-Logik von Mikroprozessoren und Mikrocontrollern oder die Programmierlogik in modernen CPLDs und FPGAs. Diese Datenregister sind in zusätzlichen Standards definiert, die auf dem ursprünglichen Dot1 aufbauen und ihn erweitern.
Wir helfen Ihnen gerne weiter!
Durch die enge Zusammenarbeit mit unseren Kunden konnten wir Tausende Testprobleme lösen. Sobald Sie Kunde von JTAG Technologies werden, sind Sie ein integraler Bestandteil unseres Unternehmen und haben ebenfalls vollen Zugriff auf unser weltweites Support-Netzwerk.