PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem bei Inbetriebnahme eines ATtiny24



RP6fahrer
04.09.2013, 08:01
Hallo Leute,

Ihr seid meine letzte Hoffnung. Ich habe mir einen ATtiny24 gekauft. Nun wollte ich ihn erstmal testen und habe die nötigsten Anschlüsse hergestellt (VCC,GND MISO,MOSI,SCK,Reset). Jetzt wollte ich als erstes die Fuse-Bits ändern. Dabei habe ich folgendes Problem, wenn ich diese einlese, dann ist nirgenswo ein Haken drin. Wenn ich dann Haken setze und auf schreiben gehe, dann kommt nur "Error writing Fuses!". Als Programmer verwende ich den DIAMEX USB-ISP Stick von Reichelt und als Programm Burn-O-Mat 2.1.2. Anschlüsse habe ich mehrmals überprüft und ich kann einen Steckfehler zu 99% ausschließen.
Habt ihr noch eine Idee, was ich da machen kann? Ich kann mir nicht vorstellen, dass er kaputt ist...

Vielen Dank
MFG
Daniel

PS: Ich habe noch vergessen zu erwähnen, dass es nur klappt wenn ich -F als Zusatz verwende.

uffi
04.09.2013, 15:27
Anscheinend funktioniert schon das Lesen der Fuses nicht richtig. Liest er denn die Chip-Kennung korrekt ein und erkennt, dass es sich um einen ATTiny24 handelt? Und kannst Du den Inhalt des EEPROMs oder des Flash-Speichers korrekt auslesen?

Es könnte sein, dass durch falsch programmierte Fuse der Baustein nur noch parallel programmiert werden kann und nicht mehr über ISP. Dann müsstest Du den Baustein mit einer 1-MHz Clock (oder niedrigere Frequenz) über den Clock-Pin takten und den Baustein wieder ISP programmierbar machen.

021aet04
04.09.2013, 15:52
Normalerweise sind diese µC im Urzustand mit 1MHz getaktet (8MHz intern mit Teiler /8 ). Dadurch musst du den ISP Takt relativ niedrig wählen (glaube es sind 1/4 vom Prozessortakt, bin mir aber jetzt nicht sicher). Dann sollte es funktionieren.

MfG Hannes

RP6fahrer
07.09.2013, 13:16
Hallo,

Danke für eure Gedanken... Ich glaube, er kommt gar nicht soweit, die CHip Kennung auszulesen. Folgende Meldung erscheint bei "Read Fuses":

initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.


@uffi:
Wie kann ich den Flash / Eeprom auslesen? Theoretisch passiert ja nix, weil ja nix drauf sein dürfte... Wie gesagt, ich hab den ja frisch aus der Verpackung genommen.. Demnach könnten ja auch die Fuse Bits nicht verändert sein. Aber mal angenommen ich müsste den mit 1 MHz takten, reicht es wenn ich versuche mit einem NE555 ungefähr 1 MHz hinzubekommen, oder kann ich einen Quarz mit 8 MHz anschließen? Das mit dem Quarz hab ich schon versucht, hat aber keine Wirkung.

@Hannes
Ja, es war ein Viertel. Wie kann ich die Geschwindigkeit reduzieren? Reicht da der Befehl -B 250 ???

Vielen Dank für eure Hilfen, ich hoffe, dass ich den noch zum laufen bekomme...

021aet04
07.09.2013, 15:44
Wenn der µC neu ist ist als Takt der interne 8MHz RC Oszillator mit Teiler 8 gewählt (Laut DB Seite 26 Punkt 6.2.2). Dadurch brauchst du keinen Takt bzw Quarz anzuschließen. Du musst in den Programmiereinstellungen einen ISP Takt von max. 1/4 vom µC Takt einstellen. Du darfst dadurch mit max. 250kHz ISP Takt programmieren.

MfG Hannes

Wsk8
07.09.2013, 16:49
Also ich benutze auch den DIAMEX, aber mit dem Atmel Studio. Hier funktioniert alles perfekt. Mit diesem Burn o mat funktionierte gar nichts bei mir.

mfg

RP6fahrer
08.09.2013, 14:21
Hi,
Die Sache ist ja die, dass alle Controller /fast alle Controller mit 1MHz ausgeliefert werden und bei Burn-O-Mat musste ich nie die ISP Frequenz ändern, also ich konnte alle Controller bisher programmieren. Das waren aber alles nur ATmega 8, 16, 32... Die haben immer auf Anhieb funktioniert.

Ich muss dazu sagen, dass der Attiny24 nicht standardmäßig bei Burn-O-Mat inbegriffen ist. Zu diesem Problem habe ich aber eine Datei bei Mikrocontroller.net gefunden. Ich denke doch, dass diese Datei geprüft ist und auch funktionieren müsste und wie gesagt, ich habe diese Datei mit der vorhandenen ersetzt und die Programmierung von den Atmegas funktioniert nach wie vor...

Ich habe aber als Alternative noch AVR Studio 4. Ich kann den Chip auswählen und auch die ISP- Frequenz ändern, aber wenn ich Fuses lesen oder einfach ein Programm einspielen will, dann kommt immer:

Entering programming mode... FAILED!
Leaving programming mode... OK!

Ich bin da einfach ratlos, ist er vielleicht doch kaputt??

Und noch ne Frage, wie/wo kann ich die Chip-Kennung einlesen??

021aet04
08.09.2013, 17:26
Mit Burnomat kenne ich mich nicht aus, bei "Main" stellst du ein wie du programmieren willst (ISP) und den µC Typ. Dort gibt es den Button "Read Signature". Mit diesem liest du die Chip Kennung aus.

Hast du sicher keinen Verdrahtungsfehler? PA4 = CLK, PA5 = MISO, PA6 = MOSI

MfG Hannes

Wsk8
08.09.2013, 17:45
http://conelek.org/images/thumb/a/a3/Avr_studio_avr_programming_flash_image_edited.png/600px-Avr_studio_avr_programming_flash_image_edited.png

Wenn du ganz Oben "apply" drückst, stellst du die Verbindung mit dem Programmer her. Dann kannst du auch die ISP-Frequenz ändern. Somit sollte am Programmer alles OK sein. Rechts daneben kannst du mit "read" die ID auslesen. Wenn das nicht funktioniert, ist deine Schaltung oder dein µC defekt.

mfg