mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATtiny85 Probleme mit Fuses


Autor: Christian Garbs (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich habe einen USBasp-basierten Programmer und will damit per ISP einen 
ATtiny85 befüllen.

Einfache Tests waren schon erfolgreich: Der ATtiny85 hat mit seinem 
internen Takt erfolgreich eine LED zum Blinken gebracht.

Nun soll er in eine etwas größere Schaltung (basierend auf 
V-USB/HIDKeys) und dazu benötige ich einen externen Takt.  Ich will dort 
einen 12 MHz-Quarz benutzen, dementsprechend muss ich an die Fuses ran.

Der Engbedded Fuse-Calculator sagt: low=0x62 high=0xDF wäre 
Defaulteinstellung für den Chip.
Wenn ich die Fuses mit avrdude auslese, bestätigt sich das.

Nun habe ich mit dem Calculator das CKDIV8 abgeschaltet und auf 
"External Crystal Osc. Freq 8.0- MHz" mit maximalen Timings gewechselt 
(CKSEL=1111 SUT=11).  Demnach wäre die low-Fuse auf 0x7F zu wechseln.
Der andere Fuse-Calculator sagt das gleiche: 
http://eleccelerator.com/fusecalc/fusecalc.php?chip=attiny85&LOW=7F&HIGH=DF&EXTENDED=FF&LOCKBIT=FF

Wenn ich avrdude mit dem Parameter "-U lfuse:w:0x7f:m" aufrufe, dann 
läuft das fehlerfrei durch, aber danach ist der ATtiny85 nicht mehr 
programmierbar.  Er wird vom Programmer nicht mehr gefunden.  Auch das 
einfache Auslesen der Fuses (was vorher mehrfach ging) klappt nicht 
mehr.

Ich habe extra die Finger von den "gefährlichen" Einstellungen in der 
High-Fuse (RSTDISBL, SPIEN, DWEN) gelassen - was habe ich falsch 
gemacht?

Zwei Vermutungen habe ich, aber bevor ich nochmal 99¢ himmele (ich habe 
leider keinen HV-Programmer parat…), frag ich dich lieber :-)

A)
Muss man High- und Low-Fuse immer gleichzeitig schreiben?  Da das beim 
avrdude zwei verschiedene "-U"-Programmiervorgänge sind, habe ich mich 
auf die lfuse beschränkt.

B)
Muss ich nach dem Umschalten auf externen Quarz jetzt auch fürs 
Programmieren extern den Takt extern liefern?  Ich habe bisher gedacht, 
dafür würde das CLK-Signal auf dem ISP-Header ausreichen, aber beim 
Stöbern hier im Forum bin ich langsam zur Überzeugung gekommen, dass dem 
nicht so ist…
Ich habe also testweise während des versuchten Programmierens Quarz und 
Kondensatoren an XTAL1/XTAL2 des ATtiny85 gehängt, aber das hat auch 
nicht geholfen - avrdude hat weiterhin nichts mehr erkannt.

Was tun, sprach Zeus?

Danke und Gruß
Christian

Autor: Oliver R. (orb)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christian Garbs schrieb:
> Muss ich nach dem Umschalten auf externen Quarz jetzt auch fürs
> Programmieren extern den Takt extern liefern?

Ja, wenn Du den internen Oszillator abschaltest braucht er einen 
externen Takt/ein externes Quarz/einen externen Resonator. Das 
CLK-Signal ist nur für den Programmiertakt auf der Schnittstelle.

Mit einem externen Takt sollte das Programmieren auch wieder 
funktionieren.

: Bearbeitet durch User
Autor: Christian Garbs (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
D'oh, der Programmer sponn, das ist mir erst aufgefallen, als ich dann 
nochmal einen brandneuen ATtiny aus der Tüte probiert habe - der wollte 
von Anfang an nicht mit mir reden.

Der "verfuste" ATtiny redet seit ich den Programmer gefixt habe auch 
wieder mit mir – wie schon bemerkt natürlich nur, wenn ein auch Quarz 
dranhängt.

Danke!
Christian

Autor: Philipp K. (philipp_k59)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die letzten HID-Keyboards die ich auf dem Attiny85 nutzte waren mit dem 
internen 8Mhz Takt möglich/machbar.

Hab da einfach nur den Tiny mit nem bissl DiodenSalat am USB Stecker.

: Bearbeitet durch User
Autor: Christian Garbs (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Worüber hast Du denn da das USB abgewickelt?  Ich bin im Moment bei 
V-USB, da reichen die 8 MHz scheinbar nicht aus:

"Can be clocked with 12 MHz, 15 MHz, 16 MHz or 20 MHz crystal or from a 
12.8 MHz or 16.5 MHz internal RC oscillator."

Letztendlich sind das ja auch nur 3 Bauteile (Quarz, Kondensatoren) :-)


Ich will nur eine einfache 1-Tasten-Tastatur bauen (Fußschalter für 
Push-to-Talk im Teamspeak).  Der Testaufbau auf meinem Entwicklungsboard 
(ATmega168) läuft, nun will ich das mit einem ATtiny85 "standalone" 
implementieren.  Da läuft aktuell natürlich irgendwas nicht und mangels 
passender Hardware kann ich nicht sinnvoll debuggen…

Kann ich mal in Deine Schaltung und Software gucken?
Bei weniger Bauteilen kann ich ja auch weniger Fehler machen, vielleicht 
läuft's dann (und dabei hab ich so schön in KiCAD meine Platine 
designed).

Gruß
Christian

PS: Wie wechselt man jetzt das Topic?!

Autor: Philipp K. (philipp_k59)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
google hätte geholfen:
http://codeandlife.com/2012/02/22/v-usb-with-attiny45-attiny85-without-a-crystal/

Dazu halt das HID-Keyboard ..
http://www.elektronik-labor.de/AVR/VUSB.html

Bisschen runterscrollen könnte schon das sein.

: Bearbeitet durch User

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.