Forum: Mikrocontroller und Digitale Elektronik AVR tiny45 nach fuse bits programmieren nicht mehr ansprechbar


von Alex H. (alex73)


Lesenswert?

Hallo Leute!

Eventuell kann mir ja jemand helfen.

Ich wollte heute zum ersten mal bei einem tiny45 die fuse bits 
umprogrammieren, sodass der clock/8 teiler ausgeschalten ist und das 
self programming eingeschalten.

Habe mir vor einiger zeit von betemcu.cn den usbasp kompatiblen MiniProg 
besorgt und damit schon erfolgreich at90s2323 flash programmiert - 
allerdings nicht fuse bits.

Mit diesem progger habe ich mir mit khazama zwei chips zerschossen 
(tiny45 & tiny13). Kann jetzt nichts mehr mit ihnen machen, da avrdude 
und khazama keine kommunikation mit den chips aufbauen koennen (z.b. 
device id auslesen).

Wie kann ich die nun wiederbeleben?

Anzumerken waere noch, dass beim programmieren via avrdude/khazama immer 
folgende meldung gekommen ist:
"warning: cannot set sck period. please check for usbasp firmware 
update."
Nachdem aber flashen vormals problemlos gegangen ist, habe ich dem keine 
bedeutung beigemessen. Und daher wollte ich einen "funktionierenden 
programmer" nicht durch ein firmware update kaputt machen. Die usbasp 
platine ist datiert auf 2011/03/05, firmware auslesen aus dem programmer 
liefert nur "muell": binaer 0,1,2,...,255,0 sich wiederholend.

Danke,
Alex.

von Norre (Gast)


Lesenswert?

Hast du dir beide Chips nur durchs schreiben der Fuse-Bits zerschossen 
oder nur den 45er?
Da beim setzen der Fuse-Bits was schief gegangen ist Hilft nur noch 
HV-Programmieren. Dazu gibts in den jeweiligen Datenblätter immer 
hinweise wie man vorzugehen hat.
Zu dem Progger kann ich dir leider keine Hilfestellung geben, da ich den 
nicht kenn.
Viel Erfolg beim Wiederbeleben!

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

Alex H. schrieb:
> Anzumerken waere noch, dass beim programmieren via avrdude/khazama immer
> folgende meldung gekommen ist:
> "warning: cannot set sck period. please check for usbasp firmware
> update."

Hallo!
Ich könnte mir folgendes vorstellen:

Du hast die Taktfrequenz des Mikrocontrollers per Fuse-Bit auf einen 
niedrigen Wert runtergesetzt. Jetzt versucht dein Programmer, die 
ISP-Frequenz ebenfalls runterzuschrauben, damit der Mikrocontroller beim 
Programmieren noch mitkommt. Das aber geht nicht, weil die Firmware 
deines Programmers veraltet ist.

Du kannst nun entweder ein Firmware-Update durchführen (Software gibts 
bei http://www.fischl.de/usbasp/), oder du besorgst dir für ein paar 
Euro einen USBasp mit aktueller Firmware.

von ich da (Gast)


Lesenswert?

Ob es vergleichbar ist, keine Ahnung. Möglicherweise hat es aber damit 
zu tun.

Ich habe ein STK500. Will ich dort einen Tiny 45 brennen oder 
ansprechen, stecke ich den auf den entsprechenden Sockel, muss aber mit 
2 Strippen zwei Signale umleiten damit der Tiny ansprechbar ist. 
Anscheinend ist Atmel beim Tiny45 von der sonst üblichen Pinbelegung 
anderer ähnlicher Controller abgewichen und das muss beachtet werden.

Heißt in deinem Fall, wenn du vom Sockel des Tiny zum Steckplatz für den 
Programmer die Leitungen nicht passend zu den Pinanschlüssen verlegt 
hast, bekommt der Tiny45 nicht die richtigen Signale zum ansprechen und 
brennen.

Schau nach, oder klingele es durch ob die Signale zum ansprechen und 
brennen des Tiny45 passend zum Steckplatz des Programmers verschaltet 
sind.

von spess53 (Gast)


Lesenswert?

Hi

>Anscheinend ist Atmel beim Tiny45 von der sonst üblichen Pinbelegung
>anderer ähnlicher Controller abgewichen und das muss beachtet werden.

Nicht beim ATTiny sondern beim STK500. Und das gilt für alle 
8pol-AVRs.

MfG Spess

von Alex H. (alex73)


Lesenswert?

Hallo!

Danke fuer die raschen antworten!

@ich da (Gast):
Ich konnte vor dem fuse bits proggen, diese lesen. Daher gehe ich davon 
aus, dass die pinbelegung passt. Habe dazu speziell eine kleine 
programmier adapter platine gebaut. D.h. programmiert habe ich den tiny 
separat, nicht in einer schaltung. Und, ja, ich hab's vorher 
durchgemessen ob die belegung passt :-)

@Markus W. (m-w):
Gut, ich werde versuchen die FW am usbasp neu aufzuspielen. Schade ist 
nur, dass ich von der aktuellen kein backup machen kann falls wieder was 
schief geht...

@Norre (Gast):
HV programmieren ist gut. Was fuer - leistbare - progger gaebe es 
dafuer? Und welche software dann?
Hab mich schon oefters gefragt, wozu HV ... jetzt weiss ich's - haett 
ich mir aber auch denken koennen.

Alex.

von Norre (Gast)


Lesenswert?

Hi Alex,
soweit ich weiss kann der MK2 HV-Programmieren. Aber nur wegen den 2 
Chips wär dess ein wenig zu Kostspielig. Es gibt im Netz einige 
Eigenbauten, ich persönlich hab mir aufm Steckbrett selbst einen 
aufgebaut und mittels eines 2ten MC den dann programmiert.

von Alex H. (alex73)


Lesenswert?

Norre schrieb:
> Hi Alex,
> soweit ich weiss kann der MK2 HV-Programmieren. Aber nur wegen den 2
> Chips wär dess ein wenig zu Kostspielig. Es gibt im Netz einige
> Eigenbauten, ich persönlich hab mir aufm Steckbrett selbst einen
> aufgebaut und mittels eines 2ten MC den dann programmiert.

Hallo Norre!

Hach! Guter punkt! Habe da zwei Arduino Nano. Da koennte ich einen 
dafuer nehmen.
Google hat mir auch ein paar links zu Arduino und HV-Progger 
ausgeworfen.

Einer der links hat mich jedoch stutzig gemacht 
(http://blog.makezine.com/2008/09/25/how-to-use-arduino-as-a-h/): denn, 
stimmt es, dass wenn man den /RESET pin als IO bei den fuses 
umprogrammiert, ISP nicht mehr geht und man zwingend HV nehmen muss? Ich 
denke naemlich, ich war so daemlich...

Alex.

Update: Link zum Arduino HV Progger vergessen.

von Norre (Gast)


Lesenswert?

Also den Reset hab ich noch nie als I/O verwendet, jedoch wenn man ihn 
als debugWire verwendet geht ebenfalls kein isp mehr. Von dem her musst 
du wohl oder übel über HV die Fuses rücksetzen wenn du dir mehr oder 
weniger sicher bist dass du den Pin als I/O verwendest.
PS.: Der Link bringt bei mir nichts.
Tschau

von Alex H. (alex73)


Lesenswert?

Ich habe jetzt mal schnell einen HV programmer zusammengesteckt und den 
tiny45 wieder zum leben erweckt. Unter 
http://www.rickety.us/2010/03/arduino-avr-high-voltage-serial-programmer/ 
findet man einen HV Progger auf Arduino basis, der default Fuse werte in 
einen tiny25/45/85 schreibt.

Jetzt noch was fuer den toten tiny13 finden...

Danke fuer den denkanstoss!

Alex.

P.S.: Der ander beitrag (der  nicht geht) ist auch unter 
http://mightyohm.com/blog/2008/09/arduino-based-avr-high-voltage-programmer/ 
zu finden. Ist ein paralleler HV progger auf Arduino basis fuer mega8 
und aehnliche.

von Alex H. (alex73)


Lesenswert?

Alex H. schrieb:

> Jetzt noch was fuer den toten tiny13 finden...

Nachtrag:
Einfach im selbigen Arduino Sketch default werte fuer den tiny13 
eintragen und auf dem gleichen weg die Fuses schreiben. Scheint 
kompatibel mit tiny45 zu sein.
Hat tadellos funktioniert.

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.