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.
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
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
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/
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
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/
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/
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?
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.