Hallo, ich versuche mit Codevision über USBprog einen Mega128 zu programmieren. Über die Parallelschnittstelle funktioniert alles einwandfrei, mit USBprog erhalte ich jedoch immer die Fehlermeldung: enter programming mode failed Der Controller läuft mit 14.7456MHz, der Fehler tritt sowohl bei einer ISP-Frequenz von 5KHz als auch mit 500KHz auf. Jedoch: Wenn während des Programmiervorganges ein manueller Reset durchgeführt wird funktioniert alles ! Ohne manuellen Reset kann weder die Chip Signature noch die Fuses ausgelesen noch programmiert werden. Ich weiß momentan nicht weiter. Woran kann das liegen ? Gruß Jerome
Hast Du das ISP-Interface richtig beschaltet? Beim Mega128 liegt das nicht auf den SPI-Anschlüssen.
Ja, das ISP-Interface ist an MOSI(PDI), MISO(PDO)und SCK angeschlossen. Die Programmierung über den Parallelportadapter funktioniert ja auch ohne Probleme.
Die Resetleitung des Programmers geht einerseits direkt an PIN20(RESET) des Mega128 sowie als Steuereingang an einen Multiplexer CD4053 (dadurch werden bei RESET=LOW die Signale MISO/MOSI/SCK an den Programmer angeschlossen, bei RESET=HIGH dagegen wird die Schnittstelle als USART1 für ein Display genutzt). Zudem hängt über einen 4.7KOhm-Widerstand der Ausgang des Reset-ICs MAX811LEUST dran. Durch einen am RESET-IC angeschlossenen Taster kann ein manueller Reset ausgelöst werden. Bei gedrücktem Taster während des Programmiervorganges über USBProg funktioniert alles ! Wird der Taster nicht gedrückt, kann nicht mal die Chip Signature ausgelesen werden. Programmieren führt wie beschrieben zur Fehlermeldung enter programming mode = Failed
Dann denke ich, daß Dein USB-Progger den Reset-Pin nicht schnell genug oder nicht tief genug herunter ziehen kann, weil noch der andere Kram dranhängt. Klemme das doch mal probehalber ab, so daß der Reset-Pin alleine am Programmer hängt.
Das Reset-IC habe ich abgetrennt und den Multiplexer fest verdrahtet. Damit liegt die Resetleitung nur noch am Controller selbst an. Das hat jedoch leider nichts gebracht. Deswegen habe ich mir mit einem Oszi die Signale angeschaut und habe wohl die Ursache für das Problem gefunden: auf MISO war im Ruhezustand(kein Programmiervorgang) ein Störsignal zu sehen, es müsste jedoch ein konstanter Pegel anliegen. Ich weiß nicht woher diese Störung kommt. Im Laufe des Abends war sie dann irgendwann weg bevor ich nach der Ursache forschen konnte und der Programmieradapter funktionierte. Das Reset-IC sowie der Multiplexer wurden wieder aktiviert und es geht immer noch (selbst mit höchster ISP-Frequenz) ! Danke für Deine Hilfe. Gruß Jerome
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.