Forum: Mikrocontroller und Digitale Elektronik Programming Mode Fehler


von Jerome (Gast)


Lesenswert?

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

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Hast Du das ISP-Interface richtig beschaltet? Beim Mega128 liegt das 
nicht auf den SPI-Anschlüssen.

von Jerome (Gast)


Lesenswert?

Ja, das ISP-Interface ist an MOSI(PDI), MISO(PDO)und SCK angeschlossen.
Die Programmierung über den Parallelportadapter funktioniert ja auch 
ohne Probleme.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Wie ist der Reset-Pin in Deiner Schaltung angeschlossen oder an was?

von Jerome (Gast)


Lesenswert?

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

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

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.

von Jerome (Gast)


Lesenswert?

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

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Mystisch das! Ob das mit Helloween zusammenhängt? ;-)

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.