-
Die
Erfindung betrifft einen integrierten Schaltkreis mit einer Testschnittstelle,
sowie ein Verfahren zum Übermitteln
digitaler Daten, insbesondere ein Verfahren zur Übertragung von Testdaten zu einer
Testschnittstelle.
-
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 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
Aufgabe der Erfindung besteht darin, ein neuartiges Verfahren zum Übermitteln
digitaler Daten, insbesondere Testdaten, sowie einen neuartigen integrierten
Schaltkreis mit mindestens einer Testschnittstelle vorzuschlagen,
insbesondere ein Verfahren und einen Schaltkreis, mit denen die
Anzahl der zur Datenübertragung
notwendigen Pins oder Pads reduziert, und/oder ein oder mehrere
der vorgenannten und/oder weitere Nachteile – zumindest teilweise – umgangen
werden können.
-
Vorteilhaft
soll gleichzeitig sichergestellt werden, dass die existierenden
Anwendungen für Host-Rechner
weiter verwendet werden können.
-
Die
Erfindung erreicht das o.g. und/oder weitere Ziele durch die Gegenstände der
Ansprüche
1 und 7. 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.
-
- 1
- integrierter
Schaltkreis
- 2
- Testschnittstelle
(JTAG TAP)
- 3
- Testlogik
- 3a
- Datenregister
- 4
- Debuglogik
- 4a
- Datenregister
- 5
- Signalleitungen
TCK, TMS, TDI, TRST
- 6
- Signalleitung
TDO
- 7
- Schnittstellenmodul
- 8
- serielle
Schnittstelle
- 9
- Host-Rechner
- 10
- standardisierte
Verbindung
- 11
- Adapter
- 11a
- FPGA
- 11b
- Taktgenerator
des Adapters