Mega128 lässt sich nicht programmieren

OP #343817
Lesenswert?
• ▲
▼
Ich habe einen Mega128 auf eine selbsterstellte Platine gelötet.
Leider meldet die Software des Sdk500 das kein Controller gefunden
wurde.
Andere AVR kann ich programmieren (der Programmierer ist also OK), ich
habe alle Kontakte überprüft (gemessen + unter dem Mikroskop) und die
richtigen Pins (SDI + SDO) für den ISP verwendet.
Leider kann ich den Stromverbrrauch des AVRs alleine nicht einfach
messen, da er wie gesagt auf einer Platine mit mehreren Komponenten
verbaut ist.
Wie kann man erkennen, ob der Controller noch lebt?
Gast #343818
Lesenswert?
• ▲
▼
"...und die richtigen Pins (SDI + SDO) für den ISP verwendet."

Die Dinger nennen sich "PDI" und "PDO". Für die Programmierung via
ISP werden also die Pins PE0(PDI) und PE1(PDO) sowie PB1(SCK)
verwendet. Stimmt das mit deinem Layout überein?

Gruß,
Magnetus
Gast #343821
Lesenswert?
• ▲
▼
Du schreibst, dass der mega128 auf einer Platine mit mehreren
Komponenten verbaut ist... was hängt denn ausser dem ISP-Header noch so
an den Pins PB1, PE0 und PE1 dran? Hast du auf dem Layout noch
Serienwiderstände an den ISP-Pins vorgesehen?

Gruß,
Magnetus
OP #343822
Lesenswert?
• ▲
▼
Die ISP Pins (und einige andere) sind auf Stiftleisten herausgeführt auf
die eine zusatzplatine gesteckt wird.
Diese hängt jedoch momentan noch nicht dran.
Versorgungsspannung ist 5V und ich habe einen 7,3.. MHz Quarz
angeschlossen.
Die anderen Teile auf der Platine (Pegelwandler und treiber)
funktionieren einwandfrei und es gibt auch keinen Kurzschluss.
Gast #343823
Lesenswert?
• ▲
▼
Du kannst nur ISP machen, wenn ein "funktionierender Takt" im Proz.
vorliegt. U.U. läuft der externe Quarz nicht an, dann geht gar nix.
Solche Fälle hab ich mit Mega128 schon gehabt, insbesondere nach
Programmieren der Clock-Fuses.

Abhilfe: nimm einen Funktionsgenerator, Quarzoszillator oder irgend
etwas, was ein Taktsignal (f <= 16MHz) erzeugen kann. Das speist Du
über XTAL1 in den AVR, dann sollte es klappen.

Ciao Thomas.
Gast #343825
Lesenswert?
• ▲
▼
Ja stimmt, beim ersten Mal klappts immer ;-)

Ich vermute, dass irgend was mit den elektrischen Verbindungen nicht
stimmt.
- gibts irgendwo Kurzschlüsse/Unterbrechungen auf der selbstgebauten
  Platine ?
- Layout-Fehler ?
- hat der Prozessor Strom ?
- sind die ISP-Leitungen korrekt angeschlossen ?
  (MOSI an Pin2, MISO an Pin3, SCK an Pin 11, RESET an Pin 20,
   GND an  GND)
- am Reset-Pin ist gewöhnlich ein ca. 10K-Widerstand nach Vcc
  und ein 100nF nach GND dran. Wenn die Leitung irgendwo an einem
  Reset-Controller etc. hängt, am besten abklemmen!
- mal ein anderes Programmiertool verwenden, z.B. avrdude oder
  PonyProg

Viel Glück
Ciao Thomas.

Antwort schreiben

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.

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.