Forum: Mikrocontroller und Digitale Elektronik Fuses für Atmega644 auf Pollin Eval-Board v2.01


von LDericher (Gast)


Lesenswert?

Moin,

Da ich hier im Board kein Thema gefunden habe, das 100% passt, mache ich 
mal ein neues auf:

Ich habe das Atmel Evaluationsboard v2.01 von Pollin und darauf einen 
Atmega644. Nun suche ich nach der richtigen Einstellung der Fuses 
passend zu dem/den Taktgeber/n darauf.
Ich benutze (zur Zeit) PonyProg2000. Ideal wäre natürlich ein Screenshot 
mit den richtigen Einstellungen; eine Beschreibung genügt aber auch ;)

Des weiteren las ich hier über diverse Probleme mit dem Board und auch, 
dass es dafür Lösungen geben soll - die habe ich aber nicht komplett 
verstanden. Könnt ihr mir Threads empfehlen oder selbst Empfehlungen 
geben, was man daran noch verbessern kann?

Danke :)

Gruß,
euer LDer

von LDericher (Gast)


Lesenswert?

... Niemand? :'-(

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Es gibt einen Artikel zu dem Board in der Artikelsammlung: [[Pollin 
ATMEL Evaluations-Board]]. Dort und auf der benachbarten 
Diskussionsseite sind ein paar Hardwareprobleme insbesondere im 
Zusammenhang mit den Tastern und diverse Lösungsmöglichkeiten 
angesprochen.

An den Fuses brauchst du zunächst nichts zu ändern. Der Atmega644 
arbeitet auch mit internem Takt auf dem Board.

Spätestens wenn du jedoch UART ausprobierst, solltest du auf den 
externen Takt (Quarz) wechseln.

Welche Fuses dann akut sind, erklärt das Datenblatt und der Artikel 
AVR Fuses.

Mein erster Schritt beim vergleichbaren [[Pollin 
Funk-AVR-Evaluationsboard]] war das Auslesen der Werkseinstellung der 
Fuses. Damit kann man 1/ die Funktion des ISP-Programmers checken und 2/ 
die Grundeinstellung sichern und das mit dem Datenblatt vergleichen. Das 
hilft bei der Interpretation des Datenblatts und bei der Bedienung der 
ISP-Software.

Wenn du nach dem Studium des Datenblatts unsicher bist, welche Fuses du 
bei deinem AVR (ATmega644 oder ATmega644P oder ATmega644PA) einstellen 
sollst, gib die geplante Einstellung und den Typ/Frequenz des verbauten 
Quarzes auf dem Board hier an und irgendein Freiwilliger checkt das dann 
bestimmt mit dem Engbedded Atmel AVR® Fuse Calculator 
http://www.engbedded.com/fusecalc/

von LDericher (Gast)


Angehängte Dateien:

Lesenswert?

Also, Der Mega644 (ohne P oder PA) ist mit dem Quarz Q3 verschaltet, wie 
in der (groben Paint-)Abbildung. Andere Pins hab ich verständlicherweise 
weggelassen.

Weitere Informationen über den Taktgeber habe ich nicht.

Andere Frage: Wie schnell ist der interne Oszillator maximal? 20MHz?
Wie kann ich denn das erreichen?

Gruß,
LDer

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Die wichtigen Infos sind die Angabe 16 MHz beim Quarz und Atmega644<nix> 
beim AVR. Damit kann man den Engbedded Atmel AVR® Fuse Calculator 
füttern.

Für die AVRDUDE Software kommt als Teil der Kommandozeile z.B.
1
-U lfuse:w:0xff:m -U hfuse:w:0x99:m -U efuse:w:0xfc:m

raus (schneller Quarz >=8 MHz, längste Startupzeit und Brownout bei 4,3V 
aktiviert, kein Bootloader). Dabei ist JTAG auch noch aktiviert. 
Möglicherweise willst du JTAG aber abschalten, wenn du diese Pins als 
IO-Pins benutzen willst.

Unter Windows, mit AVRDUDE und echter RS232-Schnittstelle Fuses *lesen*:
1
@echo off
2
echo Serieller ISP auf dem Board
3
echo Lese ATmega644 Fuses
4
avrdude -v -p atmega644 -c ponyser -P com1 > fuses1.txt 2>&1

Die Datei fuses1.txt solltest du sichern, wenn du mal die 
Werkseinstellungen nachlesen willst oder wenn du Hilfe brauchst und die 
Ausgabe des Programmierversuchs hier zeigen willst, bevor du weiter 
machst.

Unter Windows, mit AVRDUDE und echter RS232-Schnittstelle obige Fuses 
*schreiben*:
1
@echo off
2
echo Serieller ISP auf dem Board
3
echo Setze ATmega644 Fuses auf 16 MHz Quarz
4
avrdude -v -p atmega644 -c ponyser -P com1 -U lfuse:w:0xff:m -U hfuse:w:0x99:m -U efuse:w:0xfc:m > fuses2.txt 2>&1

Die Datei fuses2.txt solltest du sichern, wenn du Hilfe brauchst und die 
Ausgabe des Programmierversuchs hier zeigen willst.

von Stefan B. (stefan) Benutzerseite


Lesenswert?

LDericher schrieb:

> Andere Frage: Wie schnell ist der interne Oszillator maximal? 20MHz?
> Wie kann ich denn das erreichen?

Was steht denn im Datenblatt?

"The device is shipped with internal RC oscillator at 8.0MHz and with 
the fuse CKDIV8 programmed, resulting in 1.0MHz system clock."

20 MHz wirst du mit dem internen Oszillator also nie erreichen.

von Oliver J. (skriptkiddy)


Lesenswert?

LDericher schrieb:
> Weitere Informationen über den Taktgeber habe ich nicht.

Im Datenblatt unter Punkt 7.2 wirst du fündig.

von LDericher (Gast)


Lesenswert?

Stefan B. schrieb:
> Die wichtigen Infos sind die Angabe 16 MHz beim Quarz und Atmega644<nix>
> beim AVR. Damit kann man den Engbedded Atmel AVR® Fuse Calculator
> füttern.
>
> Für die AVRDUDE Software kommt als Teil der Kommandozeile z.B.
> -U lfuse:w:0xff:m -U hfuse:w:0x99:m -U efuse:w:0xfc:m
>
> raus (schneller Quarz >=8 MHz, längste Startupzeit und Brownout bei 4,3V
> aktiviert, kein Bootloader). Dabei ist JTAG auch noch aktiviert.
> Möglicherweise willst du JTAG aber abschalten, wenn du diese Pins als
> IO-Pins benutzen willst.

Also der Ext. Crystal Oscillator >8Mhz, 16K CK + 65 ms? Das ist 
definitiv ein Quarz? Ich hab in schon einmal an die Uni tragen müssen, 
weil da ein STK500 ist um die Fuses zu retten... Und wenn ich nur den 
ISP-Zugriff will, kann ich auch JTAG abschalten...?

Bitte nochmal bestätigen/korrigieren, bevor ich mir den wieder verfuse 
:)

Stefan B. schrieb:
> "The device is shipped with internal RC oscillator at 8.0MHz and with
> the fuse CKDIV8 programmed, resulting in 1.0MHz system clock."

Ja, aber das at macht mir da ein wenig Hoffnung...

Und v.a. das hier: "F.max (MHz): 20" von 
http://www.atmel.com/dyn/products/product_card.asp?part_id=3694
Also: Wie kriege ich den auf 20MHz? Schnelleres Quarz?

Gruß,
euer LDer

von Stefan B. (stefan) Benutzerseite


Lesenswert?

LDericher schrieb:

> Also der Ext. Crystal / Oscillator >8Mhz, 16K CK + 65 ms? Das ist
> definitiv ein Quarz?

Ja, ext. Crystal / Oscillator steht für einen Quarz oder einen 
keramischen Oszillator.

Leider kennt das Datenblatt den Begriff Ext. Crystal / Oscillator nicht. 
Dort hast du die Auswahl zwischen Low Power Crystal Oscillator und Full 
Swing Crystal Oscillator. Wie du deinen 16 MHz Quarz betreibst - als Low 
Power (= Ext. Crystal im Fuserechner) oder Full Swing (eigener 
Einstellpunkt im Fuserechner) ist Geschmackssache. Full Swing wird 
empfohlen bei harter (noisy) Umgebung.

Wenn du Angst vorm Verfusen hast, warte mit dem Schreiben der Fuses 
noch, bis die vorhandenen Fuses sicher ausgelesen werden können.

Das Verfusen kann entstehen, wenn der ISP-Programmer noch nicht richtig 
arbeitet und ein Schreibversuch gemacht wird. Oder wenn die ISP Software 
nicht richtig bedient wird (Häkchen ist 1 oder 0 und was bedeutet 
"gesetzte Fuse" eigentlich). Auslesen und Vergleichen mit dem Datenblatt 
hilft da wirklich weiter!

> Und v.a. das hier: "F.max (MHz): 20" von
> http://www.atmel.com/dyn/products/product_card.asp?part_id=3694
> Also: Wie kriege ich den auf 20MHz? Schnelleres Quarz?

Ja, mit einer schnelleren externen Taktquelle also z.B. einem 20 MHz 
Quarz.

von LDericher (Gast)


Lesenswert?

Danke!

-- gelöst --

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.