Hey Zusammen, Ich bin am Rande der Verzweiflung angekommen... Ich habe vor einen ATxmega128A4U-AU mit einem Bootloader und einer Firmware zu programmieren, aber nichts funktioniert. Hier im Forum konnte ich leider nichts passendes für mein Problem finden, also seid nachsichtig mit mir :) Ebenso bin ich noch relativ neu in dem Thema, also könnte es auch eine sehr simple Lösung geben, die ich schlichtweg übersehe. Kurz zur Erklärung. Ich habe eine eigene Platine entworfen und herstellen lassen. Darauf sitzt ein ATxmega128A4U-AU als Hauptchip. Der Chip ist frisch vom Hersteller und daher "leer"... Nun habe ich mir von Diamex einen AVR Programmer besorgt , der PDI unterstützt. (https://www.diamex.de/dxshop/Diamex-AVR-Prog-Programmer-fuer-ISP-PDI-TPI) Der Programmer wird vom Windows PC erkannt und auch von Atmel Studio 7 als AVRISP mkII... Als Bild angehängt seht ihr meine Schaltung. Rot eingekreist die Pins, die an dem Programmer hängen. Der PDI_Clock des ATxmega geht (über einen 10KOhm Widerstand der diesen auf 3,3V zieht), direkt an den CLK Pin meines Programmers. Der PDI Pin des ATxmega geht ohne weiteres an den DATA Pin des Programmers. Und GND und 3.3v natürlich auch direkt... Der Programmer ist auf PDI und 3.3v eingestellt. Wenn ich jetzt aber versuche über Atmel Studio eine Verbindung zu dem Chip herzustellen (z.B. die Device Signature oder Target Voltage abzufragen) dann leuchtet die Processing LED auf dem Programmer und wenig später gibt Atmel eine Fehlermeldung raus, dass keine Verbindung zu dem IC hergestellt werden konnte... Ich habe schon diverse Sachen versucht, Programme gewechselt etc., aber es will nicht. Langsam glaube ich fast, dass etwas mit meiner Platine nicht stimmt. Kann der 10KOhm Widerstand das Problem verursachen?! Muss vielleicht irgendein Pin auf HIGH um den ATxmega in einen programmier Modus zu befördern? Können andere Bauteile auf der Platine den Programmiervorgang hindern? Eigentlich doch nicht wenn ich direkt an die Pins von dem IC gehe... Ich will doch nur ne verdammte .hex und .eep flashen.... Ich hoffe jemand von euch hat damit Erfahrung und kann mir ein paar Tipps geben... Einen schönen Abend Euch, schonmal Vielen Dank und einen guten Rutsch ins neue Jahr, Leo
Ben S. schrieb: > Was soll denn VIC und GNDIC sein? Das sind nur die Pins zu dem Charging Controller bzw. der Hauptstromversorgung. Ich wollte dort einen direkten Draht legen. Sollte für das programmieren aber nicht wichtig sein...
Ich hoffe dass du dort auch Spannung angelegt hast. Und ich hoffe auch, dass deine Schaltung wie gezeigt nicht vollständig ist.
:
Bearbeitet durch User
Ben S. schrieb: > Ich hoffe dass du dort auch Spannung angelegt hast. Na klar. Der Programmer ist mit seinen 3.3v und dem GND angeschlossen. Siehe angehängte Bilder...
Leo T. schrieb: > Muss vielleicht irgendein Pin auf HIGH um den ATxmega in einen > programmier Modus zu befördern? Nicht dass ich wüsste. Hast du mit deinem Programmieradapter jemals einen AVR via PDI erfolgreich programmiert?
Zeige dochmal Bilder von deinem ganzen Schaltplan und Layout ..
:
Bearbeitet durch User
Die Abfrage der Target Voltage müsste immer gehen, selbst wenn überhaupt keine Verbindung besteht.
Stefan ⛄ F. schrieb: > Leo T. schrieb: >> Muss vielleicht irgendein Pin auf HIGH um den ATxmega in einen >> programmier Modus zu befördern? > > Nicht dass ich wüsste. > > Hast du mit deinem Programmieradapter jemals einen AVR via PDI > erfolgreich programmiert? Nein habe ich nicht...
Ben S. schrieb: > Zeige dochmal Bilder von deinem ganzen Schaltplan und Layout .. Na klar... Mal sehen ob man daraus schlauer wird...
Stefan ⛄ F. schrieb: > Die Abfrage der Target Voltage müsste immer gehen, selbst wenn > überhaupt > keine Verbindung besteht. Interessant! Wirst du aus meinem gesamten Schaltplan schlauer (eben gepostet)?!
Ich habe Bauchweh bzgl. Pin 9/38 ... hängt da zumindest eine Batterie dran beim programmieren? GNDIC ist vermutlich nirgends mit GND verbunden oder?
:
Bearbeitet durch User
Ben S. schrieb: > Ich habe Bauchweh bzgl. Pin 9/38 ... Aber die haben nun ja gar nichts mit dem Programmieren zu tun! Darüber lege ich nur die 3V der Batterie an... Muss die Batterie beim Programmieren ran? Ich dachte der Programmer versorgt den IC? GND IC hängt an dem - Pol der Batterie.
:
Bearbeitet durch User
Leo T. schrieb: > Aber die haben nun ja gar nichts mit dem Programmieren zu tun! Du solltest aber alle Versorgungspins des IC mit Spannung versorgen und alle GND miteinander verbinden. Pin 8/18/30/38 gehören miteinander Verbunden und an alle 9/19/21/39 3.3V!
:
Bearbeitet durch User
Ben S. schrieb: > Leo T. schrieb: > Aber die haben nun ja gar nichts mit dem Programmieren zu tun! > > Du solltest aber alle Versorgungspins des IC mit Spannung versorgen und > alle GND miteinander verbinden. Danke! Ich checke das mal...
"The RESET pin includes an internal pull-up resistor." Probiere es mal ohne den 10kOhm Widerstand. Ich hatte 100kOhm genutzt. Dass alle Vcc und GND-Pins verbunden sein müssen, das sollte eigentlich klar sein, auch wenn damit scheinbar nur der Analogteil versorgt wird.
Ben S. schrieb: > Leo T. schrieb: > Aber die haben nun ja gar nichts mit dem Programmieren zu tun! > > Du solltest aber alle Versorgungspins des IC mit Spannung versorgen und > alle GND miteinander verbinden. Pin 8/18/30/38 gehören miteinander > Verbunden und an alle 9/19/21/39 3.3V! @bensche123 Du bist mein HELD!!!! Es funktioniert 👍👍👍👍 Ich freue mich unglaublich! Manchmal können die Fehler auch simple sein 😅 Atmen Studio spuckt jetzt alles aus 👍👍👍👍 Mal sehen ob das flashen klappt. Einen schönen Abend!
Leo T. schrieb: > @bensche123 Du bist mein HELD!!!! Dass ich das hier noch erleben darf ... Wie sich das aber mit deiner Ladeschaltung verträgt weiß ich jetzt nicht.
:
Bearbeitet durch User
... und wie üblich halt mal wieder an den Abblock-Kondensatoren für den ATXMega gespart. Eigentlich sollte den Entwickler dafür der Blitz treffen ... Ja, die Devise lautet: sparen, koste es was es wolle. Denn Abblock-Kondensatoren sind ja reiner Luxus, braucht es sowieso nicht.
au weia schrieb: > ... und wie üblich halt mal wieder an den Abblock-Kondensatoren > für den ATXMega gespart. Eigentlich sollte den Entwickler dafür > der Blitz treffen ... Ich zähle im Schaltplan 6 Abblockondensatoren. Also sind diese vermutlich drin.
Ben S. schrieb: > Ich zähle im Schaltplan 6 Abblockondensatoren. Also sind diese > vermutlich drin. Er hat sich wahrscheinlich nur die beiden Bilder aus dem ersten Beitrag angeschaut und da ist keiner vorhanden.
Mike J. schrieb: > Bilder aus dem ersten Beitrag Intelligenterweise ist ein Kondensator zum Prozessor zugeordnet eingezeichnet, aber die Anschlusse dazu anderen ICs zugeordnet. Also möglichst kompliziert und irreführend, genau passend fürs Forum hier, damit noch ein paar Salamischeiben kommen können.
Mike J. schrieb: > "The RESET pin includes an internal pull-up resistor." > > Probiere es mal ohne den 10kOhm Widerstand. > Ich hatte 100kOhm genutzt. > > Dass alle Vcc und GND-Pins verbunden sein müssen, das sollte eigentlich > klar sein, auch wenn damit scheinbar nur der Analogteil versorgt wird. Hi Mike, danke auch nochmal für deinen Tipp. Ich habe den 10K mal rausgenommen aber keinen Unterschied bemerken können. Da du dich aber anscheinend mit den ATxmegas auskennst würde ich dir gerne noch eine Frage stellen. Ich habe es jetzt geschafft, meine Firmware .hex auf den ATxmega zu flashen. Als ich dann aber versuchte den EEPROM .eep zu flashen hat sich mein Programmer aufgehängt und der ATxmega gab keine Rückmeldung mehr... Das passiert jedes Mal mit dem EEPROM... Erst wenn ich den ATxmega danach für ein paar Sekunden per USB an meinen PC angeschlossen habe, lässt sich der ATxmega wieder per Programmer erreichen... Hast du eine Idee?! Ich habe für meine Application auch einen separaten Bootloader, den ich jetzt zuvor nicht aufgespielt hatte. Kann es damit zusammenhängen? Wäre das die Flash-Reihenfolge: Bootloader .hex .eep Entschuldige bitte die vielen Fragen! Es würde mir wirklich viel weiterhelfen, wenn du mich dabei unterstützt 🙏 Viele Grüße
:
Bearbeitet durch User
Leo T. schrieb: > Als ich dann aber versuchte den EEPROM .eep zu flashen hat sich > mein Programmer aufgehängt und der ATxmega gab keine Rückmeldung mehr... Als Programmer nutze ich einen USBasp mit PDI. https://github.com/nieldk/USBASP-PDI Hab da keine Probleme. Vielleicht schaust du einfach mal ab wo dein Programmer versucht die .hex oder .eep Datei hinschreiben möchte. Theoretisch solltest du nur den Bootloader flashen müssen und mit dem Bootloader kannst du dann hex und eep flashen. Wenn das nicht funktioniert, dann versucht dein Bootloader die hex/eep an eine falsche Adresse zu schreiben. > Ich habe für meine Application auch einen separaten Bootloader, > den ich jetzt zuvor nicht aufgespielt hatte. Kann es damit zusammenhängen? Du nutzt also nicht den Original-Bootloader von Atmel? Bist du sicher dass dieser richtig funktioniert?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.