µC spinnt - Programmieren geht nicht

#3365519
Lesenswert?

Ich habe ein Programm für eine Digitaluhr geschrieben. Ich habe dann die 
Fusebits des µC in Ponyprog geändert. Ich habe den Haken bei "JTAGEN" 
deaktiviert und bei "CKSEL3", "CKSEL2", "CKSEL1", "CKSEL0" den Haken 
rein gemacht. Jetzt kommt immer device not found. Wie kann ich den µC 
noch verwenden? Ich habe einen 16MHz Quarzoszillator an XTAL1 
angeschlossen.
Gast #3365545
Lesenswert?

M. B. schrieb:

> Ich habe ein Programm für eine Digitaluhr geschrieben. Ich habe dann die
> Fusebits des µC in Ponyprog geändert. Ich habe den Haken bei "JTAGEN"
> deaktiviert

OK, das ist wahrscheinlich sinnvoll.

> und bei "CKSEL3", "CKSEL2", "CKSEL1", "CKSEL0" den Haken
> rein gemacht.

Warum hast du das getan? Und außerdem: um welchen µC handelt es sich 
eigentlich konkret?

> Jetzt kommt immer device not found. Wie kann ich den µC
> noch verwenden? Ich habe einen 16MHz Quarzoszillator an XTAL1
> angeschlossen.

Das hilft oft, aber halt nicht immer. Das einzige, was immer hilft, ist 
HV-Programming. Du brauchst dazu einen Programmer, der das beherrscht.

Allerdings: Wenn man einfach immer nur sinnvolle Werte für die 
Clock-Optionen programmiert, indem man vor dem Programmieren die 
verfickten Datenblätter liest, dann braucht man kein HV-Programming und 
nicht die Kohle für einen dazu fähigen Programmer abzudrücken.

Da wird es viel billiger, den verfuseten µC einfach wegzuwerfen, als 
Lehrgeld abzubuchen und einen neuen zu kaufen. Selbst ein Mega1284P 
kostet ja nichtmal ein Drittel des günstigsten HV-fähigen Programmers...
#3365579
Lesenswert?

M. B. schrieb:
> Aber ich habe ja schon einen Taktgeber (den Quarzoszi) an XTAL1 und kann
> damit nicht auf die Fuses zugreifen. Ein Oszillator steht mir leider
> nicht zur Verfügung.

??  Es gilt aber: Taktgeber (den Quarzoszi) = Oszillator

Somit passt der Text irgendwie nicht...

Oder meinst Du mit Quarzoszi eine Quarz? Der muss aber an XTAL1 und 
XTAL2 + 2 Kondensatoren (üblicherweise je 22pF) angeschlossen werden.

Ein Oszillator wird nur an XTAL1 angeschlossen und lässt sich auch 
leicht mit z.B. einem 74HC14 bauen. Damit sollte es gehen, auch wenn der 
µC auf Quarz eingestellt ist.

Gruß Dietrich
#3365583
Lesenswert?

spess53 schrieb:
> Hi
>
> CKSEL3..0 = 1111 ist AVRs i.A. External Crystal/Ceramic Resonator. Von
> der Seite passt das schon.
Ich denke auch, dass es passen sollte.
Bei einem anderen Projekt funktioniert es auch.

> Anscheinend nicht. Wie hast du den Oszillator beschaltet?
An der eckigen Ecke (links unten) habe ich nichts. An der darüber habe 
ich +, rechts unten habe ich - und rechts oben OUT.
Also so:

+__________OUT --> XTAL1
/          \
|          |
|__________/
           GND
#3365593
Lesenswert?

M. B. schrieb:
> Ich habe den Haken bei "JTAGEN"
> deaktiviert und bei "CKSEL3", "CKSEL2", "CKSEL1", "CKSEL0" den Haken
> rein gemacht.
Das ergibt CKSEL3..0 = 0000

spess53 schrieb:
> CKSEL3..0 = 1111 ist AVRs i.A. External Crystal/Ceramic Resonator. Von
> der Seite passt das schon.

Um das hier zu erreichen dürfen keine Haken drinnen sein.
#3365646
Lesenswert?

> spess53 schrieb:
>> CKSEL3..0 = 1111 ist AVRs i.A. External Crystal/Ceramic Resonator. Von
>> der Seite passt das schon.
>
> Um das hier zu erreichen dürfen keine Haken drinnen sein.
Und wie kann ich das jetzt ändern?

Dietrich L. schrieb:
> Welchen hast
> Du (Typenbezeichnung!)?
Ich habe diesen Quarzoszillator: 
http://www.pollin.de/shop/dt/MDM5OTY3OTk-/Bauelemente_Bauteile/Passive_Bauelemente/Quarze_Oszillatoren/Quarzoszillator.html
In dem anderen Projekt hatte ich den selben verwendet und genau so 
belegt. Dort funktioniert es.
#3366231
Lesenswert?

M. B. schrieb:
> Aber warum funktioniert es dann nicht?

Weil der Fehler dann woanders ist.
- der Schaltplan kann von der Realität abweichen
- ein Bauteil ist defekt
- das Layout / die Verdrahtung kann schlecht sein
- Versorgung mangelhaft,  Stützkondensatoren fehlen
- ???

Das ist vielleicht die Gelegenheit, den kompletten Schaltplan + Layout 
zu zeigen.

Wie die Fuses jetzt tatsächlich eingestellt sind und was das bedeutet, 
habe ich nicht verfolgt und kontrolliert. Ich bezog mich nur auf 
mögliche Hardwarefehler.

Gruß Dietrich
#3366250
Lesenswert?

Dietrich L. schrieb:
> Das ist vielleicht die Gelegenheit, den kompletten Schaltplan + Layout
> zu zeigen.

Hier ist der Schaltplan...
Der Plan hat nur den Fehler, dass der Oszillator an XTAL2 ist. Gelötet 
habe ich ihn aber an XTAL1.

Hubert G. schrieb:
> Muss ja nicht irr hoch sein, 1MHz tut es auch, eventuell den
> Programmiertakt anpassen.

Könnte ich da den Taktgeber von dem Atmel Board von Pollin an den µC 
ziehen und GND verbinden?
Angehängte Dateien:
#3366280
Lesenswert?

M. B. schrieb:
> Dietrich L. schrieb:
>> Das ist vielleicht die Gelegenheit, den kompletten Schaltplan + Layout
>> zu zeigen.
>
> Hier ist der Schaltplan...

Wo sind die Widerstände für die LEDs? Wie groß ist der Maximalstrom 
(beim ATmega16 darf in Summe max. 200mA über Vcc und GND fließen)?

Dann fehlt noch das Layout. Dazu:

Hast Du genügend Stützkondensatoren verbaut? Sind sie nahe genug am µC 
und am Taktgenerator? Ist das GND-Netzwerk solide genug? Wie ist die 
Versorgung?

Gruß Dietrich
#3366285
Lesenswert?

Dietrich L. schrieb:
> Wo sind die Widerstände für die LEDs? Wie groß ist der Maximalstrom
Ich habe einen extra Schaltplan für die LEDs gemacht, da ich wegen der 
Pin-Begrenzung in Target nicht mehr auf den Plan machen konnte. Soll ich 
den auch mit hochladen?

> (beim ATmega16 darf in Summe max. 200mA über Vcc und GND fließen)?
Das muss ich mal prüfen. Aber eig. sollte das nicht das Problem sein, da 
ich das Programm noch nicht aufgespielt habe und somit noch kein Strom 
an den "Ausgabepins" liegt. Kann ich da einfach den Stromfluss zwischen 
Spannungsquelle - µC messen?

> Dann fehlt noch das Layout.
Was ist ein Layout?
#3366524
Lesenswert?

M. B. schrieb:
> Ich habe die ganze Schaltung auf einer Punktrasterplatine aufgelötet.

Du bist aber zäh mit den Informationen :-(
Dann mach mal Bilder! Eins von jeder Seite.
Mit der Info "auf einer Punktrasterplatine aufgelötet" kann doch keiner 
beurteilen, ob das ordentlich gemacht ist.
Ordentlich heißt:
- möglichst kurze Masseverbindungen mit genügend Querschnitt
- genügend Stützkondensatoren sehr nahe an den Bauteilen
(aber danach habe ich ja schon mal gefragt ...)

Gruß Dietrich

PS: Welche Messmöglichkeiten hast Du denn? Ein Oszi wäre nicht schlecht, 
da könnte man den Takt und verschiedene Signale beim Programmieren mal 
anschauen. Wenn nicht: sag mal Deine Postleitzahl; vielleicht lässt sich 
da was machen ...
#3366960
Lesenswert?

So. Hier die Fotos der Schaltung von vorne und hinten.

Stefan schrieb:
> überforderst Du damit eventuell den
> Programmer.
Ich werde morgen die LEDs mal ablöten und schauen ob es dann 
funktioniert.

Stefan schrieb:
> Weiterhin brauchen manche Programmer eine Stromversorgung vom Target, du
> hast diesen Pin jedoch nicht beschaltet.
Welcher Pin ist der Target-Pin? Bei der anderen Schaltung habe ich den 
µC genauso angesteuert. Ich hatte jedoch an den Programmierpins nichts 
anderes (wie hier die LEDs).
Angehängte Dateien:
#3367467
Lesenswert?

Ich habe jetzt die LEDs, die an den Programmierpins hängen, abgelötet. 
Das Lesen vom µC funktioniert wieder. Beim schreiben bleibt er immer bei 
75% stehen. Manchmal läuft er auch durch und nach dem Prüfen kommt 
"write failed".
Wenn ich die Fuses lese ist bei keinem ein Haken gesetzt. Zum Testen 
habe ich bei JTAGEN den Haken wieder rein gemacht und geschrieben. Das 
ging ohne Fehler. Danach habe ich wieder gelesen und der Haken war nicht 
mehr gesetzt.

Stefan schrieb:
> Du benutzt Ponyprog hoffentlich nicht über einen USB zu seriell oder USB
> zu parallel Adapter?
Nein ich nutze keinen USB-Seriell Adapter. Ich programmiere direkt über 
den seriellen Port.
#3367481
Lesenswert?

Icke ®. schrieb:
> Hast du diesen Tip gelesen?
>
> Timmo H. schrieb:
>> Häufiger Fehler
>> http://www.mikrocontroller.net/articles/AVR_Fuses#...
>
> Ich zitiere nochmal daraus:
>
> "Weiter ist zu beachten, dass bei PonyProg ein gesetztes Häkchen einer 0
> im Datenblatt entspricht!"

Ja. Aber egal wie ich es einstelle, wird es nicht gespeichert.
#3368113
Lesenswert?

Du wirst ja noch andere Kontroller haben, funktioniert das Programmieren 
im Pollin-Board? Sicher kein Fehler beim Umsetzen von 10 auf 6polig?
Hast du keine Oszillator mehr? Ansonst geht das im Pollin-Board auch.
Ohne weitere Meßmöglichkeit ist die Fehlersuche nun mal auf das 
Überprüfen der Spannungen begrenzt. Das wirst du ja gemacht haben, auch 
den Reset.
#3368124
Lesenswert?

Hubert G. schrieb:
> Du wirst ja noch andere Kontroller haben
Ich habe noch einen. Bei dem taucht das gleiche Problem auf (auf dem 
hatte ich die Fuses früher mal gesetzt (warum auch immer...))

> funktioniert das Programmieren im Pollin-Board?
Wenn ich es direkt auf dem Pollin-Board versuche kommt gleich (bevor er 
versucht zu schreiben) der Fehler "Device missing or unknown device 
(-24)".

> Sicher kein Fehler beim Umsetzen von 10 auf 6polig?
Wie kann ich das prüfen?

> Hast du keine Oszillator mehr?
Nein, leider nicht.

> Ohne weitere Meßmöglichkeit ist die Fehlersuche nun mal auf das
> Überprüfen der Spannungen begrenzt. Das wirst du ja gemacht haben, auch
> den Reset.
Welche Spannungen muss ich wo messen?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren