-
System mit JTAG-TAP-Testschnittstellen-Controller
-
Die Erfindung betrifft ein System mit JTAG-TAP-Testschnittstellen-Controller, insbesondere ein System mit einem integrierten Schaltkreis-Chip mit einem derartigen Testschnittstellen-Controller.
-
Moderne Mikroprozessorchips, insbesondere sogenannte SoCs (System on Chip) können auf einem Chip mindestens eine zentrale Steuer- und Recheneinheit, sogenannte Central Processing Unit oder CPU „Core” und einen mehrere MB großen Speicherbereich aufweisen. Auf einem solchen Chip können damit in dem Speicherbereich ein komplexes Softwareprogramm und zu verarbeitende Daten gespeichert werden, die von dem Mikroprozessor ausgeführt bzw. verarbeitet werden. Solche Chips werden beispielsweise im Automotive-Bereich in Steuergeräten eingesetzt, um damit beispielsweise Motoren zu steuern.
-
Während der Entwicklung der auf einem solchen Chip laufenden Programme sowie während der Tests des gesamten Chips im Produktionsumfeld wird zum einen das Softwareprogramm in Zusammenspiel mit der Umgebung des Chips, beispielsweise den angeschlossenen Sensoren und Aktoren getestet. Zum anderen werden bestimmte Situationen in dem Chip herbeigeführt, um die Reaktion des Chips zu testen.
-
Aus dem Stand der Technik sind mehrere Hard- und Softwaresysteme bekannt, mit denen Chips getestet werden können. Aufgrund der mit der fortschreitenden Entwicklung von Chips zunehmenden Komplexität ist es nicht mehr ausreichend, das Verhalten eines Chips allein an seinen Pins zu beobachten. Stattdessen hat sich gezeigt, dass es notwendig ist, Testdaten gezielt in den Chip-Speicherbereich schreiben und ebenso auslesen zu können, um so Testszenarien schnell und direkt in das Innere des Chips schreiben und die Verarbeitung der entsprechenden Daten direkt „beobachten” zu können.
-
Für direkte Schreib- und Lesezugriffe auf den Speicherbereich eines Chips kann dieser beispielsweise eine Testschnittstelle aufweisen, dem mehrere eigene Außenkontakte, also Pins, an dem Chip zugewiesen sind.
-
Eine solche Testschnittstelle ist beispielsweise ein JTAG Modul, das im Folgenden beispielhaft zur Erläuterung der Erfindung herangezogen wird. Eine exakte Spezifikation dieser Schnittstelle ist in IEEE 1149 festgelegt.
-
Der JTAG Standard definiert eine Testschnittstelle, einen sogenannten TAP (Test Access Port) mit einem TAP-Controller, der die Testdaten verarbeitet. Für die Testschnittstelle sind nach dem JTAG Standard vier Signalleitungen definiert. Eine erste Signalleitung dient zur Übertragung eines Test-Taktsignals TCK (TCK = TestClocK) und über die zweite Signalleitung TMS (TMS = TestModeSelect) wird ein Testmodussignal übertragen. Über zwei weitere Signalleitungen TDI (TDI = TestDataIn) und TDO (TDO = TestDataOut) werden Testdaten an den Controller geliefert bzw. über die Signalleitung TDO von diesem gelesen. Mittels einer optionalen fünften Signalleitung kann zusätzlich ein Test-Rücksetz-Signal TRST (TRST = TestReSeT) übertragen werden.
-
Die so spezifizierte Schnittstelle weist den Nachteil auf, dass mindestens vier Pins benötigt werden, die im produktiven Betrieb, d. h. im eigentlichen Arbeitsmodus des Chips nicht genutzt werden. Da diese zusätzlichen Pins, die während des produktiven Betriebs des Chips nicht genutzt werden, Kosten verursachen und Platz benötigen, ist es beständiges Ziel weiterer Entwicklungen, die für das Debugging von Chips notwendige Anzahl an Pins möglichst klein zu halten.
-
Als Lösung ist vorgeschlagen worden, die JTAG-Testpins mit anderen Pins, die im produktiven Betrieb genutzt werden, zu multiplexen, so dass für die Implementierung der JTAG Testschnittstelle keine zusätzlichen Pins am Chipgehäuse verwendet werden müssen. Diese Lösung bringt jedoch den Nachteil mit sich, dass die Funktion der für das Multiplexen genutzten Pins während der Verwendung der Pins als JTAG Testschnittstelle nicht mit dieser getestet werden kann.
-
So beschreibt die
US 6,088,822 einen Chip mit einem JTAG TAP-Controller, der zum einen die in dem Standard festgelegten Funktionen aufweist, zum anderen jedoch auch mit einem Datenadapter auf dem Chip verbunden ist. Der Datenadapter verbindet den TAP-Controller mit weiteren Logikfunktionsblöcken auf dem Chip. Wahlweise kann damit in einem ersten Betriebsmodus der TAP-Controller nach dem JTAG Standard betrieben werden, oder es können in einem zweiten Betriebsmodus über den TAP-Controller und den Datenadapter Daten von außen in die über den Datenadapter erreichbaren Logikfunktionsblöcke geschrieben oder von diesen gelesen werden. In dieser Variante werden damit nicht nur die Pins des TAP-Controllers, sondern auch der TAP-Controller selbst für eine andere, im JTAG Standard nicht vorgesehene Funktion verwendet.
-
Die
US 2001/0034598 A1 offenbart als alternative Lösung das zeitliche Multiplexing der über die verschiedenen Signalleitungen zu übertragenden Signale. Die zu übertragenden Daten werden dabei zeitlich aufeinanderfolgend über eine Leitung übertragen, so dass statt der vier – oder optional fünf – Signalleitungen nur eine Signalleitung und damit ein Pin zur Übertragung der Informationen an den JTAG TAP-Controller benötigt wird. Diese Lösung verringert damit die Anzahl der für eine JTAG Testschnittstelle notwendigen Pins.
-
Moderne integrierte Schaltkreise, insbesondere moderne SoC, weisen jedoch häufig mehr als einen CPU Core auf. Dabei ist üblicherweise für jeden CPU Core jeweils eine JTAG-Testschnittstelle vorgesehen, die eine entsprechende Anzahl von Pins mit sich bringen. Die JTAG-Testschnittstellen ermöglichen damit zwar das Testen der CPU Cores, jedoch weist der Chip eine unerwünscht hohe Anzahl von Pins für die JTAG-Testschnittstellen auf.
-
Ein weiterer Nachteil einer JTAG konformen Testschnittstelle ist die Definition des TAP-Controllers als endlicher Automat (finite state machine), wobei der außen an die Testschnittstelle angeschlossene Host-Rechner als Master und der zu testende Chip als Slave definiert ist. Der Host-Rechner geht davon aus, dass der Chip bzw. der TAP-Controller der JTAG Testschnittstelle sich immer in dem durch das TMS-Signal definierten Zustand befindet. Eine Rückmeldung des Chips über seinen tatsächlichen Zustand ist nicht vorgesehen. Ein unerwünschtes Wechseln des Chips in einen anderen Zustand aufgrund einer Störung bleibt somit verborgen und kann häufig nur durch einen Neustart mit einer Rücksetzung des TAP-Controllers in einen definierten Anfangszustand geändert werden.
-
Ein weiterer Nachteil des Standards ergibt sich aus der Festlegung, dass die an den TAP-Controller zu sendenden Daten so zu signalisieren sind, dass eine Signalflanke den TAP-Controller spätestens nach einer halben Taktdauer erreicht haben muss. Dies schränkt die maximale Laufzeit der Signale auf einer Leitung und damit die maximal mögliche Länge der Datenleitung bei vorgegebener Taktrate stark ein.
-
Mittlerweile weist der JTAG Standard jedoch den Vorteil auf, dass bereits viele Software-Programme für Host-Rechner existieren, mit denen ein Chip über einen JTAG TAP-Controller getestet werden kann. Aufgrund der Vielzahl der für den JTAG Standard entwickelten Anwendungen ist es daher sinnvoll, den Standard so weit wie notwendig beizubehalten, um die existierenden Programme weiterhin nutzen zu können.
-
Die Druckschrift
US 2004/0001432 A1 offenbart ein System mit einem PC, und einer damit verbundenen Platine, auf der mehrere DSPs, ein FPGA, ein JTAG port, und ein USB port angeordnet sind.
-
Die Erfindung hat insbesondere zur Aufgabe, ein einen Schaltkreis-Chip aufweisendes System bereitzustellen, mit dem die Anzahl der zur Datenübertragung notwendigen Pins oder Pads des Chips reduziert werden kann.
-
Die Erfindung erreicht dieses bzw. weitere Ziele mit einem System mit den im Anspruch 1 angegebenen Merkmalen.
-
Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen angegeben.
-
Nach einem Aspekt der Erfindung wird ein integrierter Schaltkreis zur Verfügung gestellt, mit Datenspeicher und mindestens einer Recheneinheit, wobei die Recheneinheit zur Verarbeitung von in dem Datenspeicher abgelegten Daten auf diesen zugreifen kann, und mit mindestens einer Testschnittstelle, welche Daten in den Datenspeicher schreiben und aus diesem lesen kann, wobei die mindestens eine Testschnittstelle zum Senden und Empfangen von Daten verschiedener Inhaltskategorien für jede Inhaltskategorie jeweils eine Signalleitung aufweist. Der integrierte Schaltkreis weist ein Schnittstellenmodul mit einer seriellen Schnittstelle zum Empfangen und Senden von Daten auf, wobei das Schnittstellenmodul mit den Signalleitungen zur Übermittlung der Daten der verschiedenen Inhaltskategorien mit der Testschnittstelle verbunden ist.
-
Das Schnittstellenmodul empfängt über die serielle Schnittstelle Daten, welche die an die Testschnittstelle zu signalisierende Information enthält. Die an die Testschnittstelle weiter zu signalisierende Information wird entsprechend der verschiedenen Inhaltskategorien über die jeweils zugehörige Signalleitung an die Testschnittstelle weitergeleitet.
-
Das Schnittstellenmodul ermöglicht damit den Empfang von Datentelegrammen über die serielle Schnittstelle. Die Datentelegramme liefern die Information, die nach dem JTAG Standard über die vier beziehungsweise optional fünf Signalleitungen TCK, TDI, TDO und TMS und optional TRST an einen TAP Controller signalisiert werden. Das Schnittstellenmodul ist über diese dem JTAG Standard entsprechenden Signalleitungen mit dem TAP-Controller verbunden und signalisiert die in Datentelegrammen enthaltene Information an den TAP Controller. Damit erhält der TAP Controller die Information entsprechend dem JTAG Standard.
-
In umgekehrter Richtung nimmt das Schnittstellenmodul Daten, die der TAP-Controller nach außen signalisieren soll, über die Signalleitung TDO entgegen und generiert entsprechend ein oder mehrere Datentelegramme, die anschließend über die serielle Schnittstelle und über die Chipgrenze hinweg nach außen übermittelt werden.
-
Außerhalb des integrierten Schaltkreises, also außerhalb des Chips, wird die an den TAP-Controller zu liefernde Information damit nicht nach dem im JTAG Standard definierten Protokoll, sondern gemäß einem davon abweichenden Protokoll übermittelt.
-
Innerhalb des integrierten Schaltkreises wird die Information jedoch entsprechend dem JTAG Standard dem TAP-Controller über die vier oder fünf Leitungen signalisiert. Das Schnittstellenmodul hat damit die Funktion eines Formatwandlers, der die an den TAP-Controller zu liefernde Information aus den Datentelegrammen in das im JTAG Standard festgelegte Format wandelt, so dass die Information über die separaten Signalleitungen TDI, TMS, TCK und TRST signalisiert werden kann und in umgekehrter Richtung die über die Signalleitung TDO nach außen zu signalisierende Information zu einem oder mehreren Datentelegrammen formatiert.
-
In die Kommunikation des TAP-Controllers mit einem Host Rechner, der Daten mit dem TAP Controller austauscht, wird damit eine Zwischenschicht eingeführt, in der alle Information in Form von Datenpaketen zwischen dem TAP-Controller und dem Host-Rechner und über die serielle Schnittstelle des Schnittstellenmoduls übermittelt wird.
-
Die serielle Schnittstelle und das Übertragungsprotokoll können dabei beliebig nach dem Stand der Technik sein, so dass die an die Testschnittstelle zu signalisierenden Daten außerhalb des Chips schneller als nach dem JTAG Standard übermittelt werden können.
-
Nach einem zweiten Aspekt der Erfindung wird ein Verfahren zum Übermitteln digitaler Daten verschiedener Inhaltskategorien von einer ersten Station zu einer zweiten Station zur Verfügung gestellt, wobei die zweite Station zum Empfang von Daten verschiedener Inhaltskategorien für jede Inhaltskategorie jeweils eine Signalleitung aufweist, und wobei die Daten über eine serielle Schnittstelle an eine der zweiten Station vorgelagerte Zwischenstation übertragen werden, und die Zwischenstation die Daten über die der Inhaltskategorie entsprechende Signalleitung zu der zweiten Station leitet.
-
Die erste Station ist beispielsweise ein Host-Rechner, der Daten über die vier bzw. fünf Signalleitungen einer JTAG Testschnittstelle, also jeweils Daten einer Inhaltskategorie, an eine JTAG Testschnittstelle – die zweite Station – übermittelt. Bevor die Daten über die Signalleitungen der JTAG Testschnittstelle übermittelt werden, werden diese über eine serielle Schnittstelle an eine Zwischenstation, nämlich das der JTAG Testschnittstelle in Datenflussrichtung vorgelagerte Schnittstellenmodul übermittelt. Das Schnittstellenmodul übermittelt die Daten anschließend an die JTAG Testschnittstelle bzw. an den TAP-Controller der JTAG Testschnittstelle über die vier bzw. fünf Signalleitungen des TAP-Controllers.
-
Im Folgenden wird die Erfindung anhand eines Ausführungsbeispiels und der beigefügten Zeichnung näher erläutert.
-
In der Zeichnung zeigt:
-
1 zeigt eine schematische Darstellung eines Systems mit einem integrierten Schaltkreis gemäß einer beispielhaften Ausführungsform der Erfindung.
-
Das Bezugszeichen 1 in 1 bezeichnet einen integrierten Schaltkreis, der getestet werden soll, und bei dem nur die für die Erfindung relevanten Funktionsblöcke schematisch als Blöcke und die Datenverbindungen schematisch als Pfeile eingezeichnet sind.
-
Der integrierte Schaltkreis 1 weist mindestens eine – hier nicht dargestellte – Recheneinheit, einen sogenannten CPU Core, mit dazugehörigem Speicher auf. In dem Speicher werden die von der Recheneinheit zu verarbeitenden Daten und das Steuerungsprogramm, also die Software, abgelegt. Während des Betriebs greift die Recheneinheit in bekannter Weise auf den Speicher zu und verarbeitet die abgelegten Daten entsprechend der Befehlsfolge der Software. Ein solcher integrierter Schaltkreis 1 kann beispielsweise ein aus dem Automotiv-Bereich bekannter Mikroprozessor oder Mikrocontroller sein, der ein vollständiges Verarbeitungssystem ist und als sogenanntes SoC = „System on Chip” bezeichnet werden kann.
-
Der integrierte Schaltkreis 1 weist weiterhin mindestens eine Testschnittstelle 2 auf. In dem hier dargestellten Ausführungsbeispiel ist dies ein an sich bekannter TAP-Controller (TAP = Test Access Port) nach dem JTAG Standard. Die Testschnittstelle 2 ist in bekannter Weise mit einer Testlogik 3 und einer Debuglogik 4 verbunden, in die die Testschnittstelle 2 in bekannter Weise und nach dem JTAG Standard Daten hineinschreiben und ebenso auslesen kann. Die Testlogik 3 und die Debuglogik 4 schreiben die übergebenen Daten in die entsprechenden Datenregister 3a der Testlogik 3 bzw. in die Datenregister 4a der Debuglogik 4. Die in den Datenregistern 3a, 4a abgelegten Daten werden von der Recheneinheit verarbeitet. Anschließend werden die Ergebnisdaten in entsprechenden Datenregistern 3a, 4a abgelegt, aus denen die Ergebnisdaten ausgelesen werden.
-
Die Testschnittstelle 2, im vorliegenden Ausführungsbeispiel also der TAP-Controller, weist die in dem JTAG Standard festgelegten vier bzw. optional fünf Signalleitungen 5, 6 auf, über die der TAP-Controller die Daten der verschiedenen Inhaltskategorien erhält und über die die Ergebnisdaten übermittelt werden. Über die Signalleitung TDI werden dem TAP-Controller beispielsweise die Daten einer ersten Inhaltskategorie, nämlich die Testdaten TDI, und über die Signalleitung TMS die Daten einer zweiten Inhaltskategorie, nämlich das Signal TestModeSet, kommuniziert. Analog bilden die von dem TAP-Controller 2 zu kommunizierenden Ergebnisdaten beispielsweise eine weitere Inhaltskategorie, die über die Signalleitung TDO signalisiert werden. Der TAP-Controller weist damit für die Kommunikation von Daten einer Inhaltskategorie jeweils eine Signalleitung auf. In der schematischen Darstellung sind die vier im JTAG Standard definierten Signalleitungen 5 TCK (TestClock), TMS (TestModeSet), TDI (TestDataIn) und die optionale Signalleitung TRST (TestReSeT) entsprechend der Übertragungsrichtung der Information durch einen in den TAP-Controller hinein zeigenden Pfeil 5 symbolisiert. Entsprechend ist die Signalleitung, über die der TAP-Controller 2 die Ergebnisdaten mitteilt, durch einen von dem TAP-Controller 2 weg zeigenden Pfeil 6 symbolisiert.
-
Im Unterschied zu bekannten integrierten Schaltkreisen mit Testschnittstellen sind die fünf Signalleitungen des TAP-Controllers in dem erfindungsgemäßen integrierten Schaltkreis nicht zu Pins oder Pads des Chips, sondern zu einem Schnittstellenmodul 7 geführt, so dass der TAP-Controller 2 zur Übermittlung der Daten der verschiedenen Inhaltskategorien mit diesem verbunden ist. Das Schnittstellenmodul 7 kann damit auch als „Device Access Port” (DAP) bezeichnet werden, da es den Zugriff auf das Device, also den Chip, ermöglicht. Der TAP-Controller 2 erhält die von ihm zu verarbeitenden Daten damit nicht mehr unmittelbar über Pins oder Pads des integrierten Schaltkreises 1, sondern über das Schnittstellenmodul 7.
-
Die Signalleitungen 5, 6 der Testschnittstelle 2 sind damit nicht mehr über die Pins oder Pads des integrierten Schaltkreises 1 kontaktierbar, sondern sind gewissermaßen versteckt.
-
Das Schnittstellenmodul 7 weist eine serielle Schnittstelle 8 auf, deren Signalleitungen zu Pins oder Pads des integrierten Schaltkreises 1 geführt sind und über die das Schnittstellenmodul 7 über die Grenzen des integrierten Schaltkreises 1 hinweg kommunizieren kann.
-
Um Testdaten von außerhalb des integrierten Schaltkreises 1 an die Testschnittstelle 2 zu kommunizieren, werden diese zu der seriellen Schnittstelle 8 des Schnittstellenmoduls 7 und anschließend von dem Schnittstellenmodul 7 über die Signalleitungen 5 an die Testschnittstelle 2 übertragen.
-
Die serielle Schnittstelle 8 kann dabei nach bekanntem Stand der Technik ausgeführt sein, und kann vorzugsweise wenige Pins oder Pads des integrierten Schaltkreises 1 benötigen, so dass zur Kommunikation mit der Testschnittstelle nur wenige zusätzliche Pins oder Pads notwendig sind. Insbesondere kommen Schnittstellen in Betracht, die eine hohe Datenübertragungsrate bei gleichzeitig hoher Übertragungssicherheit ermöglichen, beispielsweise nach dem LVDS (Low Voltage Differential Signalling) Prinzip oder unter Verwendung eines Lichtleiters arbeitende Schnittstellen. Es kann auch eine Zweidrahtleitung eingesetzt werden, wobei auf einem Leitungsdraht ein Taktsignal und auf dem anderen das Datensignal übertragen wird, so dass zur Übermittlung der Daten für die Testschnittstelle 2 nicht mehr 4 oder 5 Pins, sondern nur noch 2 Pins notwendig sind.
-
Alternativ zu der hier dargestellten Übertragung mit einer Zweidrahtleitung kann jedes Signalisierungsverfahren verwendet werden, welches zur schnellen und sicheren Übertragung der Daten an die serielle Schnittstelle 8 des Schnittstellenmoduls 7 geeignet ist. Beispielsweise kann auch ein an sich bekanntes Verfahren verwendet werden, bei dem Takt und Daten über nur eine Leitung übertragen werden, so dass für die serielle Schnittstelle nur ein Pin oder Pad benötigt wird.
-
In der Praxis hat sich beim Betrieb von Testschnittstellen nach dem JTAG Standard gezeigt, dass die gesamte Kommunikation mit einer solchen Schnittstelle in jeweils in sich abgeschlossene Datentelegramme einteilbar ist, wobei nur eine begrenzte Anzahl solcher Datentelegramme definiert werden muss. Zur Übertragung der an die Testschnittstelle 2 zu kommunizierenden Information wird diese in Form von Datentelegrammen über die serielle Schnittstelle 8 des Schnittstellenmoduls 7 übermittelt. Dabei kann jedes Datentelegramm mindestens die für einen Zustandswechsel des TAP-Controllers notwendigen Informationen beinhalten, wobei die Information bewirken kann, dass der TAP-Controller einen Zyklus über mehrere Zustände durchläuft und schließlich wieder den Ausgangszustand einnimmt.
-
Die Datentelegramme enthalten dabei neben der reinen Nutzinformation, die an die Testschnittstelle 2 zu kommunizieren ist, weitere Datenfelder, in denen weitere Information enthalten ist.
-
Das Schnittstellenmodul 7 weist zur Verarbeitung der weiteren Information geeignete Logikelemente auf.
-
Es umfasst beispielsweise geeignete Logikelemente zur Interpretation eines in einem Datenfeld des Datentelegramms signalisierten Befehls auf, um diesen anschließend auszuführen. Ein solcher Befehl kann dabei zum einen die Verarbeitung der an den TAP-Controller weiterzuleitenden Daten oder einen Befehl, beispielsweise einen über die TMS-Signalleitung zu signalisierenden Befehl oder das über die TRST-Signalleitung zu signalisierende Reset betreffen. Zum anderen kann ein solcher Befehl das Schnittstellenmodul selbst betreffen.
-
In einem weiteren Feld des Datentelegramms kann eine Prüfsumme übertragen werden, so dass eine Möglichkeit zur Prüfung des fehlerfreien Empfangs eines Datentelegramms gegeben ist. Eine solche Prüfsumme kann beispielsweise nach dem an sich bekannten CRC (Cyclic Redundancy Check) Verfahren errechnet werden.
-
Das Schnittstellenmodul 7 weist zur Prüfung der in einem Datentelegramm mitübertragenen Prüfsumme geeignete Mittel zur Berechnung der Prüfsumme und zum Vergleich des errechneten Wertes mit der übertragenen Prüfsumme auf.
-
Zur Übermittlung von Information bzw. Daten von dem TAP-Controller über das Schnittstellenmodul 7 nach außen erzeugt es aus den von dem TAP-Controller gelieferten Daten entsprechende Datentelegramme, die über die serielle Schnittstelle 8 nach außen signalisiert werden.
-
Die Erzeugung der an eine Testschnittstelle 2 zu übertragenden Daten kann dabei in an sich bekannter Weise mittels eines Host-Rechners 9 erfolgen, auf dem ein für die Ansteuerung einer Testschnittstelle 2 an sich bekanntes Softwareprogramm abläuft und der mit dem Schnittstellenmodul 7 verbunden ist. Ein solcher Host-Rechner kann dabei beispielsweise ein PC sein. Da PCs üblicherweise keine geeignete Schnittstelle zur direkten Datenübertragung an ein Schnittstellenmodul 7 aufweisen, werden die zu übertragenden Daten in bekannter Weise über eine standardisierte Verbindung 10 an einen Adapter 11 übertragen. Der Adapter 11 weist an sich bekannte Mittel zur Kommunikation einerseits mit dem Host-PC und andererseits mit dem Schnittstellenmodul 7 auf.
-
Der Adapter des Ausführungsbeispiels weist beispielsweise einen Taktgenerator 11a zu Erzeugung eines Taktsignals auf, welches über die serielle Schnittstelle 8 dem Schnittstellenmodul 7 signalisiert wird und zur Abtastung der Daten verwendet wird. Weiterhin weist der Adapter ein FPGA 11b (Field Programmable Gate Array) zur Erzeugung der Datentelegramme aus den von dem Host-PC 9 gelieferten Daten auf. Der Adapter 11 kann dabei mit mehreren Host-PCs 9 verbunden sein, die jeweils mit einem TAP-Controller kommunizieren.
-
Die auf dem Host-PC 9 laufenden Softwareprogramme zur Ansteuerung der Testschnittstelle 2 können dabei unverändert weiter benutzt werden, da die Kommunikationsschnittstelle zwischen dem Adapter 11 und dem Host-Rechner 9 nicht verändert wird.
-
Bei integrierten Schaltkreisen 1, die mehrere TAP-Controller 2 aufweisen, können alle TAP-Controller 2 mit ihren jeweiligen Signalleitungen mit einem Schnittstellenmodul 7 verbunden werden.
-
Zur Unterscheidung der TAP-Controller 2 untereinander und zur gezielten Kommunikation kann jedem TAP-Controller 2 eine eindeutige Kennung zugewiesen werden. Diese muss dem Schnittstellenmodul bekannt sein und wird diesem mitgeteilt, so dass das Schnittstellenmodul 7 gezielt mit einem TAP-Controller 2 kommunizieren kann. Dabei wird über an sich bekannte Verfahren sichergestellt, dass zu einem Zeitpunkt nur die Kommunikation zwischen dem Schnittstellenmodul 7 und einem TAP-Controller 2 stattfinden kann, so dass sich die mehreren TAP-Controller 2 bei der Kommunikation mit dem Schnittstellenmodul 7 nicht gegenseitig stören.
-
Gleichzeitig wird das Protokoll zur Kommunikation des Schnittstellenmoduls 7 mit dem Host-Rechner 9 über den Adapter 11 erweitert, so dass dem Schnittstellenmodul 7 signalisiert wird, für welchen der mehreren TAP-Controller 2 ein Datentelegramm bestimmt ist. Der Host-Rechner 9 kann dazu beispielsweise in einem Datentelegramm mitteilen, dass nachfolgende Datentelegramme für einen bestimmten TAP-Controller 2 bestimmt sind. Alternativ könnte jedes Datentelegramm eine Information enthalten, für welchen der TAP-Controller 2 das Datentelegramm bestimmt ist.
-
Mit der Einführung des Schnittstellenmoduls 7 in die Kommunikation mit einer Testschnittstelle 2 wird ein neues Verfahren zum Übermitteln digitaler Information zwischen einer ersten Station, welche in diesem Fall der Host-PC 9 ist, und einer zweiten Station eingeführt, welche in diesem Fall eine Testschnittstelle 2 ist. Die zweite Station weist dabei für den Empfang und das Versenden von Informationen verschiedener Inhaltskategorien für jede Inhaltskategorie jeweils eine Signalleitung 5, 6 auf. In dem hier beschriebenen Ausführungsbeispiel sind dies die Signalleitungen 5 TCK, TMS, TDI, TRST und 6 TDO des TAP-Controllers. Mit der Übertragung der Datentelegramme über die serielle Schnittstelle 8 an das Schnittstellenmodul 7 werden die Daten an eine der zweiten Station vorgelagerte Zwischenstation übertragen, von der aus der Inhalt eines Datentelegramms auf die der entsprechenden Inhaltskategorie entsprechende Signalleitung 5, 6 geleitet wird.
-
In umgekehrter Richtung wird das Übertragungsverfahren entsprechend ausgeführt. Die von der zweiten Station, also einer Testschnittstelle 2, an die erste Station, also den Host-PC, zu übermittelnde Information wird über die Signalleitungen der verschiedenen Inhaltskategorien 5, 6 an die Zwischenstation, also das Schnittstellenmodul 7, übermittelt. Die Zwischenstation übermittelt die von der zweiten Station empfangenen Daten über die serielle Schnittstelle 8 an die erste Station, also den Host-PC 9.
-
Der Datenaustausch zwischen der ersten und der zweiten Station findet somit nur noch über die Zwischenstation statt, wobei die Daten von der ersten Station zu der Zwischenstation seriell und zwischen der Zwischenstation und der zweiten Station über die Signalleitungen 5, 6 der verschiedenen Inhaltskategorien stattfindet.
-
Bei diesem Verfahren kann in vorteilhafter Weise zur Prüfung der korrekten Datenübertragung zwischen der ersten Station und der Zwischenstation eine Prüfsumme in jedem Datentelegramm mit übertragen werden, wobei die Prüfsumme von dem jeweiligen Empfänger eines Datentelegramms geprüft wird. Im Falle einer fehlerhaften Übertragung kann der jeweilige Empfänger dem Sender dann den Übertragungsfehler signalisieren und eine Wiederholung der Übertragung oder sonstige Fehlerbehandlung auslösen.
-
In dem hier beschriebenen Ausführungsbeispiel ist die erste Station der Host-PC 9, der über den Adapter 11 mit der seriellen Schnittstelle 8 des Schnittstellenmoduls 7 verbunden ist.
-
Die Übermittlung der Daten von und zu der seriellen Schnittstelle 8 des Schnittstellenmoduls 7 erfolgt dabei in vorteilhafter Weise nach dem Halbduplexverfahren, so dass die durch den JTAG Standard bedingte Beschränkung der Leitungslänge entfällt.
-
Weiterhin kann das Schnittstellenmodul 7 selbst als endlicher Automat ausgebildet sein, der eine vorbestimmte Anzahl von definierten Zuständen einnehmen kann.
-
In einem ersten Zustand, dem OFF-Zustand, ist das Schnittstellenmodul 7 inaktiv. Dieser wird eingenommen, wenn kein Datenaustausch über die serielle Schnittstelle 8 stattfinden soll.
-
Das Schnittstellenmodul 7 nimmt einen zweiten definierten Zustand ein, wenn über die serielle Schnittstelle 8 ein Taktsignal detektiert wird. Dieser Zustand wird beispielsweise automatisch dann eingenommen, wenn nach dem Aktivieren des Schnittstellenmoduls 7 ein Taktsignal detektiert wird. In diesem Zustand ist das Schnittstellenmodul 7 bereit zum Empfang von Datentelegrammen.
-
Ein dritter Zustand wird eingenommen, wenn das Schnittstellenmodul aktiv ist, jedoch kein Taktsignal detektierbar ist. Dieser Zustand wird beispielsweise dann eingenommen, wenn das aktive Schnittstellenmodul 7 kein Taktsignal mehr an der seriellen Schnittstelle 8 detektieren kann. Der Zustand wird automatisch verlassen und es wird der zweite Zustand eingenommen, sobald wieder ein Taktsignal an der seriellen Schnittstelle 8 detektiert wird.
-
Für den Fall, dass das Schnittstellenmodul 7 wiederholt einen Übertragungsfehler feststellt oder die Synchronisation mit dem Host-Rechner verliert, ist vorgesehen, dass das Schnittstellenmodul in jedem Falle genau einen der vorbestimmten Zustände einnimmt.
-
Verliert beispielsweise das Schnittstellenmodul das Taktsignal, so wird der dritte Zustand angenommen. Dieser wird verlassen und es wird der zweite Zustand eingenommen, sobald ein Taktsignal detektiert wird.
-
Auf diese Weise ist sichergestellt, dass das Schnittstellenmodul 7 nach dem Auftreten einer Störung spätestens nach Ablauf einer gewissen Anzahl von Takten einen vorbestimmten Zustand einnimmt, so dass der Host-PC 9 bei anliegendem Taktsignal wieder wie vorgesehen mit dem Schnittstellenmodul 7 kommunizieren kann.
-
Schließlich kann das Verfahren für den Fall, dass der integrierte Schaltkreis 1 mehrere TAP-Controller 2 aufweist, entsprechend erweitert werden, so dass Datentelegramme einem TAP-Controller eindeutig zugeordnet werden können. Dazu kann einem TAP-Controller 2 beispielsweise eine eindeutige Kennung zugeordnet sein, die dem Schnittstellenmodul 7 bekannt ist. Wie bereits oben erwähnt kann das Protokoll zur Kommunikation zwischen dem Host-PC 9 und dem Schnittstellenmodul 7 angepasst werden, so dass Datentelegramme an einen bestimmten TAP-Controller 2 gesandt werden können. Dazu kann beispielsweise vorgesehen sein, dass dem Schnittstellenmodul 7 in einem Datentelegramm mitgeteilt wird, dass nachfolgenden Datentelegramme für einen bestimmten TAP-Controller 2 vorgesehen sind. Alternativ jedem Datentelegramm die Information beigefügt werden, für welchen der TAP-Controller 2 das Datentelegramm vorgesehen ist. Auf diese Weise kann mit mehreren TAP-Controllern 2 über ein Schnittstellenmodul 7 kommuniziert werden.
-
Durch die Einführung des Schnittstellenmoduls und des unter dessen Verwendung durchgeführten speziellen Datenübertragungsverfahrens kann z. B. die Anzahl der für einen Datenaustausch mit einem oder mehreren TAP-Controllern 2 notwendigen Pins oder Pads reduziert werden. Zusätzlich kann mit Hilfe der seriellen Schnittstelle 8 des Schnittstellenmoduls 7 z. B. die Übertragungsgeschwindigkeit und/oder -zuverlässigkeit erhöht werden.