Forum: Mikrocontroller und Digitale Elektronik ISP programmierung beim ATmega8a funktioniert nicht


von Mikel (Gast)


Lesenswert?

Hallo, ich hab ein kleines Problem. eigentlich dachte ich es wäre ganz 
einfach, zusammenlöten, ISP anschließen und programmieren. Aber der 
Atmega wird nicht erkannt :(

Also mal von Anfang an.
Ich habe mir fertige Platinen gekauft, auf denen ein Atmegax8 passt.
Die Platine hat einen 10pol ISP,  3 Pufferkondensatoren und eine 
Resetlogik, 11kOhm an Plus, 100nF an Minus. VCC ist mit AVCC verbunden. 
Also eigentlch nichts aufregendes. Ansonsten sind die Port an 
Pfostenstecker geführt, die aber noch nicht bestückt sind.

 Ich dann habe ich meinen ISP Programmierer (mySmartUSB light) genommen 
und versucht den Atmega8A-16AU zu programmieren, ok eigentlich hab ich 
nur versucht die CPU id auszulesen, aber er findet die CPU nicht.

Ich habe alle Leitungen überprüft, vom ISP-Sockel bis zum Atmega8A, alle 
waren einwandfrei. Zu den Nachbaranschlüssen entsteht kein Kontakt 
(Brücke)
1 MOSI- 15, 3 NC , 5 RST 29, 7 SCK -17, 9 MISO -16
2 VCC - 4+6, 8+10 GND 3+5 (PinISP name - Pin MPU)

Bei ID auslesen hab ich die Spannung gemessen sie lag bei 4,88V.

Der Atmega8A-AU 1133  ist neu. Das Auslesen hab ich mit AVRstudio 
gemacht. Der ISP Programmierer funktioniert problemlos mit meinem 
Experimentierbord Atmega16. Der Quarz und die Kondensatoren für den 
Quarz sind nicht bestückt (Meines Wissens arbeitet er mit dem internen 
Takt, wenn er neu ist)

Hat jemand eine Idee woran es liegen könnte? Oder was ich mal testen 
könnte?

von Oliver J. (skriptkiddy)


Lesenswert?

Mikel schrieb:
> Hat jemand eine Idee woran es liegen könnte? Oder was ich mal testen
> könnte?

ISP-Takt zu hoch eingestellt?
Der muss nämlich weniger als 1/4 des µC-Taktes betragen. Der Atmega8 
wird glaub ich mit 1MHz ausgeliefert. Also muss der Takt kleiner 250kHz 
sein.

Gruß Oliver

von B.A. (Gast)


Lesenswert?

Mach mal ein aussagekräftiges Bild von der ISP-Chip Verbindung.

Mikel schrieb:
> 1 MOSI- 15,
> 3 NC ,
> 5 RST 29,
> 7 SCK -17,
> 9 MISO -16
> 2 VCC - 4+6,
> 8+10 GND 3+5
(PinISP name - Pin MPU)

Verbinde auch Pin 18 mit Vcc und 21 mit GND.

Prüfe noch mal (mit einem Durchgangsprüfer) ob die Leitungen wirklich zu 
den Pins vom Chip gehen.

von Mikel (Gast)


Lesenswert?

Der Atmega16 (mit dem es geht) läuft auch nur mit 1 MHz(intern), Der ISP 
takt ist 57,6kHz (defaultvorgabe)

Pin18, AVCC liegt an VCC, eigentlich gehört da eine Induktivität rein, 
da ich die aber noch nicht habe ist es mit 0R gebrückt.
Pin 21 liegt an GND, liegt auch an.
 Die Leitungen gehen wirklich von der Spitze des Stecker bis da, wo das 
Beinchen ins IC geht, habe alles durchgemessen.
 20 (Aref) ist offen.
Bild kommt gleich, dauert ein bißchen.

von Mikel (Gast)


Lesenswert?

Schaltplan.
C1,C2,Q1,D1 ist nicht bestückt

von Mikel (Gast)


Angehängte Dateien:

Lesenswert?

Schaltplan.
C1,C2,Q1,D1 ist nicht bestückt
(Irgendwie klappt das nicht mit dem Bild)

von Mikel (Gast)


Lesenswert?

Hab gerade gesehen Die Spule von Pin 18 AVCC nach VCC fehlt im 
Schaltplan, dort ist aber eine Verbindung, und bei mir eine Brücke.

von Uwe (de0508)


Lesenswert?

c8 ist das problem, schaum mal in die aaplication notes der avr µp.

von Mikel (Gast)


Angehängte Dateien:

Lesenswert?

Im C8 sehe ich kein Problem, der C ist von VCC nach GND, da gehört er 
auch hin. Wenn die Spule drin wäre, wäre ich mir auch nichts so sicher, 
ob das so gut ist. Ist aber die Vorgabe von der Platine,
 Ich hab nochmal ein Schaltplan, so wie er gelötet ist. das was weiß 
durchgestrichene ist nicht bestückt, die L1 wurde überbrückt. C8 ist 1u 
statt 10u, vom Reset sind nur C6 und R1 bestückt.

von Karl H. (kbuchegg)


Lesenswert?

Der C ist auch kein Problem (und die fehlende Spule die du durch eine 
Brücke ersetzt hast auch nicht).
Was aber ein Problem sein könnte: Zwischen die Vcc/GND Pärchen auf jeder 
Seite des µC müssen 100nF rein.

Der Mega läuft, sobald er Versorgungsspannung hat.

Also prüfen: liegt an allen Vcc Pins auch 5V gegen Masse an.

Ansonsten bleibt nur noch, dass du irgendeinen Aderdreher im ISP-Kabel 
hast. Hast du das Kabel selbst gemacht?

von Mikel (Gast)


Lesenswert?

das Kabel habe ich nicht selber gemacht, das ist ein 6pol-6pol, aber den 
adapter habe ich selber gemacht um auf 10 pol zu kommen. ich habe mit 
dieser Konstellation aber schon ein Mega16 mehrfach geflashed, und auch 
ein Mega128 geflashed. daraus schliese ich das es einwandfrei 
funktioniert.
 ich habe von dieser Platine auch schon 2 bestückt, die sich beide nicht 
programmieren lassen. Die Lötpunkte (besonders die ISP und VCC ) hab ich 
mit eine Lupe 45x untersucht. Auch alle Anschlüsse mehrfach gemessen, 
alles sieht einwandfrei aus.
  Meine einzigste Vermutung ist das die Atmegas nicht funktionieren, 
kann man die noch irgendwie anders testen ob sich da was tut? Ein 
Programm bekomme ich da ja nicht rein.

von Peter R. (pnu)


Lesenswert?

Was ist mit der Spiegelung des ISP-Steckers? wenn da von der L-Seite 
anstatt von der B-Seite gesteckt wird, kommt nur Blödsinn heraus.

Atmegas sind recht robust, bisher haben ich nur dann einen atmega8 
gekillt, wenn ich 12V drangelassen habe. auf falsche Spannung im Bereich 
von 0V ..5V hat er nie ernstlich reagiert. Das müsste schon an Hardware 
oder Software der ISP-Schnittstelle liegen.

von Mikel (Gast)


Lesenswert?

Also Vcc und GND sind einwandfrei an der richtigen Stelle, damit 
schliesse ich aus, das etwas am ISP verdreht ist. an den anderen Boards 
funktioniert das Kabel ja auch.

von H. P. Bolliger (Gast)


Lesenswert?

Ist eventuell R2 zu niederohmig, so dass der Prommer den ATmega8 nicht 
in den Flashmodus setzen kann? MyAVR verwendet auf ihren Boards 10k.

von Mikel (Gast)


Lesenswert?

Ich hab nen 11k genommen, habe gedacht der müßte auch gehen. Habe leider 
kein anderen Wert da. Er ist etwas hochohmiger, deshalb dauert der rest 
evt etwas länger.

 Ich habe es jetzt geschafft die Boards anzusprechen. Ich hatte noch 
einen anderen ISP programmer im Schrank, einer für 3Euro aus china, für 
den Preis mußte ich ihn einfach kaufen :D, unter Windows lief er nicht. 
vermutlich ein anderer Treiber drin. (hat eine andere Ventor und Product 
ID)
 Hab ihn rausgekramt, und ihn in Linux versucht zum laufen zu bringen. 
hat zwar etwas gedauert, da ich mich danach erst in avrdude einlesen 
mußte. Aber mit ihm ist es möglich beide Boards auszulesen. :) habe 
leide immoment keine Software die ich drauf machen könnte.
 Also die Boards laufen. :) da bin ich erleichtert.

Bleibt jetzt nur die Frage warum es mit dem anderen nicht geht.
 Könnte es tatsächlich sein das, das timing am reset so kritisch ist, 
das es bei dem mySmartUSB zu lange dauert?
 werde jetzt mal versuchen den anderen unter Linux zum laufen zu 
bringen. muß mal rausbekommen wie der mysmartUSB unter Linux heißt.

von Mikel (Gast)


Lesenswert?

Hmm, hab jetzt beide Brenner dran, und jetzt gehen beide.

Das einzigste was mir dazu jetzt einfällt. Die USB Spannung von dem 
anderen Rechner mit dem ich es immer versucht hatte, zu niedrig ist, 
oder das das Timeing vom AVRdude unkritischer ist als von AVRstudio.

von So lala (Gast)


Lesenswert?

Ist es denn zum programmieren überhaupt von Nöten, AVCC und AREF zu 
beschalten? Da während des Programmiervorgangs keine analogen 
Komponenten benötigt werden, sollte dort doch eigentlich auch keine 
Spannung angeschlossen sein müssen.

Grüße
So lala

von Heinz L. (ducttape)


Lesenswert?

Datenblatt sagt beschalten also beschalten! :)

Und nein, ist scheinbar nicht notwendig, ich hab Mega8er auch ohne 
AVCC/AREF Belegung betrieben. Aber wenn was nicht geht ist sich NICHT an 
die Spezifikation halten üblicherweise der falsche Weg...

von Peter R. (pnu)


Lesenswert?

AVCC ist erst dann notwendig, wenn das Port mit den Analoganschlüssen 
benutzt wird. Erst dann sind die Treiber/Eingangsverstärker an den 
entsprechenden Pins versorgt.

Aref liegt normalerweise nicht an Spannung, da wird nur ein 
Pufferkondensator an die interne Aref angeschlossen, damit sie stabiler 
wird.
von außen legt man nur dann Spannung an, wenn anstelle der internen Vref 
eine externe Vref oder VCC als ref verwendet werden sollen.

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.