ATmega8: MISO Pin auf undefiniertem Potential während Reset

Gast #208679
Ich schaffs einfach nicht, meinen ATmega8 zu programmieren. Hab jetzt
gemerkt, dass alle Pins während dem Reset auf undefiniertem Potential
liegen. Bei den normalen Port-Pins ist wohl laut Datenblatt auch
normal, aber der MISO müsste doch theoretisch Daten zurücksenden,
oder?!? Zumindest hab ich das aus dem Datenblatt so interpretiert. Der
ISP-Adapter (Eigenbau) meldet dadurch städig eine 1 zurück, sobald man
ein Multimeter dranhebt eine 0. Kann es sein, dass ich dadurch, dass
ich einmal einen Oszillator dran hatte wärend der interne Taktgeber
aktiviert war, den Controller geschrottet habe?

Gruß
Thomas D.
Gast #208680
Hallo,

mit einem Multimeter wirste kaum erkennen was da anliegt. Dazu
brauchste ein Oszi dann sieht man die 5V Impulse das Multimeter macht
damit aber einen Durchschnittsspannung.
Gast #208681
>>Kann es sein, dass ich dadurch, dass
ich einmal einen Oszillator dran hatte wärend der interne Taktgeber
aktiviert war, den Controller geschrottet habe?

Neee das nich.

Aber hast du die Clock fuses richtig gestellt? Was sagt der Programmer?
Gast #208682
@Thomas O.:
Die undefinierte Situation tritt auch schon auf, wenn ich nur den Reset
einschalte (0V). Wollte damit auch nur sagen, dass das Multimeter den
Rückgabewert beeinflusst.

@Simon:
Das ist das Problem, ich kann das Teil nicht pogrammieren, auch keine
Fuse Bits setzen. Der Controller reagiert da nicht darauf. Kann auch
keine der bekannten SOftwares einsetzen, da der Adapter ein Eigenbau
ist (siehe Anhang). Die verwendete Software ist eine Eigenentwicklung,
die wir bisher erfolgreich bei 8051 angewandt haben und nun für den
ATmega8 angepasst wurde. Allerdings liegt das Problem wahrscheinlich
woanders, denn beim ProgrammEnable-Senden sollte der MISO ja eigentlich
den Wert zurücksenden, aber es kommt 255 255 255 255 (mit Multimeter
dran: 0 0 0 0)
Angehängte Dateien:
Gast #208683
Hast du beachtet dass der MAX232 invertiert?
Reset muss während des Programmierens auf LOW sein, richtig?

Teste zuerst mal einen "Loopback-Test" am MAX232 aus, damit du dir
sicher sein kannst, dass soweit alles funktioniert.

Ansonsten probiere mal einen Takt an den AVR anzulegen oder einen
anderen (AVR-Mega!) zu benutzen, dessen Fuses noch im
Auslieferungszustand sind (Interner Takt).
Gast #208684
Der Reset ist auf LOW, dazu ist der Jumper da (für den 8051 ird er
umgesteckt).
Der Loopback-Test funktioniert auch. Habe es auch schon mit einem
4MHz-Oszillator probiert, und auch mit einem anden ATmega8: Bei beiden
tritt extakt das gleiche Phänomen auf.
Der MISO müsste im Reset einen definierten Wert haben, richtig so oder
bin ich da auch schon auf der falschen Fährte?
Gast #208685
Ich würde sagen, MISO hat kein definierten Pegel im Reset.
Schickt man jetz die "Ich-möchte-programmier"-Sequenz, dann sollte
MISO einen Pegel haben.
Gast #208686
Habe ich dann folgenden Abschnitt aus dem Datenblatt falsch verstanden:
"The Serial Programming instructions will not work if the
communication is out of synchronization. When in sync. the second byte
(0x53), will echo back when issuing the third byte of the Programming
Enable instruction. Whether the echo is correct or not, all four bytes
of the instruction must be transmitted. If the 0x53 did not echo back,
give RESET a positive pulse and issue a new Programming Enable
command."

Heißt das nicht, dass (x x 83 x) zurückkommen sollte?
Das passiert leider nicht
Gast #208687
Aha, es waren Kontaktprobleme. Habe die gesamte Schaltung ein paar
Reihen weiter aufgebaut (aufm Steckbrett) und jetzt kommt die 83
zurück.
Leider funtioniert das daraufgespielte Programm trotzdem noch nicht. Da
muss ich jetzt mal weiterprobieren.

Danke an Euch!

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.