Forum: Mikrocontroller und Digitale Elektronik AVR Dragon Daisy Chain


von J. W. (ontheway)


Lesenswert?

Hi liebe Experten,

ich habe gerade ein Projekt aufgesetzt, bei dem ich zwei Programme auf 
zwei Pollin-Boards laufen lassen möchte. Die Boards sind eigentlich 
unwesentlich, denke ich. Habe mir ein langes JTAG-Kabel gemacht mit 2 
Steckern. Ohne Probleme kann ich mit dem Dragon beide Boards 
programmieren, wenn der jeweilige Stecker drin ist. Nun ist meine 
Hoffnung, das ich die beiden Boards = Controller über Studio 6 jedes für 
sich programmieren kann. Hierzu würde ich gerne die Daisy Chain 
verstehen. Ich weiß nicht, wie ich mehrere Prozessoren so programmieren, 
geschweige denn über JTAT debuggen kann.

Danke für Tipps!

Liebe Grüße,
Jens

von J. W. (ontheway)


Lesenswert?

Erneuter Hilferuf! Weil keine Antwort...
Oder ist es Absicht von Atmel, dass das der Dragon nicht unterstützt???

von Spess53 (Gast)


Lesenswert?

Hi

>Oder ist es Absicht von Atmel, dass das der Dragon nicht unterstützt???

Hast du eigentlich schon mal in die Studio-Hilfe zum Dragon gesehen? 
Zumindest in der Hilfe des 4er Studios steht etwas dazu.

MfG Spess

von schitzlmax (Gast)


Lesenswert?

---> atmel homepage gehen und die app notes des dragons durchlesen!
meines wissens geht dein vorhaben nicht, jedoch meine hand möcht ich 
dafür bicht ins feuer legen!
ich würde mir aber an deiner stelle keine großen hoffnungen machen, das 
das geht!

von Martin B. (martin_b35)


Lesenswert?

Hast du denn bei deinem JTAG-Kabel einfach nur nen Stecker mehr drauf 
oder auch immer brav TDO auf TDI verdrahtet?

von J. W. (ontheway)


Lesenswert?

Spess53 schrieb:
> Hast du eigentlich schon mal in die Studio-Hilfe zum Dragon gesehen?
> Zumindest in der Hilfe des 4er Studios steht etwas dazu.
>
Spess, Du hast mal wieder Recht... es gibt beim Studio 6 Hilfe zum 
Dragon, ich habe sie nicht gelesen. Bin nun
a) positiv überrascht, das es eigentlich funktioniert und
b) erläutert, denn mein nettes Kabel ist ja wohl Schrott! TDI geht ja 
seriell raus und vom letzten Board geht TDO dann zurück...

1) Wie soll ich das denn Kabel-technisch machen? Meine 
Kabel-mit-n-Steckern-Methode ist ja dann wohl Murks, da ist ja alles 
parallel!

2) Wie ist denn das mit gemeinsamen GND und VCC, das sollte doch 
eigentlich funktionieren, denn wenn ich das zweite Board anschließe, 
nutzt es ja beides vom ersten Board. Aber der Dragon wird selbst ja über 
USB betrieben, jedoch bekommt es GND und VCC über das Board. Da mein 
Board aber offensichtlich keinen Strom vom Dragon bekommt, gehe ich 
davon aus, dass GND und VCC vom Dragon einfach nicht an JTAG 
angeschlossen sind, also ist wohl alles in Butter?

Merci!
Jens

von J. W. (ontheway)


Lesenswert?

Martin B. schrieb:
> Hast du denn bei deinem JTAG-Kabel einfach nur nen Stecker mehr drauf
> oder auch immer brav TDO auf TDI verdrahtet?
Hi Martin, siehe meinen Beitrag gerade: Nö Du, hatte Deinen nicht 
gesehen, bin gerade selber drauf gekommen... einfach gedacht = falsch 
gemacht...

von Spess53 (Gast)


Lesenswert?

Hi

>jedoch bekommt es GND und VCC über das Board. Da mein
>Board aber offensichtlich keinen Strom vom Dragon bekommt, gehe ich
>davon aus, dass GND und VCC vom Dragon einfach nicht an JTAG
>angeschlossen sind,

GND ist selbstverständlich angeschlossen. Das VTref-Pin des 
JTAG-Anschlusses dient der der Einstellung der Pegelwandler des Dragons 
auf die Targetspannung.

MfG Spess

von J. W. (ontheway)


Lesenswert?

> GND ist selbstverständlich angeschlossen. Das VTref-Pin des
> JTAG-Anschlusses dient der der Einstellung der Pegelwandler des Dragons
> auf die Targetspannung.
>

Okay, danke, klar, aber wie soll ich denn so ein Kabel mit den 
JTAG-Steckern bauen? Ich sehe das iwi nicht...

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

J. W. schrieb:
> Okay, danke, klar, aber wie soll ich denn so ein Kabel mit den
> JTAG-Steckern bauen?

Ich habe mal eine Miniplatine entworfen: ein Stecker vom ICE (oder
Dragon) 'rein, zwei Stecker zu den Targets 'raus.  Statt des
zweiten Targets kann man dann wieder so eine Platine anstecken,
jede ist also ein "T-Stück":
1
ICE --- T-Stück --- T-Stück --- T-Stück --- Target4
2
            |           |           |
3
        Target1     Target2     Target3

Jeder AVR schiebt dabei 4 Bits im Schieberegister.  Sofern man
also nur AVRs hat, ist "bits before" immer 4 * "units before"
und "bits after" immer 4 * "units after".  Damit wäre die
Zugriffstabelle für obigen Kette:
1
Target #    units          bits
2
            before  after  before  after
3
1           0       3       0      12
4
2           1       2       4       8
5
3           2       1       8       4
6
4           3       0      12       0

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.