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?
"...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
Ups... kleiner Nachtrag: Den RESET-Pin musst Du natürlich auch mit dem ISP-Header verbinden.
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.
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
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.
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.
Ich konnte den M128 noch gar nie programmieren, habe also auch keine Fuses verstellt. Ausgeliefert wird er doch mit internem 1Mhz Oszillator, oder?
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.
Beim Mega128 ist nicht die SPI für die ISP vorgesehen, sondern ein paar andere Pins (Datenblatt...)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.