JTAG-Frage bzgl. BoundaryScan

hallo,

ich hab eine kleine Verständnisfrage zu JTAG:

Ist die Anzahl der Daten-Registerzellen(=BoundaryScanCells) gleich der Anzahl der Befehls-Registerzellen? Also wirkt das Instruktion-Bit auf den letzten MUX (also nach den zwei FF der BSC)?

Warum gibt es extra noch den INTEST-Mode, wenn es den SAMPLE und PRELOAD-Mode gibt? Und was für ein Sinn hat es dann den INTEST-Mode herstellerseitig zu verbieten z.B. bei ix86. Bzw. wie kann der INTEST schaltungstechnisch "verboten" werden, IMO nur dadurch das bestimmte Bitmuster im Instruktion-Register schaltungs- technisch ausgeschlossen werden (wenn gleich ich mir nicht im klaren bin wie das praktisch aussehen soll, gibts da nen Beispiel?)?

Un noch die letzte Frage, da es dazu auch nirgends eine "Grenzwert"betrachtung zu finden gibt: Ist es möglich nach dem Quinn-McCluskey-Verfahren (nummerische Karnough-Behandlung) aus endlich vielen Ein- und Ausgabezuständen die KDNF zu berechnen und wenn ja gibts da schon nen Programm?

Welche prägnanten Verhaltensunterschiede gibt es bei dem JTAG-Test zwischen Schaltnetz und Schaltwerk?

oki thx Dirk

Reply to
Dirk Bossenz
Loading thread data ...

Dirk Bossenz schrieb:

Nein.

?

INTEST braucht man nicht "verbieten". Man implementiert den Befehl einfach nicht.

INTEST schaut nach innen, also auf die Signale, die aus Sicht der Scan-Chain in den Chip hinein gehen bzw. vom Chipinneren kommen. Das heißt, daß die Signale, die normalerweise von den Pins hinein in den Chip gehen, nunmehr von der Scan-Chain kontrolliert werden.

SAMPLE/PRELOAD hat damit im Grunde gar nix zu tun, da hier die Verbindung zwischen Pin und Chipinnerem nicht beeinflußt sind.

Irgendwie kommt's mir vor als hättest Du was Prinzipielles bei Boundary Scan noch nicht verstanden. Ich weiß bloß noch nicht was...

Gruß Stefan

Reply to
Stefan Heinzmann

...scheint's auch irgendwie recht zu haben: ich habe das Buch Schaltungstest mit BoundaryScan aus dem Verlag Hüthing durch gearbeitet und habe mir daraus dann was gedacht:

Das eben ein Bit aus der Instruktion-Register-zelle direkt auf die angeschlossene BS-Zelle wirkt und dort eben diese den Multiplexer steuert bei low das Signal vom PIN in den Schaltkreis läst und high den Wert der im zweiten FF steht per PRELOAD in die Registerzelle geladen wurde....(usw.)

diese Befehle INTEST, EXTEST, SAMPLE, PRELOAD usw. werden über TMS in die TAP gegeben und wirken sich dort wie im entsprechenden Auto- matengraph gezeigt auf die BS-Zelle, BYPASS-Register, die propritären weiteren und eben auch auf das Instruktion-Register wo eine Zelle aus einzelen MUX und nachgeschalteten D-Latches besteht und auch durch TDI seriell gefüttert wird... Es passte eigendlich alles recht gut zusammen.

Wie ist es dann nun anders??

wo finde ich jetzt (bis Montag!) eine ausreichende Erklärung mgl. in dt. mgl. im Netz (weil Wochenende und Bibo zu) darüber wie es nun richtig funktioniert...weil...

thx Dirk

Reply to
Dirk Bossenz

Um Dich noch weiter zu verwirren: Es gibt auch Chips mit Boundary Scan ohne JTAG (mindestens 2)...

--
Dr. Juergen Hannappel          http://lisa2.physik.uni-bonn.de/~hannappemailto:hannappel@physik.uni-bonn.de  Phone: +49 228 73 2447 FAX ... 7869
Physikalisches Institut der Uni Bonn Nussallee 12, D-53115 Bonn, Germany     
CERN: Phone: +412276 76461 Fax: ..77930 Bat. 892-R-A13 CH-1211 Geneve 23
Reply to
Juergen Hannappel

Dirk Bossenz schrieb:

Es ist ziemlich anders...

Die Instruktionen werden nicht über TMS in die TAP gegeben. Das Instruktionsregister ist eines von mehreren Registern, die zwischen TDI und TDO eingeschleift sein können. Über TMS bringt man den TAP in den entsprechenden Modus, um entweder das Instruktionsregister, oder das durch die im Instruktionsregister enthaltene Instruktion ausgewählte Datenregister auszuwählen. Langer Satz, ich weiß...

Jedenfalls bestimmt TMS, in welchem *Zustand* der TAP ist. Vom Zustand abhängig kann man entweder das Instruktionsregister oder irgendein Datenregister ansprechen. Ansprechen, das heißt Daten durchschieben (durch TDI rein und aus TDO raus). Datenregister sein können (abhängig von der aktuellen Instruktion): o Das 1-bit Bypass-Register o Das 32-bit ID-Code-Register o Das Boundary-Scan-Register (davon kann's auch mehrere geben) o Irgendwelche Chip-spezifischen Register

Weil? Prüfung? ;-)

Probier's mal damit (allerdings auf Englisch):

formatting link

Gruß Stefan

Reply to
Stefan Heinzmann

Hallo Dirk,

ohne jetzt Deine eigentlichr Frage genau verstanden zu haben: die Software 'ScanEducator' von TI könnte vielleicht interessant für Dich sein, vielleicht beantwortet die Demonstration deine Frage.

formatting link
formatting link

(DOS-Programm, englisch, läuft aber auch unter Windows).

Gruß Ernst

Reply to
Ernst Schwab

ja...ich weiß...mir ist auch alles fast ganz klar bis auf die Funktion des Instruktion-Registers...siehe weiteren Threats

dirk

Reply to
Dirk Bossenz

ok...kapiert...gibts Standart-Opcodes für die Standart-Befehle?

thx dirk

Reply to
Dirk Bossenz

gut...heut nacht hab ich davon geträumt und nun auch noch mit der Software angeguckt und es funktioniert... (wobei ich meine Idee auch schön fand, zumal damit das Anwendungspektrum vielfältiger wird...)

Sind die Opcodes für die Standart Befehle eigendlich einheitlich?

ne nur nen Vortrag...um meine rethorischen Fähigkeiten unter Beweis zu stellen - aber richtig sollte's ja schon sein :))

thx dirk

Reply to
Dirk Bossenz

Hi Dirk,

"Dirk Bossenz" schrieb:

Der 'BYPASS'-Befehl besteht bei jedem Device nur aus Einsen, unabhängig von der Länge des Instruction Registers.

Wenn ich mich richtig erinnere, ist nach Reset immer der Code IDCODE (?) im Instruction Register geladen. Eventuell hat IDCODE immer den Wert 0..010, bin mir da aber nicht sicher, ob der Standard das vorschreibt. Die anderen Codes sind meines Wissens device-spezifisch.

Gruß Ernst

Reply to
Ernst Schwab

Es gibt eine Reihe FFs, die das IR (Befehlsregister) bilden und eine Reihe FFs, die das SR (scan register) bilden. Mittels passendem geklapper auf TMS wählst Du nun entweder IR, SR, Bypass-FF oder irgend etwas ganz anderes zwischen TDI und TDO aus. (In diesem Ablaufplan mit "shift", "update" u.s.w. ist im Zustand "shift IR" immer das IR zwischen TDI und TDO. Im Zustand "shift SR" liegt da entweder das SR, oder das Bypass-FF, wenn im IR der Wert für Bypass steht, oder z.B. ein Register mit dem Selbsttestergebnis...)

Z.B. Sample/Preload: Mit passenden Pegelwechseln auf TCK und TMS "shift IR" auswählen und Bitfolge für Sample/Preload in das IR einladen. Bei dem letzten zu schiebenden Bit TMS ändern und "update IR" durchlaufen. Jetzt mit TCK und TMS in den Zustand "shift SR" wechseln und Bits in ein "Schatten-SR" schieben. Erst mit "update SR" werden die Daten vom SR übernommen und wirksam.

Sample/Preload klemmt die innere Elektronik von den Gehäuseanschlüssen ab und steuert mit den Bits des SRs Ausgangstreiber, Enablesignale für Ausgangstreiber etc. wie es auch in der BDSL-Datei beschrieben ist. Damit kann man z.B. die Platine auf Lötfehler untersuchen, oder Flashspeicher programmieren. Intest hingegen klemmt die innere Schaltung von der Aussenwelt ab und mann kann die Funktion des Chips untersuchen.

Hoffe, geholfen zu haben...

Reply to
Gunther Mannigel

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.