DE102008042680A1 - Verfahren zum Durchführen einer bidirektionalen Kommunikation - Google Patents

Verfahren zum Durchführen einer bidirektionalen Kommunikation Download PDF

Info

Publication number
DE102008042680A1
DE102008042680A1 DE102008042680A DE102008042680A DE102008042680A1 DE 102008042680 A1 DE102008042680 A1 DE 102008042680A1 DE 102008042680 A DE102008042680 A DE 102008042680A DE 102008042680 A DE102008042680 A DE 102008042680A DE 102008042680 A1 DE102008042680 A1 DE 102008042680A1
Authority
DE
Germany
Prior art keywords
electronic unit
sequence
signal
output signal
tdo
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102008042680A
Other languages
English (en)
Inventor
Gert Maier
Claus Moessner
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102008042680A priority Critical patent/DE102008042680A1/de
Priority to US12/584,792 priority patent/US8724682B2/en
Priority to CN200910177697.9A priority patent/CN101719114B/zh
Publication of DE102008042680A1 publication Critical patent/DE102008042680A1/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318572Input/Output interfaces

Abstract

Es werden ein Verfahren zur Durchführung einer bidirektionalen Kommunikation, eine elektronische Einheit (10, 12) sowie ein Computerprogramm und ein Computerprogrammprodukt zur Durchführung des Verfahrens vorgestellt. Das Verfahren ermöglicht eine bidirektionale Kommunikation zwischen einer ersten elektronischen Einheit (10) und mindestens einer zweiten elektronischen Einheit (12), bei dem von der ersten elektronischen Einheit (10) ein Taktsignal (16) und ein mit diesem synchronisiertes Eingabesignal (22) zu der mindestens zweiten elektronischen Einheit (12) übermittelt wird und die zweite elektronische Einheit (12) eine auf das Eingabesignal (22) erzeugte Antwortfolge in einem Ausgabesignal (26) zu der ersten elektronischen Einheit (10) sendet, wobei in der zweiten elektronischen Einheit (12) eine eindeutige Testfolge erzeugt wird, die vor der Antwortfolge in dem Ausgabesignal zu der ersten elektronischen Einheit (10) gesendet wird, wobei eine zeitliche Abfolge zwischen Testfolge und Antwortfolge in dem Ausgabesignal (26) eine Berücksichtigung einer zeitlichen Verzögerung zwischen der ersten elektronischen Einheit (10) und der mindestens einen zweiten elektronischen Einheit (12) ermöglicht.

Description

  • Die Erfindung betrifft ein Verfahren zum Durchführen einer bidirektionalen Kommunikation zwischen einer ersten elektronischen Einheit und mindestens einer zweiten elektronischen Einheit, eine solche elektronische Einheit sowie ein Computerprogramm und ein Computerprogrammprodukt zur Durchführung des Verfahrens.
  • Stand der Technik
  • Üblicherweise wird bei einer bidirektionalen Kommunikation zwischen elektronischen Einheiten von einer ersten elektronischen Einheit als sogenanntes Werkzeug (tool) ein Eingabe- oder Befehlssignal zu mindestens einer zweiten elektronischen Einheit, die als Ziel (target) bezeichnet werden kann, gesendet. Dieses Eingabesignal ist mit einem internen Takt der ersten elektronischen Einheit synchronisiert, wobei für ein Erkennen eines Signalpegels gewährleistet sein sollte, dass die Flanke des Taktsignals sich in der Mitte des Signals befindet, so dass dieses sicher erkannt und ausgelesen werden kann.
  • Die empfangende, zweite elektronische Einheit erzeugt auf das empfangene Eingangssignal ein Ausgabesignal, das wiederum zu der ersten elektronischen Einheit gesendet wird. In der zweiten elektronischen Einheit wird dabei das ebenfalls empfangene Taktsignal der ersten elektronischen Einheit verwendet. Nunmehr wird aber lediglich das erzeugte Ausgabesignal zu der ersten elektronischen Einheit rückgesendet. In dieser wird das aufgenommene Ausgabesignal mit dem intern vorliegenden Takt ausgewertet.
  • Hierbei ist problematisch, dass es aufgrund von zwischen den Einheiten vorgesehenen Schaltungsanordnungen zu erheblichen Verzögerungen kommen kann, deren Ausmaß häufig unbekannt ist. Diese Verzögerungen, die für unterschiedliche Signale ggf. auch verschieden sind, können auch von äußeren Bedingungen, wie bspw. der Temperatur, abhängig sein und können dazu führen, dass die zeitliche Verschiebung des internen Takts zu dem empfangenen Ausgabesignal derart ist, dass das Ausgabesignal nicht mehr sicher erfasst und ausgewertet werden kann.
  • Offenbarung der Erfindung
  • Das beschriebene Verfahren dient zum Durchführen einer bidirektionalen Kommunikation zwischen einer ersten elektronischen Einheit und mindestens einer zweiten elektronischen Einheit, bei dem von der ersten elektronischen Einheit ein Taktsignal und ein mit diesem synchronisiertes Eingabesignal zu der mindestens zweiten elektronischen Einheit übermittelt wird und die zweite elektronische Einheit eine auf das Eingabesignal erzeugte Antwortfolge in einem Ausgabesignal zu der ersten elektronischen Einheit sendet, wobei in der zweiten elektronischen Einheit eine eindeutige Testfolge erzeugt wird, die vor der Antwortfolge in dem Ausgabesignal zu der ersten elektronischen Einheit gesendet wird, wobei eine zeitliche Abfolge zwischen Testfolge und Antwortfolge in dem Ausgabesignal eine Berücksichtigung einer zeitlichen Verzögerung zwischen der ersten elektronischen Einheit und der mindestens einen zweiten elektronischen Einheit ermöglicht.
  • In Ausgestaltung wird die Testfolge in dem Ausgabesignal von der ersten elektronischen Einheit erfasst und auf diese Weise die Antwortfolge in dem Ausgabesignal erkannt. Dies ist möglich, da die zeitliche Abfolge zwischen Testfolge und Antwortfolge bekannt ist. Daher ist bekannt, in welchem zeitlichen Abstand zu der Testfolge die Antwortfolge in dem Ausgabesignal übermittelt wird.
  • Es kann vorgesehen sein, dass das Ausgabesignal mit einem Mehrfachen des Takts, der auch mit dem Taktsignal übermittelt wird, abgetastet wird. Dies ermöglicht ein schnelles Erkennen der Testfolge. Der Takt, mit dem dann anschließend die Antwortfolge in dem Ausgabesignal ausgewertet wird, wird unter Berücksichtigung der Testfolge gewählt bzw. der Antwortfolge angepasst.
  • In Ausgestaltung wird bei dem Verfahren die zeitliche Verzögerung zwischen der ersten elektronischen Einheit und der mindestens einen zweiten elektronischen Einheit gemessen.
  • Die Kommunikation kann über eine JTAG-Schnittstelle (JTAG, joint test action group) erfolgen.
  • Die Testfolge umfasst bspw. mindestens einen Zustandswechsel. Das bedeutet, dass die Testfolge bspw. durch die Pegelwertfolge 01 oder 10 gegeben ist.
  • Eine elektronische Einheit dient insbesondere zur Durchführung eines Verfahrens nach einem der Ansprüche 1 bis 7 und weist eine Einrichtung zum Erzeugen einer Antwortfolge auf das Eingabesignal und einer Testfolge sowie zum Kombinieren der Testfolge mit der Antwortfolge auf.
  • Die Erfindung betrifft weiterhin ein Computerprogramm mit Programmcodemitteln, um alle Schritte eines beschriebenen Verfahrens durchzuführen, wenn das Computerprogramm auf einem Computer oder einer entsprechenden Recheneinheit, insbesondere in einer beschriebenen elektronischen Einheit, ausgeführt wird.
  • Das erfindungsgemäße Computerprogrammprodukt mit Programmcodemitteln, die auf einem computerlesbaren Datenträger gespeichert sind, ist zum Durchführen aller Schritte eines beschriebenen Verfahrens ausgebildet, wenn das Computerprogramm auf einem Computer oder einer entsprechenden Recheneinheit, insbesondere in einer beschriebenen elektronischen Einheit, ausgeführt wird.
  • Bei dem vorgestellten Verfahren kann somit das Ausgabesignal bzw. TDO-Signal werkzeugseitig entkoppelt vom Takt- bzw. TCK-Signal werden. Anstelle der im Stand der Technik vorgesehenen Synchronisation zwischen TDO- und TCK-Signal treten zusätzlich auf das TDO-Signal aufgeprägte Testfolgen- bzw. Synchronisationsbits auf. Dadurch ergeben sich zwei Vorteile, nämlich dass die Taktrate aller Signale deutlich erhöht werden kann und dass auch bei gleichbleibender Taktrate die Kommunikation robuster gegen sporadische Verzögerungen durch Puffer oder Treiberbauelemente in der Signalübertragung erfolgt.
  • Insbesondere ist zu berücksichtigen, dass die Kompatibilität zum Stand der Technik gegeben ist. Bestehende Werkzeuge ignorieren die zusätzliche Synchronisation auf dem TDO-Signal, da bisher dort keine Information übertragen wird, und können somit mit der bisherigen Taktfrequenz weiterbetrieben werden.
  • Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.
  • Es versteht sich, dass der voranstehend genannten und die nachstehend noch zu erläuternden Merkmale nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen.
  • Kurze Beschreibung der Zeichnungen
  • Die Erfindung ist anhand von Ausführungsformen in den Zeichnungen schematisch dargestellt und wird im Folgenden auf die Bezugnahme auf Zeichnungen ausführlich beschrieben.
  • 1 zeigt eine Anordnung mit einer ersten elektronischen Einheit und einer zweiten elektronischen Einheit zur Durchführung des erfindungsgemäßen Verfahrens.
  • 2 zeigt Verläufe der bei einer bidirektionalen Kommunikation gesendeten Signale gemäß dem Stand der Technik.
  • 3 zeigt weitere Verläufe von bei einer bidirektionalen Kommunikation gesendeten Signalen gemäß dem Stand der Technik.
  • 4 zeigt mögliche Konfigurationen des JTAG-Standards.
  • 5 zeigt in einem Zustandsdiagramm eine JTAG-TAP-Zustandsmaschine.
  • 6 zeigt ein Zeitablaufdiagramm der JTAG-TAP-Zustandsmaschine mit zugeordneten Zuständen bei einem Ablauf gemäß dem Stand der Technik.
  • 7 zeigt ein weiteres Zeitablaufdiagramm der JTAG-TAP-Zustandsmaschine mit zugeordneten Zuständen bei einem Ablauf nach dem erfindungsgemäßen Verfahren.
  • 8 zeigt das Zeitablaufdiagramm aus 7 ergänzt durch Angaben zum Verhalten des TDO-Signals.
  • 9 zeigt zwei Beispiele von Übertragungsnetzwerken.
  • 10 zeigt ein weiteres Zeitablaufdiagramm.
  • Ausführungsformen der Erfindung
  • In 1 ist eine erste elektronische Einheit 10 und eine zweite elektronische Einheit 12 dargestellt, die für eine bidirektionale Kommunikation vorgesehen sind und hierzu über eine JTAG-Schnittstelle 14 miteinander verbunden sind. Die erste elektronische Einheit 10 wird auch als Werkzeug bzw. Tool und die zweite elektronische Einheit 12 als Ziel bzw. Target bezeichnet. Diese zweite elektronische Einheit 12 kann bspw. ein Mikrocontroller in einem Steuergerät sein.
  • Die erste elektronische Einheit 10 als sogenannter Master steuert die Kommunikation über die JTAG-Schnittstelle 14 und erzeugt ein Taktsignal 16 (TCK-Signal), ein Reset-Signal 18 (TRST-Signal), ein Testmodus-Auswahlsignal 20 (TMS-Signal bzw. test modus select signal) und ein Eingabesignal 22 (TDI-Signal) und sendet diese zu der zweiten elektronischen Einheit 12 Hierbei ist zu beachten, dass die genannten Signale einer zeitlichen Verzögerung unterworfen sind, die in der Darstellung mit einem Verzögerungsblock 24 (delay) angezeigt ist.
  • Die zweite elektronische Einheit 12 stellt den sogenannten Slave dar und führt angeforderte Aktionen, wie bspw. Lese- und Schreibvorgänge, durch. Hierbei sendet die zweite elektronische Einheit 12 ein Ausgabesignal 26 (TDO-Signal) zu der ersten elektronischen Einheit 10. Weiterhin kann die zweite elektronische Einheit 12 zusätzliche Signale zum Anzeigen bzw. Signalisieren verwenden. Zu beachten ist, dass die zweite elektronische Einheit 12 den Takt der ersten elektronischen Einheit 10 verwendet.
  • Die Verzögerung zwischen der ersten elektronischen Einheit 10 und der zweiten elektronischen Einheit 12 wird beeinflusst durch die Leitungslänge zwischen den Einheiten 10 und 12 und ggf. durch vorgesehene weitere elektronische Einrichtungen zwischen diesen. Dies führt zu Verzögerungen bei der Signalübertragung, deren Ausmaß regelmäßig unbekannt ist. Da in der ersten elektronischen Einheit 10 das empfangene Ausgabesignal 26 der zweiten elektronischen Einheit 12 mit dem intern vorliegenden Takt erfasst und ausgewertet wird, kann dies dazu führen, dass das Ausgabesignal 26 nicht erkannt oder falsch interpretiert wird.
  • In 2 sind Signalverläufe bei einer bidirektionalen Kommunikation dargestellt. In der Darstellung oben sind die Verläufe auf Seiten des Tool gezeigt, nämlich ein Taktsignal 40, ein Eingabesignal 42 und ein empfangenes Ausgabesignal 44. Unten in der Darstellung sind auf Seiten des Target das Taktsignal 40, das Eingabesignal 42 und das Ausgabesignal 44 dargestellt. Ein Doppelpfeil 48 verdeutlicht die Periode des Takts.
  • Eine ansteigende Flanke 50 des Taktsignals bewirkt verzögert um den Zeitraum tCO_A 52 das Auslösen einer Signalwerts 54 in dem Eingabesignal 42, das zu dem Target gesendet und dort verzögert um eine Zeitspanne 56 empfangen wird. Dieses Eingabesignal 42 wird nach einer Zeitspanne tSU_B 57 bei dem Target mit einer ansteigenden Flanke 58 erkannt, wobei diese ansteigende Flanke ebenfalls im Vergleich zu der Toolseite um eine zeitliche Verzögerung 60 verschoben auftritt. Mit abfallender Flanke 62 wird nach einer Zeitspann 64 tCO_B eine Antwort- bzw. Ausgabefolge 66 erzeugt und zu der Toolseite gesendet. Auf Seiten des Tool wird diese Ausgabefolge 66 in dem Ausgabesignal 44 auf Seiten des Tool nach einer Verzögerung 68 empfangen. Diese Ausgabefolge 66 wird auf Seiten des Tool mit einer abfallenden Flanke 70 des Taktsignals 40 nach einer Zeitspanne 72 tSU_A erfasst.
  • Die Darstellung zeigt, dass die Ausgabefolge 66 auf Seiten des Tool noch korrekt erfasst und erkannt werden kann. Dies ist aufgrund der im Vergleich zur vorliegenden Verzögerung 56, 60 und 68 vorliegenden Verzögerung verhältnismäßig lange gewählten Periode 48 des Taktsignals 40 möglich. Die Darstellung verdeutlicht auch, dass die Verzögerungen 56, 60 und 68 die maximale Taktfrequenz begrenzen, bei der noch eine fehlerfreie Kommunikation zwischen Tool und Target möglich ist.
  • In 3 sind wiederum Signalverläufe bei einer bidirektionalen Kommunikation dargestellt, wobei oben die Verläufe auf Seiten des Tool gezeigt sind, nämlich ein Taktsignal 100, ein Eingabesignal 102 und ein empfangenes Ausgabesignal 104. Unten in der Darstellung sind auf Seiten des Target das Taktsignal 100, das Eingabesignal 102 und das Ausgabesignal 104 wiedergegeben. Ein Doppelpfeil 108 zeigt die Periode des Takts.
  • Eine ansteigende Flanke 110 des Taktsignals 100 bewirkt verzögert um den Zeitraum tCO_A 112 das Auslösen eines Signalwerts 114 in dem Eingabesignal 102, das zu dem Target gesendet wird und dort verzögert um eine Zeitspanne 116 empfangen wird. Dieser Signalwert 114 wird nach einer Zeitspanne tSU_B 117 bei dem Target mit einer ansteigenden Flanke 118 erkannt, wobei diese ansteigende Flanke 118 ebenfalls im Vergleich zu der Toolseite um eine zeitliche Verzögerung 120 verschoben auftritt. Mit abfallender Flanke 122 wird nach einer Zeitspann 124 tCO_B eine Ausgabefolge 126 erzeugt und zu der Toolseite gesendet. Auf Seiten des Tool wird diese Ausgabefolge 126 in dem Ausgabesignal 104 nach einer Verzögerung 128 empfangen. Diese Ausgabefolge 126 kann auf Seiten des Tool mit einer abfallenden Flanke 130 des Taktsignals 100 nicht mehr erfasst werden.
  • Das Tool erzeugt somit basierend auf dem Taktsignal 100 das TMS-Signal und das TDI-Signal mit einer Verzögerung von tCO_A und stellt diese Signale dem Target zur Verfügung. Üblicherweise werden das TMS-Signal und das TDI-Signal dabei bei einer ansteigenden Flanke des TCK-Signals erzeugt. Alle Signale werden über einen Übertragungsweg übertragen und erreichen das Target mit einer gewissen Verzögerung. Die Unterschiede in den Verzögerungen der einzelnen Signale sind üblicherweise vernachlässigbar.
  • Das Target erfasst die Signale mit dem empfangenen Takt bzw. tastet diese mit dem Takt ab. Für ein fehlerfreies Abtasten ist eine definierte Setup- bzw. Einrichtzeit tSU_B erforderlich.
  • Das Target erzeugt das TDO-Signal basierend auf dem TCK-Signal mit einer Verzögerung von tCO_B und stellt dieses Signal dem Tool zur Verfügung. Üblicherweise wird das TDO-Signal bei einer fallenden Flanke des TCK-Signals erzeugt. Das TDO-Signal wird über den Übertragungsweg zu dem Tool gesendet und dort mit einer gewissen Verzögerung empfangen. Das Tool tastet das TDO-Signal mit dem Takt ab, wobei für ein fehlerfreies Abtasten eine definierte Setup-Zeit tSU_A notwendig ist.
  • Die zeitliche Verzögerung zwischen dem Tool und dem Target ist in der Regel unkritisch, wenn die Unterschiede zwischen zeitlichen Verzögerungen unterschiedlicher Signale, d. h. die Laufzeitunterschiede der einzelnen Signale, vernachlässigbar sind. Die zeitliche Beziehung zwischen TCK, TMS und TDI bleibt durch die Verzögerung unbeeinflusst. Dies bedeutet, dass, wenn die erforderliche Setup-Zeit tSU_B auf Seiten des Tool erfüllt ist, dies auch bei dem Target der Fall ist.
  • Der Übertragungsweg zwischen dem Target und dem Tool stellt den kritischen Pfad dar. Angenommen, die zeitliche Verzögerung ist bei beiden Übertragungswegen gleich, so ergibt sich folgende Gleichung: tCO_B + tSU_A + 2·Verzögerung < TCK
  • Die Periode des Takts muss somit größer als die gesamte zeitliche Verzögerung sein, um einen fehlerfreien Ablauf zu gewährleisten. Daher ist die Frequenz des Takts und damit der gesamten Schnittstelle begrenzt. Wenn die zeitliche Verzögerung fest und bekannt ist, kann das Tool das TDO-Signal mit einem verzögerten Takt abtasten. Ist die Verzögerung aber variabel oder unbekannt, stellt dies ein erhebliches Problem dar.
  • Hier setzt das vorgestellte Verfahren an. Dieses ermöglicht höhere Frequenzen bei der Datenübertragung, insbesondere bei einer JTAG-Schnittstelle. Weiterhin wird die Robustheit selbst bei beträchtlichen Verzögerungen verbessert. Diese zeitlichen Verzögerungen kommen bspw. durch lange Übertragungswege und zwischengeschaltete Puffer zustande. Ein Abweichen bzw. Driften der zeitlichen Verzögerung kann auch durch Temperatureinflüsse verursacht werden. Mit dem Verfahren ist eine dynamische Anpassung and unterschiedliche Übertragungswege und sich ändernde Temperaturen möglich.
  • In 4 sind mögliche Ausführungen des JTAG-Standards dargestellt. Dabei ist in einer ersten Ausführung 150 eine serielle Konfiguration und in einer zweiten Ausführung 152 eine gemischte seriell-parallele Konfiguration dargestellt.
  • In der seriellen Konfiguration 150 sind vier elektronische Einheiten 154, 156, 158 und 160 in Reihe geschaltet vorgesehen. Ein Eingabesignal 162 TDI wird zusammen mit einem Taktsignal 164 TCK und einem Test-Mode-Select-Signal 166 in die erste elektronische Einheit 154 eingegeben. Ein Ausgabesignal 168 TDO der ersten elektronischen Einheit 154 stellt ein Eingabesignal 170 TDI für die zweite elektronische Einheit 156 dar. Das Ausgabesignal 172 TDO der zweiten elektronischen Einheit 156 ist das Eingabesignal 174 für die dritte elektronische Einheit 158. Das Ausgabesignal 176 TDO der dritten elektronischen Einheit 158 stellt das Eingabesignal 178 der vierten elektronischen Einheit 160 dar. Das Ausgabesignal 180 TDO der vierten elektronischen Einheit 160 ist das Ausgabesignal 180 TDO der gesamten Konfiguration 150. Das Taktsignal 164 und das Test-Mode-Select-Signal 166 werden den elektronischen Einheiten 154 bis 160 jeweils gesondert zugeführt.
  • In der zweiten Ausführung 152 sind wiederum vier elektronische Einheiten 182, 184, 186 und 188 vorgesehen, die in zwei Zweigen bzw. Gruppen, nämlich eine erste Gruppe mit den Einheiten 182 und 184 und eine zweite Gruppe mit den Einheiten 186 und 188, unterteilt sind. In den Gruppen sind die Einheiten 182 bis 188 seriell miteinander verbunden. Die beiden Gruppen sind parallel zueinander angeordnet und entsprechend miteinander verbunden.
  • Als Eingangsgröße dient ein TDI 190 und ein TCK 192. Allerdings sind für die beiden Gruppen getrennte Test-Mode-Select-Signale, nämlich ein mit Bezugsziffer 194 bezeichnetes TMS 1 und ein mit Bezugsziffer 196 bezeichnetes TMS 2 vorgesehen. Ausgangsgröße ist TDO 198.
  • Der JTAG-Standard definiert, dass das TDO-Signal nur in den Shift-IR- und Shift-DR-Zuständen des TAP-Controllers aktiv und in allen anderen Zuständen inaktiv (hochohmig) ist. Das dargestellte Verfahren modifiziert das Verhalten des TDO in einigen TAP-Zuständen, ohne die Funktionalität der JTAG-Schnittstelle zu beeinträchtigen. Bei der seriellen Konfiguration sind alle TAP-Controller jeder Kette in dem selben Zustand und TDO ist mit dem TDI der benachbarten Einheit verbunden. Ein Überführen der TAP in einen anderen Zustand als die Shift-Zustände hat keinen Einfluss.
  • Bei einer parallelen Konfiguration sind alle TDOs und TDIs miteinander verbunden, haben aber getrennte TMS-Signale. Somit kann nur ein Controller in dem Shift-Zustand sein und alle anderen Einheiten können in dem Reset- oder Idle-Zustand des TAP-Controller gehalten sein. In diesen beiden Zuständen, nämlich Reset und Idle schlägt das vorgestellte Verfahren ein unverändertes Verhalten (hochohmig) vor, so dass nur eine aktive Einheit TDO ausgeben wird.
  • Dies ist auch auf gemischte seriell-parallele Anordnung anwendbar, wie diese in 4 mit Bezugsziffer 152 bezeichnet wiedergegeben ist.
  • In 5 ist in einem Zustandsdiagramm eine JTAG-TAP-Zustandsmaschine gezeigt (TAP, Test Access Port: Testzugangsanschluss), die insgesamt mit der Bezugsziffer 210 bezeichnet ist. Dies ist eine Zustandsmaschine, deren Übergänge durch das TMS-Signal gesteuert bzw. bewirkt werden und die das Verhalten des JTAG-Systems kontrolliert.
  • Zustände sind Test-Logic-Reset 212, Run-Test/Idle 214, Select-DR-Scan 216, Capture-DR 218, Shift-DR 220, Exit-DR 222, Pause-DR 223, Exit2-DR 224, Update-DR 226, Select-IR-Scan 228, Capture-IR 230, Shift-IR 232, Exit-IR 234, Pause-IR 236, Exit2-IR 238 und Update-IR 240.
  • Signalverläufe und zugeordnete Zustände der JTAG-TAP-Zustandsmaschine 210 sind in 6 in einem Zeitablaufdiagramm wiedergegeben. Die Darstellung zeigt den Verlauf eines Taktsignals TCK 250, eines Test-Select-Mode-Signals TMS 252, eines Eingabesignals TDI 254 und eines Ausgabesignals TDO 256. Die Darstellung zeigt das Verhalten der Zustandsmaschine bei einem Ablauf gemäß dem Stand der Technik.
  • Zugeordnete Zustände sind Idle 260, Select-DR 262, Select-IR 264, Capture-IR 266, Shift-IR 268, Exit1-IR 270, Update-IR 272, Select-DR 274, Capture-DR 276, Shift-DR 278, Exit1-DR 280, Update-DR 282 und Idle 284.
  • Gestrichelt dargestellte Signalwerte 286 des TDI-Signals 254 haben keine Auswirkung. Ein Signalwert 288 des TDO-Signals 256 gibt einen hochohmigen Zustand wieder.
  • Das TMS-Signal 252 bestimmt die Abfolge der Zustände der JTAG-TAP-Zustandsmaschine 210. Dabei werden unterschiedliche Aktionen in den spezifischen bzw. zugeordneten Zuständen durchgeführt. Ein Datenaustausch erfolgt im Shift-IR-Zustand und im Shift-DR-Zustand. Somit wird nur in diesen Zuständen TDO aktiv getrieben.
  • Das Zeitablaufdiagramm der 6 zeigt einen Zyklus durch den IR- und den DR-Pfad, beginnend mit dem Zustand Idle und zu diesem Zustand zurückkehrend. Dabei umfassen IR-Daten zwei Bits und DR-Daten vier Bits. TDI muss bei der ansteigenden Flanke von TCK gültig sein. TDO wird bei der fallenden Flanke von TCK geändert.
  • In 7 ist ein weiteres Zeitablaufdiagramm der JTAG-TAP-Zustandsmaschine aus 5 dargestellt.
  • Das Diagramm zeigt den Verlauf des Taktsignals TCK 350, eines Test-Select-Mode-Signals TMS 352, eines Eingabesignals TDI 354 und eines Ausgabesignals TDO 356. Die Darstellung zeigt das Verhalten der Zustandsmaschine bei einem erfindungsgemäßen Ablauf.
  • Zugeordnete Zustände sind Idle 360, Select-DR 362, Select-IR 364, Capture-IR 366, Shift-IR 368, Exit1-IR 370, Update-IR 372, Select-DR 374, Capture-DR 376, Shift-DR 378, Exit1-DR 380, Update-DR 382 und Idle 384.
  • Gestrichelt dargestellte Signalwerte 386 des TDI-Signals 254 haben keine Auswirkung. Ein Signalwert 388 des TDO-Signals 256 gibt einen hochohmigen Zustand mit pull-up-Verhalten (Hochzieh-Verhalten) wieder.
  • Bei dem erfindungsgemäßen Verfahren bleibt die JTAG-TAP-Zustandsmaschine unverändert gegenüber der Vorgehensweise gemäß dem Stand der Technik. TDO wird aktiv tief bzw. low während des Zustands Select-DR. Während der Zustände Select-IR 364, Capture-DR 376, Capture-IR 366, Exit1-IR 370, Pause-DR, Pause-IR, Exit2-DR, Exit2-IR wird TDO aktiv hoch bzw. high getrieben.
  • TDO bleibt hochohmig während der Zustände Reset, Idle, Update-DR, Update-IR. Weiterhin zeigt TDO ein Hochzieh-Verhalten während hochohmiger Zustände entweder durch einen internen oder externen Pullup-Widerstand. Die in 6 dargestellte Sequenz ändert sich dann zu der in 7 dargestellten Sequenz.
  • In 7 ist zu erkennen, dass in dem TDO-Signal vor einer Antwortfolge 390 und 392 jeweils eine Testfolge 396 und 398 umfasst ist, die jeweils ein Bitmuster 01 aufweist. Dieses eindeutige Bitmuster wird von dem Tool erkannt. Da die zeitliche Abfolge zwischen Antwortfolge 390 und 392 und Testfolge 396 und 398 bekannt ist, erkennt das Tool, wann die Antwortfolgen 390 und 392 in dem Ausgabesignal TDO 356 anliegen.
  • In 8 ist das Zeitablaufdiagramm aus 7 wiedergegeben, wobei zusätzlich zeitliche Bereiche unterschiedlichen Verhaltens des TDO verdeutlicht sind.
  • In einem ersten Bereich 450 ist TDO hochohmig mit pull-up. In einem zweiten Bereich 452 ist TDO als erster Bitwert 0 der Testfolge 396 nach unten gezogen. In einem dritten Bereich 454 ist TDO als zweiter Bitwert 1 der Testfolge 396 nach oben gezogen. In einem vierten Bereich 456 gibt TDO im Rahmen der Antwortfolge 390 Daten aus. In einem fünften Bereich 458 ist TDO nach oben gezogen. In einem sechsten Bereich 460 ist TDO hochohmig mit pull-up. In einem siebten Bereich 462 ist TDO im Rahmen der Testfolge 398 nach unten gezogen. In einem achten Bereich 464 ist TDO nach oben gezogen. In einem neunten Bereich 466 gibt TDO Daten aus. In einem zehnten Bereich 468 ist TDO nach oben gezogen. In einem elften Bereich 470 ist TDO hochohmig mit pull-up.
  • Das erfindungsgemäße Verfahren arbeitet somit mit nur geringfügigen Änderungen im Verhalten des TDO. So kann bspw. das Verhalten von TDO während der update-Zustände unverändert bleiben. Außerdem wird TDO mit fallender Taktflanke geändert. Die beschriebene Vorgehensweise sieht vor, dass TDO eine Folge bzw. einen Impuls definierter Länge mit definierten Pegeln ausgibt, ohne dabei die JTAG-TAP-Zustandsmaschine zu beeinflussen. Das Verhalten der Schnittstelle in serieller oder paralleler Konfiguration und das Werkzeug bzw. Tool bleiben unverändert. Dies erleichtert den Einsatz des dargestellten Verfahrens in bestehenden Systemen.
  • Von besonderem Vorteil ist, dass die TAP-Zustandsmaschine nicht geändert werden muss. Es ist möglich, Zeitverzögerungen zu kompensieren, selbst wenn das Maß dieser Verzögerungen unbekannt ist. Bei variierenden Verzögerungen ist eine dynamische Kompensation möglich.
  • In 9 sind zwei Beispiele von Übertragungsnetzwerken dargestellt, wobei oben ein sogenanntes LVDS-Übertragungsnetzwerk 670 (LVDS, low voltage differential signalling) und unten ein sogenanntes SerDes-Übertragungsnetzwerk 672 (SerDes, Serializer/Deserializer) dargestellt sind.
  • Das LVDS-Netzwerk 670 weist eine erste elektronische Einheit 674 bzw. ein Tool und eine zweite elektronische Einheit 676 bzw. ein Target auf. Das Tool 674 sendet ein Reset-Signal bzw. TRST-Signal 678, ein Taktsignal bzw. TCK-Signal 680, ein Test-Modus-Select-Signal bzw. TMS-Signal 682 und ein Eingabesignal bzw. TDI-Signal684 zu dem Target 676.
  • Die über das Netzwerk empfangenen Signale werden in dem Target 676 verarbeitet und es wird in Reaktion auf das TDI-Signal 684 eine Antwortfolge generiert, die in einem Ausgabesignal bzw. TDO-Signal 686 an das Tool 674 gesendet wird.
  • Das vorgesellte Verfahren bietet, zumindest in einigen der beschriebenen Ausführungen, eine Reihe von Vorteilen. So ist es nicht erforderlich, die TAP-Zustandsmaschine zu ändern. Die Anordnung kann immer noch in einer JTAG-Konfiguration, unabhängig davon, ob dies eine serielle oder parallele Konfiguration ist, betrieben werden. Die Eigenschaften und das Leistungsvermögen der JTAG-Schnittstelle werden nicht beeinträchtigt. Daher sind keine zusätzlichen Zustände und keine zusätzlichen Taktgeber erforderlich. Die Sequenz ist vergleichbar der Sequenz, die in 6 dargestellt ist.
  • Eine Umstellung auf ein modifiziertes Tool ist nicht notwendig. Bisher verwendete Tools werden nicht durch das neue Verhalten beeinflusst, diese ignorieren lediglich das neue TDO-Verhalten und arbeiten wie bisher bis zu einer begrenzten Frequenz und begrenzten Übertragungsverzögerungen.
  • Die neue Vorgehensweise kann die beschriebenen Verzögerungen kompensieren, was insbesondere bei unbekannten oder variierenden Verzögerungen von Vorteil ist. Das gesamte System wird dadurch robuster.
  • Das in der 9 unten dargestellte SerDer-Übertragungsnetzwerk 672 umfasst ebenfalls eine erste elektronische Einheit bzw. ein Tool 688 und eine zweite elektronische Einheit bzw. ein Target 690. Bei dieser Ausführung werden ein TRST-Signal 692, ein TCK-Signal 694, ein TMS-Signal 696 und ein TDI-Signal 698 von dem Tool 688 ausgegeben und in einem Multiplexer bzw. Serializer 700 zu einem kombinierten Signal 702 zusammengefasst bzw. gebündelt. Dieses kombinierte Signal 702 wird in einem Demultiplexer bzw. Deserializer 704 wieder in die vier Ausgangssignale wieder entbündelt. Als Reaktion auf das TDI-Signal 698 wird von dem Target 690 ein TDO-Signal 706 ausgegeben, das über einen Serializer 708 und einen Deserializer 710 zu dem Tool 688 übertragen wird.
  • In 10 ist ein Beispiel einer dynamischen Anpassung an eine unbekannte oder variierende Verzögerung auf Seiten des Tool dargestellt.
  • Die Darstellung zeigt ein Zeitablaufdiagramm mit einem TCK-Signal 800, einem TMS-Signal 802, einem TDI-Signal 804 und einem TDO-Signal 806. Das TDO-Signal 806 trägt eine erste Testfolge 808 mit einer zugeordneten Antwortfolge 810 und eine zweite Testfolge 812 mit zugeordneter Antwortfolge 814.
  • Der durch das TCK-Signal 800 festgelegte Takt stellt den ursprünglichen Takt des Tool dar. Das TDO-Signal 806 wird mit einem Mehrfachen des Takts des TCK-Signals 800 abgetastet, wie dies mit Pfeilen 816 verdeutlicht ist, so dass die Testfolgen 808 und 812 schnell erkannt werden. Nach Erkennen der Testfolge 808 bzw. 812 kann das TCK-Signal 800 entsprechend angepasst werden, so dass ein sicheres Erkennen der Antwortfolgen 810 und 814 gewährleistet werden kann.
  • Es erfolgt somit ein mehrfaches Überabtasten (oversampling) auf Seiten des TDO, die Frequenz von TCK ist bekannt, es werden somit phasenverschobene Abtasttakte verwendet.
  • Durch das bekannte Testmuster 808 oder 812 kann nun aus den möglichen Abtastzeitpunkten 1, 2, 3, 4 des Abtasttaktes 816 der richtige ausgewählt werden. In dem dargestellten Diagramm eignet sich z. B. der gestrichelt eingezeichnete Zeitpunkt 3 des Abtasttakts 816 zur weiteren Abtastung der Antwortfolge 810 und 814. Das heißt, dass die Antwortfolge 810 und 814 im weiteren Verlauf jeweils zum Zeitpunkt 3 des Abtasttaktes 816 ausgewertet wird. Bei einer nächsten Antwort auf eine neue Eingabefolge 802 und 804 wird die Auswahl des richtigen Abtastzeitpunkts 1, 2, 3, 4 mit Hilfe des Testmusters neu ermittelt. Es erfolgt somit eine dynamische Anpassung des Abtastzeitpunkts.

Claims (10)

  1. Verfahren zum Durchführen einer bidirektionalen Kommunikation zwischen einer ersten elektronischen Einheit (10, 154, 674, 688) und mindestens einer zweiten elektronischen Einheit (12, 156, 676, 690), bei dem von der ersten elektronischen Einheit (10, 154, 674, 688) ein Taktsignal (16, 40, 100, 164, 250, 350, 680) und ein mit diesem synchronisiertes Eingabesignal (22, 42, 102, 162, 170, 174, 178, 254, 354, 684) zu der mindestens zweiten elektronischen Einheit (12, 156, 676, 690) übermittelt wird und die zweite elektronische Einheit (12, 156, 676, 690) eine auf das Eingabesignal (22, 42, 102, 162, 170, 174, 178, 254, 354, 684) erzeugte Antwortfolge (390, 392, 810, 814) in einem Ausgabesignal (26, 44, 104, 168, 172, 176, 180, 256, 356, 686) zu der ersten elektronischen Einheit sendet, wobei in der zweiten elektronischen Einheit (12, 156, 676, 690) eine eindeutige Testfolge (396, 398, 808, 812) erzeugt wird, die vor der Antwortfolge (390, 392, 810, 814) in dem Ausgabesignal (26, 44, 104, 168, 172, 176, 180, 256, 356, 686) zu der ersten elektronischen Einheit (10, 154, 674, 688) gesendet wird, so dass eine zeitliche Abfolge zwischen Testfolge (396, 398, 808, 812) und Antwortfolge (390, 392, 810, 814) in dem Ausgabesignal (26, 44, 104, 168, 172, 176, 180, 256, 356, 686) eine Berücksichtigung einer zeitlichen Verzögerung zwischen der ersten elektronischen Einheit (10, 154, 674, 688) und der mindestens einen zweiten elektronischen Einheit (12, 156, 676, 690) ermöglicht.
  2. Verfahren nach Anspruch 1, bei dem die Testfolge (396, 398, 808, 812) in dem Ausgabesignal (26, 44, 104, 168, 172, 176, 180, 256, 356, 686) von der ersten elektronischen Einheit (10, 154, 674, 688) erfasst wird und so die Antwortfolge (390, 392, 810, 814) in dem Ausgabesignal (26, 44, 104, 168, 172, 176, 180, 256, 356, 686) erkannt wird.
  3. Verfahren nach Anspruch 1 oder 2, bei dem das Ausgabesignal (26, 44, 104, 168, 172, 176, 180, 256, 356, 686) in der ersten elektronischen Einheit (10, 154, 674, 688) mit einem Mehrfachen des Takts abgetastet wird.
  4. Verfahren nach Anspruch 3, bei dem eine Anpassung des internen Takts an die erfasste Antwortfolge (390, 392, 810, 814) in dem abgetasteten Ausgabesignal (26, 44, 104, 168, 172, 176, 180, 256, 356, 686) erfolgt.
  5. Verfahren nach einem der Ansprüche 1 bis 4, bei dem eine zeitliche Verzögerung zwischen der ersten elektronischen Einheit (10, 154, 674, 688) und der zweiten elektronischen Einheit (12, 156, 676, 690) gemessen wird.
  6. Verfahren nach einem der Ansprüche 1 bis 5, bei dem die Kommunikation über eine JTAG-Schnittstelle (14) erfolgt.
  7. Verfahren nach einem der Ansprüche 1 bis 6, bei dem die Testfolge (396, 398, 808, 812) mindestens einen Zustandswechsel umfasst.
  8. Elektronische Einheit, insbesondere zur Durchführung eines Verfahrens nach einem der Ansprüche 1 bis 7, die eine Einrichtung zum Erzeugen einer Antwortfolge auf ein Eingabesignal (22, 42, 102, 162, 170, 174, 178, 254, 354, 684), einer Testfolge (396, 398, 808, 812) und zum Kombinieren der Testfolge (396, 398, 808, 812) mit der Antwortfolge (390, 392, 810, 814) in einem Ausgabesignal (26, 44, 104, 168, 172, 176, 180, 256, 356, 686) aufweist.
  9. Computerprogramm mit Programmcodemitteln, um alle Schritte eines Verfahrens in einem der Ansprüche 1 bis 7 durchzuführen, wenn das Computerprogramm auf einem Computer oder einer entsprechenden Recheneinheit ausgeführt wird.
  10. Computerprogrammprodukt mit Programmcodemitteln, die auf einem computerlesbaren Datenträger gespeichert sind, um alle Schritte eines Verfahrens im Rahmen der Ansprüche 1 bis 7 durchzuführen, wenn das Computerprogramm auf einem Computer oder einer entsprechenden Recheneinheit ausgeführt wird.
DE102008042680A 2008-10-08 2008-10-08 Verfahren zum Durchführen einer bidirektionalen Kommunikation Pending DE102008042680A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102008042680A DE102008042680A1 (de) 2008-10-08 2008-10-08 Verfahren zum Durchführen einer bidirektionalen Kommunikation
US12/584,792 US8724682B2 (en) 2008-10-08 2009-09-10 Method for carrying out bidirectional communications
CN200910177697.9A CN101719114B (zh) 2008-10-08 2009-09-30 用于执行双向通信的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102008042680A DE102008042680A1 (de) 2008-10-08 2008-10-08 Verfahren zum Durchführen einer bidirektionalen Kommunikation

Publications (1)

Publication Number Publication Date
DE102008042680A1 true DE102008042680A1 (de) 2010-04-15

Family

ID=41820874

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102008042680A Pending DE102008042680A1 (de) 2008-10-08 2008-10-08 Verfahren zum Durchführen einer bidirektionalen Kommunikation

Country Status (3)

Country Link
US (1) US8724682B2 (de)
CN (1) CN101719114B (de)
DE (1) DE102008042680A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015226188A1 (de) * 2015-12-21 2017-06-22 Robert Bosch Gmbh Verfahren zu einer Sicherung einer Benutzung zumindest einer Handwerkzeugmaschine

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7283568B2 (en) * 2001-09-11 2007-10-16 Netiq Corporation Methods, systems and computer program products for synchronizing clocks of nodes on a computer network
US7092472B2 (en) * 2003-09-16 2006-08-15 Rambus Inc. Data-level clock recovery
SG124304A1 (en) * 2005-01-20 2006-08-30 St Microelectronics Asia Method and system for adaptive channel estimation in pilot symbol assisted modulation systems
JP4367528B2 (ja) * 2007-05-25 2009-11-18 トヨタ自動車株式会社 シリアル通信装置
US7788546B2 (en) * 2007-09-17 2010-08-31 Advanced Micro Devices, Inc. Method and system for identifying communication errors resulting from reset skew
US20090225669A1 (en) * 2008-03-07 2009-09-10 Samsung Electronics Co., Ltd. System and method for wireless communication network having round trip time test

Also Published As

Publication number Publication date
CN101719114B (zh) 2015-05-13
US20100296614A1 (en) 2010-11-25
CN101719114A (zh) 2010-06-02
US8724682B2 (en) 2014-05-13

Similar Documents

Publication Publication Date Title
DE2658611A1 (de) Vorrichtung zur erzeugung und zum empfang von digitalwoertern
DE102006024507B4 (de) Integrierte Schaltung und Verfahren zum Erkennen von Laufzeitfehlern in integrierten Schaltungen
DE112006002097T5 (de) Vorsehen genauer Zeitsteuerung zwischen mehreren standardisierten Prüfinstrumentenchassis
DE102016116717A1 (de) Scan-Ketten-Schaltung, die eine Injektion eines logischen Selbsttestmusters während der Laufzeit unterstützt
EP2105750A1 (de) Schaltungsanordnung, Vorrichtung bzw. Verfahren zum seriellen Senden von Daten über einen Anschlusskontakt
DE10002370A1 (de) LSI-Testvorrichtung, sowie Zeitverhaltenkalibrierverfahren zur Verwendung hiermit
DE19536226C2 (de) Testbare Schaltungsanordnung mit mehreren identischen Schaltungsblöcken
DE3702408A1 (de) Verfahren und pruefvorrichtung zum pruefen einer integrierten schaltungsanordnung
DE102014111422A1 (de) Treiberschaltung zum Treiben elektromagnetischer Aktuatoren
DE602004006236T2 (de) Testen von elektronischen schaltungen
DE19514814B4 (de) Übertragungsvorrichtung und Übertragungsverfahren für Kalibrierungsdaten eines Halbleiter-Testgeräts
DE19718467A1 (de) Frequenzunabhängige Abtastkette
DE60007196T2 (de) Vorrichtung zur Beseitigung von &#34;Durchgleiten&#34; von Daten während einer Schiebeoperation mit Master-Slave Kippschaltungen
EP1430320B1 (de) Elektronischer baustein und verfahren zu dessen qualifizierungsmessung
DE10101901A1 (de) Halbleiter-Speichervorrichtung
DE3346942C1 (de) Vergleicherschaltung fuer binaere Signale
DE102008042680A1 (de) Verfahren zum Durchführen einer bidirektionalen Kommunikation
DE112006002098T5 (de) Vorsehen genauer Zeitsteuerung innerhalb eines standardisierten Prüfinstrumentenchassis
DE102008004857A1 (de) Verfahren zur Übertragung von Daten zwischen wenigstens zwei Taktdomänen
WO2005086408A1 (de) Schnittstellenvorrichtung und verfahren zur synchronisation von daten
EP2843486A2 (de) Verfahren und Vorrichtung zum Synchronisieren einer Steuereinheit und mindestens einer zugeordneten Peripherieeinheit
EP1020733B1 (de) Integrierte Halbleiterschaltung zur Funktionsüberprüfung von Pad-Zellen
EP3701276B1 (de) Integrierte schaltung und asic
EP1178321B1 (de) Verfahren zum Betreiben eines Logik- und Speicherelemente aufweisenden Bausteins
DE3215074C2 (de)

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication