Forum: Mikrocontroller und Digitale Elektronik Mega128 lässt sich nicht programmieren


von Luky S. (luky)


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?

von Magnus Müller (Gast)


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

von Magnus Müller (Gast)


Lesenswert?

Ups... kleiner Nachtrag:

Den RESET-Pin musst Du natürlich auch mit dem ISP-Header verbinden.

von Luky S. (luky)


Lesenswert?

Habe mich nur verschrieben.
Die Pins passen schon. Habe ich mehrmals überprüft.
Die Signale SCK und MOSI vom Programmierer (SDK500 Nachbau) kommen auch
am M128 an, er antwortet nur eben nicht an PDO.

von Magnus Müller (Gast)


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

von Luky S. (luky)


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.

von Quix01 (Gast)


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.

von Luky S. (luky)


Lesenswert?

Ich konnte den M128 noch gar nie programmieren, habe also auch keine
Fuses verstellt.
Ausgeliefert wird er doch mit internem 1Mhz Oszillator, oder?

von Quix01 (Gast)


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.

von Rahul (Gast)


Lesenswert?

Beim Mega128 ist nicht die SPI für die ISP vorgesehen, sondern ein paar
andere Pins (Datenblatt...)

von Luky S. (luky)


Lesenswert?

Ich habe die Pins mehrfach kontrolliert und ausgemessen.
Funktioniert immer noch nicht.

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.