JTAG an mehreren Proz ohne Chain

Gast #4819258
Hallo,

ich habe eine JTAG Programmierschnittstelle auf einer selbstgebastelten 
Karte. Diese Schnittstelle ist mehrfach vorhanden, jedoch an 
unterschiedlichen Prozessoren. Die Prozessoren (bzw. deren JTAG 
Schnittstelle) sind nicht in einer Chain verschaltet.

Ich habe nur einen Programmer und würde nun gerne die Schnittstellen 
durchschalten können. D.h. über ein CS Signal soll ausgewählt werden, 
welcher Prozessor gerade dran ist. Die Prozessoren sind verschieden, die 
JTAG schnittstelle sicher nicht 100% identisch. Es gibt immer folgende 
Pins TDO, TCK, TMS, TDI, TRST

Die Signale sind ja anscheinden alle Unidirektional. Meine Idee war es 
nun mit einem Bustreiber mit Enabeleingang (74xx245) die Signale zu 
Trennen und dann einzelen zu aktivieren. Kann ich irgendwelche Leitungen 
hart verbinden, um mir Aufwand zu sparen?

Ich hätte jetzt einfach mal aus dem Bauchgefühl, TCK, TRST und TMS hart 
verbunden und nur die TDI und TDO Leitungen geschaltet?

Seht ihr da Problem, oder habt bessere Ideen?
Sit schrieb:
> Ich hätte jetzt einfach mal aus dem Bauchgefühl, TCK, TRST und TMS hart
> verbunden und nur die TDI und TDO Leitungen geschaltet?

Und hättest bei ARM Prozessoren das Pech, das SWD nur TMS und TCK 
benutzt und Deine JTAG Signale fürn fremden Prozessor fehlinterpretieren 
und stören könnte (theoretisch).

Bustreiber könnten Dir da helfen, aber man müsste dann auch Fan-out und 
Verzögerungen beachten, wenn es in die MHz bei der JTAG Frequenz gehen 
soll.
Wenn es langsamer sein darf: Kein Problem.

Bidirektionaler Tranceiver ist unnötig, unidirektional (74xx125/74xx126) 
würde reichen (wie schon erwähnt).

Allerdings braucht man für JTAG auch manchmal Level-Shifter, da JTAG 
mitunter sehr niedrige (Core) Spannung bis deutlich unter 2 Volt 
braucht.
Gast
Jim M. schrieb:
> Und hättest bei ARM Prozessoren das Pech, das SWD nur TMS und TCK
> benutzt und Deine JTAG Signale fürn fremden Prozessor fehlinterpretieren
> und stören könnte (theoretisch).

hm okay das wusste ich nicht. Dann würde ich nur den Reset mit allen 
verbinden und jeder JTAG Schnittstelle einen vollen 125er spendieren.

Jim M. schrieb:
> Bustreiber könnten Dir da helfen, aber man müsste dann auch Fan-out und
> Verzögerungen beachten, wenn es in die MHz bei der JTAG Frequenz gehen
> soll.
> Wenn es langsamer sein darf: Kein Problem.

Hm sollte schon flott sein. Danke für den Hinweis. Der JTAG ist nicht 
ganz langsam. Ich versuche es einfach mal mit einem schnellen 125er der 
hat glaub ich so 5 ns Verzögerung und hoffe, dass dies noch geht.

Gibt es außer einem Relais noch schnellere Alternativen?
Gast
> Gibt es außer einem Relais noch schnellere Alternativen?

Ein kleiner 2x5 50 mil Steckverbinder per JTAG.
Falls du da nicht selber draufkommst.
Gast
Muss ohne umstecken passieren, aber Danke für den Tipp.

Frequenz ist 12,5 Mhz, also leider sehr schnell. D.h. 80 ns 
Periodendauer. Da sind 5 ns wohl zu viel. Bleibt da außer Relais noch 
was? Sonst muss ich wohl oder übel den Takt senken.

Also Bedingungen sind 3,3 Volt und 12,5 Mhz...
Wer noch einen Tipp hat gern...

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.