AVR JTAGICE für wenig Geld

Ich weiss nicht ob es allgemein bekannt ist, unter

formatting link
ist der ziemliche einfache Nachbau eines kompatiblen JTAG interface beschrieben, das einwandfrei mit dem

Komplette Unterlagen inclusive sourcen und Schaltbild gibts unter

formatting link
Das Ding funktioniert einwandfrei. Einzig den MAX232 sollte man gegen einen anderen Typ ersetzen (z.B. MAX3323), sofern man nicht nur 5V, sondern auch 3,3V AVR's dabuggen will. Ich hab noch nicht soviel experimentiert mit dem Ding, aber bis jetzt konnte es alles das, was auch der originale JTAGICE kann. Ich habe die Variante mit dem ATMega16 verwendet, da es der original vorgesehenen Mega163 ein Auslauftyp ist.

Dieser Bootloader bringt nach dem Update der firmware mit AVRPROG einen Fehler beim verify, den kann man getrost ignorieren, es geht trotzdem.

Reply to
Erik Hermann
Loading thread data ...

Erik,

das sieht sehr interessant aus! Ist dir aufgefallen, dass doch ein recht herber Unterschied zwischen der Schaltung auf case2000.com und dem ungarischen (?) ZIP-File (dort die .gif-Datei) besteht? Die Pins

5,7 und 9 am JTAG-Connector sind unterschiedlich verschaltet (lt. Atmel App-Note sollte die ungarische Schaltung korrekt sein)! Entweder das eine oder das andere funktioniert nicht - welche Schaltung hast du ausprobiert?

Leider fehlt bei der ungarischen Schaltung - meiner Meinung nach - auch eine korrekte Verschaltung der Referenzspannung (siehe Schaltung

vertragen.

mitgelieferten Protel und Orcad-Files nichts anfangen. Kannst du mir

Mark

Reply to
Mark Neugebauer

Das Teil funktioniert schon, es hat eben nur keine Pegelwandler drin,

Primitiv-Pegelwandlern gebau (mit 74HC Logik, erst danach hat mich

ordentlich.

uralte Atmel-Schaltplan?

Die case2000 Schaltung hat das wirklich alles auf Minimum reduziert.

--
J"org Wunsch					       Unix support engineer 
joerg_wunsch@interface-systems.de        http://www.interface-systems.de/~j/
Reply to
Joerg Wunsch

Ich kenne bisher nur die Schaltung, die direkt auf der Internetseite bei case2000 abgebildet ist (die Protel-Files kann ich derzeit nicht einsehen). In dem 'ungarischen File' gibt es einen Schaltplan von Atmel mit Datum vom 26.02.2001 - der Schaltplan basiert aber auf dem AT90S8535 und ist wohl nur zur Information 'beigelegt'. Der eigentliche Bauvorschlag findet sich in der Datei 'AVR_JTAG_schematic.gif'. In meinem obigen Posting bezog ich mich auf den Unterschied zwischen diesem .gif und der auf case2000 abgebildeten Schaltung. Eine von beiden ist nach meiner Meinung mit Sicherheit

einen MAX3232 und die Version ATMega163L zu verwenden. Beide arbeiten mit einer Betriebsspannung von 2.7V - 5.5 Volt. Somit hat man dann den gesamten interessanten Bereich abgedeckt; oder habe ich da zu kurz

'low-voltage'-Version des 163L maximal mit 4MHz getaktet werden kann -

MAXes zumindest bei Reichelt nicht zu bekommen sind.

realisiert ist - dieser ist mit PIN 4 des JTAG-Connectors verbunden. Was die Reset-Leitung angeht, sehe ich es genauso - allerdings sollte

entsprechenden PIN des AT163 kennt. Wenn ich es richtig verstehe, ist

alternative externe Spannungsversorgung).

Mark

Reply to
Mark Neugebauer

benutzt wird und damit der AT90S1200 (der nur als Bootlader benutzt worden ist, AVR910 halt) entfallen kann.

Habe mir jetzt die ungarischen Files mal geholt.

Wo ist auf case2000 denn eine Schaltung abgebildet, ich sehe da nur eine Beschreibung? Diese Beschreibung wiederum stimmt mit dem

Nein, eine simple LED, die "power on" signalisieren kann, mehr nicht. Hat nichts mit einer brown-out detection oder sowas zu tun (die man

das ungarische GIF dieses Pin mit einem Widerstand auf Masse legen und

Nicht unbedingt, aber auf ein paar Probleme ohne diese bist Du ja

spezifiziert ist.

aber.

Ja, das ist PD3, siehe Originalschaltplan (der zugegebenerweise nicht

die Anzeige der Spannung benutzt, die Erkennung des zugeschalteten Targets dagegen wird mit PD3 gemacht. Wenn Du PD3 auf high legst,

das Target nicht eingeschaltet ist. PA2 dagegen kannst Du locker auch auf Masse legen, da es in dieser Beschaltung sowieso nutzlos ist.

einen Spannungsteiler an Vtarget liegt.)

nSRST ist im Original sowohl Ein- als auch Ausgang, das macht es etwas komplizierter. Der JTAG ICE treibt es mit einem OC-Ausgang und

Hardware. Insofern hat dieser Nachbau wohl wirklich nur Sinn in Verbindung mit der originalen Atmel-Firmware.

ich schon mal gepostet, allerdings sind da noch known bugs drin, die ich erst beim Ausprobieren festgestellt habe, aber noch nicht in den

Spannungsversorgung vorgesehen, da sollte zumindest eine simple Variante noch mit dazu. Die Funktion von PD3 habe ich auch erst empirisch verstanden, das ist einer der jetzigen Fehler.

Sorry, Eagle benutze ich nicht mehr, falls Du danach fragen solltest. Da der Schaltplaneditor von BAE frei ist und die Demoversion lediglich keine Ausgabe (Drucken des Layouts) im Layouteditor gestattet,

wollte versuchen, ob man eine Platine hinbekommt, die man alternativ

--
J"org Wunsch					       Unix support engineer 
joerg_wunsch@interface-systems.de        http://www.interface-systems.de/~j/
Reply to
Joerg Wunsch

Hi Joerg,

OK, offensichtlich kenne ich das (falsche) Schaltbild aber leider nicht die Textbeschreibung (habe ich jetzt gefunden) und ungekehrt! Schau unter dem bereits oben geposteten Link nach - dort findest du die Schaltung.

Ich bezog mich auf das IC U3 - es stellt aus meiner Sicht eine

eine weitere Alternative diskutiert.

PD3 wird genutzt, um das eingeschaltete Target zu erkennen (AN/AUS?) - habe ich verstanden. Aber: Welche Rolle spielt PA2 (auch wenn diese

interessant). In der Original-Schaltung (und in der Schaltung auf

gemessen?

Taster vorsehen, um manuell einen Reset zu realisieren.

...

Sehe ich genauso! Es wurde bereits oben ein 74-Typ mit zwei Spannungen

Mark

Reply to
Mark Neugebauer

gedacht.

Ja, in der Tat. Sowas habe ich auch nicht vorgesehen.

Vielleicht probiere ich auch beide Varianten auf 2 verschiedenen Platinen.

Ja, genau, AN/AUS. Die interne Firmware fragt das ab, bevor sie

Genau das, mit Vcc als Referenz, d. h. es ist unsinnig, wenn man Vcc == Vtarget hat, geht beim originalen JTAG ICE auch per Schalter, die ungarische und die case2000 Version machen das offenbar nur so. Dann hat man immer 5,0 V in der Anzeige. Die Anzeige ist aber rein informativ (im AVR Studio), sie hat sonst keine Funktion.

Was beide auch weggelassen haben ist die Hardware-ID, die

Hardware-Version im AVR Studio auslesen. Das derzeitige Original von Atmel dagegen hat 0x0c (ich glaube, die AT90S8535-Version hatte noch eine andere).

Nebenbei: die derzeitige Firmware des JTAG ICE fragt dieses Pin nicht ab. Da AVR Studio aber bei Vorhandensein einer neuen Firmware darauf besteht, das JTAG ICE zu upgraden, sollte man das vielleicht trotzdem realisieren. Ich hab's jedenfalls mit vorgesehen.

IO brauchst, kannst Du mittels JTD Bit (MCUCSR) die JTAG-Funktion

meine bereits vorgenommenen Hardware-Bugfixes anzupassen, warte mal

Derweil mal zum Angucken:

formatting link
formatting link

Das ist das derzeitige Muster. Bereits mit Hardware-Bugfixes (im

ohne einen 78L05. Der sollte aber in einer SMD-Version locker noch mit unterzubringen sein.

--
J"org Wunsch					       Unix support engineer 
joerg_wunsch@interface-systems.de        http://www.interface-systems.de/~j/
Reply to
Joerg Wunsch

Joerg:

gezeichnet. Der Titel BootICE findet sich ja auch auf der anderen Seite (soweit ich das erinnere). Ist aber auch nicht wirklich wichtig

Schaltung so keinen Sinn macht.

Entwickelst du in SMD? Eigentlich sollte die Schaltung mit etwas

Das ist mir noch gar nicht aufgefallen - werde ich mir noch mal ansehen!

Gerne!

Mark

Reply to
Mark Neugebauer

Ja, das Teil kann offenbar ja einiges mehr als nur AVR JTAG ICE, aber

(Kann er ja mit 'nem Kabel ausgeglichen haben.)

SMD sieht zumindest schicker aus. :-))

Eine erste Version habe ich schon, bei der ich nur die Bugfixes korrigiert und noch einen 78L05 mit draufgesetzt habe, danach diese Details neu geroutet.

Ich werde das Board mal zur Seite legen und den Autorouter nochmal anwerfen, vielleicht wird ja ein komplett neu geroutetes sogar besser.

Das ist aber jetzt alles noch mit 74HC-Technik.

--
J"org Wunsch					       Unix support engineer 
joerg_wunsch@interface-systems.de        http://www.interface-systems.de/~j/
Reply to
Joerg Wunsch

Hat sich gelohnt. Die alte Version, manuell nachbearbeitet, hatte

(damit man nicht unbedingt einen Bohrer

Reply to
Joerg Wunsch

Hallo Joerg,

einem 163er habe.

Falls ja, dann werde ich wohl um den 7,37..MHz Quartz nicht herumkommen.

Zum Schaltplan:

Helmut

Reply to
Helmut Sennewald

Ich schrieb:

Habe ich nochmal aktualisiert. Hat nun doch noch paar Vias mehr, aber ich hatte in der vorigen Fassung vergessen, um die Pins der

sich vor allem unter den Pfostensteckern und dem DB9-Stecker nicht so

Wen's interessiert, der kann das ja gern mal testen. Die CAD-Datei (BAE) gibt's auf Anfrage ebenfalls.

--
J"org Wunsch					       Unix support engineer 
joerg_wunsch@interface-systems.de        http://www.interface-systems.de/~j/
Reply to
Joerg Wunsch

Siehe

formatting link

Es wird die Atmel-Firmware selbst genommen, indem Du einen Bootlader programmierst und dann mittels AVR-Studio ,,upgradest''. Der

man sich noch nach einem neuen umsehen. Oder man bekommt das Image ,,irgendwoher'' und kann es via ISP programmieren. ;-)

Das allerdings trotzdem.

Nein, der wird mit VTREF versorgt, das ist ja der Sinn der Sache, daher auch ein OC-Treiber (bzw. besser OD ;).

Ich habe es auch schon mit VTREF = 2,7 V getestet, weiter nach unten

--
J"org Wunsch					       Unix support engineer 
joerg_wunsch@interface-systems.de        http://www.interface-systems.de/~j/
Reply to
Joerg Wunsch

Hallo Joerg,

Helmut

Reply to
Helmut Sennewald

stimmt. LED101 genauso.

immer (Pinzahl allein kann es nicht sein, da ja ATmega16x auch nur

40pinnig sind). Selbst die neueren ATmega{8,8515,8535} haben keins,
--
J"org Wunsch					       Unix support engineer 
joerg_wunsch@interface-systems.de        http://www.interface-systems.de/~j/
Reply to
Joerg Wunsch

Hi Joerg,

super Arbeit!!!

anbei noch einige Dinge, die mir aufgefallen sind:

'normale' 1N4004 ausreichen, oder? Schottkys sind immer etwas teuer und meistens schwerer zu bekommen; allerdings kommt es bei der 'Menge' auf den Preis auch nicht an.

auch VTREF - je nach Innenwiderstand der Quellen - mit dem Betriebsstrom des JTAGICE belastet?!? Wozu ist die Verbindung zwischen VTREF und VCC notwendig?

verstehe ich es - als Schutz gegen zu hohe Spannung des Programmier-Adapters dienen?!? Hoffentlich liegt dort (im Programmier-Adapter) dann ein Widerstand zur Strombegrenzung in der

(oder haben die eine entsprechende interne Absicherung - ich habe gerade kein Datenblatt zur Hand). Denke ich hier schief?

Mark

Reply to
Mark Neugebauer

falls die Versorgung via JP1 vom Target kommt. Ich hatte die

reichlich besitze. ;-)

Die level shifter sind in dieser Variante garantiert nur

angehoben werden.

Appnote 040. Die /RESET-Beschaltung ist die dort empfohlene.

Atmel-JTAG-ICE besitzt) habe ich allerdings verzichtet.

--
J"org Wunsch					       Unix support engineer 
joerg_wunsch@interface-systems.de        http://www.interface-systems.de/~j/
Reply to
Joerg Wunsch

Das ist in meiner Schaltung (mit mega161) nach Einsetzen einer Diode nicht wieder passiert.

/Jan-Hinnerk

Reply to
Jan-Hinnerk Reichert

Laut einer inoffiziellen Doku soll auch der neue ATmega256 nur mehr DebugWire haben.

auf Pin 8.

Georg

Reply to
Georg Meister

der

vermutlich

Sorry. Pin 6.

Reply to
Georg Meister

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.