mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATmega8: MISO Pin auf undefiniertem Potential während Reset


Autor: Thomas D. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Thomas O. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Simon Küppers (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>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?

Autor: Thomas D. (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@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)

Autor: Simon Küppers (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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).

Autor: Thomas D. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Simon Küppers (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Thomas D. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Thomas D. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.