Forum: Mikrocontroller und Digitale Elektronik JTAG an mehreren Proz ohne Chain


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Sit (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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?

von Sit (Gast)


Bewertung
0 lesenswert
nicht lesenswert
74xx125 sollte dann die Beste Wahl sein....

von Jim M. (turboj)


Bewertung
0 lesenswert
nicht lesenswert
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.

von Sit (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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?

von (º°)·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.· (Gast)


Bewertung
0 lesenswert
nicht lesenswert
> Gibt es außer einem Relais noch schnellere Alternativen?

Ein kleiner 2x5 50 mil Steckverbinder per JTAG.
Falls du da nicht selber draufkommst.

von Sit (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.