Forum: Mikrocontroller und Digitale Elektronik ISP in aufgebauter Schaltung


von Philipp F. (Firma: privat) (firebyrd)


Angehängte Dateien:

Lesenswert?

Neulich hab ich zum ersten Mal versucht einen Atmega8 direkt mittels 
eines Parallelport STK200-kompatiblem Programmers(Atmel AVR ISP für 
STK200 und STK300 auf dieser Seite) in der Schaltung selber zu 
programmieren. Dazu hab ich Ponyprog benutzt. Das Programmieren hat etwa 
4-5 mal geklappt, danach hat sich der Atmega ohne äussere Anzeichen ins 
Jenseits befördert, d.h. die Schaltung funktionerte nicht mehr und er 
war nicht mehr les- und schreibbar. Das ist mir bis jetzt 2mal passiert. 
Hat jemand etwas Ähnliches erlebt oder dafür eine Erklärung?

zu den Rahmenbedingungen:

->die sck, miso und mosi pins sind in der Schaltung als Ausgänge 
konfiguriert und je an 1 resp 4 Eingänge eines/r 74HC** cmos ic's 
angeschlossen (siehe Schaltplan im Anhang), da sollte meiner Meinung 
nach beim Programmieren nichts passieren ausser dass die Schaltung 
ausserhalb des AVR's etwas komisch reagiert..

->hab den kaputten AVR anschliessend an ein mit externem Oszillator an 
xtal1 bestückten Testboard angeschlossen, auch das vermochte ihn nicht 
zum Leben zu erwecken folglich ist ein versehentliches Programmieren des 
chkopt-Fuses auszuschliessen

-> der AVR hat (ohne umprogrammieren) einige Stunden in der Schaltung 
wohlbehalten überlebt -> wahrscheinlich keine Kurzschlüsse oder 
Schaltungsfehler

-> der Programmer funktioniert bis jetzt recht gut, d.h. etwa 19 von 20 
Schreibversuche sind erfolgreich, es ging sonst noch nie ein AVR beim 
Programmieren kapputt

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


Lesenswert?

Ich könnte mir eine Masseschleife zwischen Deiner Schaltung und dem 
programmierenden PC vorstellen, so daß es beim Programmieren zu einer 
Verschiebung der Spannungspegel auf den Programmierleitungen gekommen 
sein kann. Dabei hat der ATMega vielleicht etwas falsch verstanden und 
die Fuses unbeabsichtigt verändert. Vielleicht hast Du lediglich den 
Reset-Pin weggefust. Dann kommst Du per ISP nicht mehr an den Controller 
heran. Auslöten und über Parallel-HV probieren. Das setzt einen 
entsprechenden Programmer (STK500, AVR-Dragon...) voraus. Damit kannst 
Du Dir dann auch das Gewurstel mit PonyProg sparen. Übergangsweise 
könnte ein optisch getrennter Programmer helfen. Den mußt Du dann 
allerdings wieder selber bauen.

von Philipp F. (Firma: privat) (firebyrd)


Angehängte Dateien:

Lesenswert?

vielen dank für die nette und informative Antwort, es könnte tatsächlich 
etwas mit der Stromversorgung, resp. verschiedenen Massepotentialen zu 
tun haben, zu Info habe ich der Schaltplan der Stromversorgung 
angehängt. Wenn ich es richtig verstanden habe könnte es sein das durch 
Verbinden zweier verschiedener Massen (die der Schaltung und die des 
PC's) es sein könnte das der tatsächliche Potentialunterschied auf den 
pins des Atmega nicht mehr 5V sondern etwas darüber oder darunter 
betragen?
Wie dem auch sei, werds jetzt mal mit Optokopplern im Programmer 
versuchen. Anschlussfrage dazu: ist es richtig dass SCK (also die 
Programmierpulse) beim Lesen und Schreiben des Atmega vom PC aus 
gesendet werden. Falls ja ist der Aufbau für meine Elektronikkenntnisse 
einfach.
Bezüglich der Anschaffung eines STK500 oder AVR bin ich noch am 
Zögern... andererseits ist es sicher praktisch einen "richtigen" 
Programmer zu haben den man direkt vom AVr Studio aus bedienen kann. 
Welchen würde du empfehlen (Dragon oder STK500)? Ich persönlich tendiere 
eher für STK500 obwohl es teurer ist.

von ulrich (Gast)


Lesenswert?

Das SCK Signal aus beim Programmierer der Ausgang, beim Controller der 
Eingang. Die Trennung per Optokoppler ist möglich, wenn man schneller 
Optokoppler wie 6N137 nimmt. Schon ein 6N138 könnte aber knapp werden.

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.