Forum: Mikrocontroller und Digitale Elektronik Fusebits bei Mega16


von hmann (Gast)


Lesenswert?

Hi!

Ich bin gerade dabei mir ein Board für den Mega16 zu bauen und will ein
16MHz Quarz verwenden. Im Datenblatt finde ich bei den Fusebit
Einstellungen aber nur Einstellungen für max. 8MHz (Seite 24)
CKSEL3..1 gesetzt auf 1
Ist das auch die Einstellung für 16MHz oder hab ich was verpasst?

Danke
  hmann

von Gerd Vergin (Gast)


Lesenswert?

Hallo,
AVR-Studio sagt mir auch, dass der MC nur Fusebit-Einstellungen bis
8MHz hat.
Nachdem ich ehrlich gesagt keine Lust habe mir das Datenblatt
anzuschauen, gehe ich mal davon aus, der MC läuft nur mit max. 8MHz.

Gruss

Gerd

von hmann (Gast)


Lesenswert?

Also der Mega16 läuft definitiv auch mit 16MHz. Steht zumindest im
Datenblatt (und das zählt ja soweit ich weis) Nur steht nicht drin
wie...

von Jan (Gast)


Lesenswert?

Hi hmann,

habe enenfalls einen AtMega16,der läuft auch mit 16Mhz.Hab die Fusebits
allerdings in Bascom gesetzt.

CKsel:1111
CK:10 (64msdelay)
CKOPT:0

der knackpunkt ist wohl, wie der Quarz schwingen soll,das hatte glaub
ich mit dem ckopt zu tun(bei ckopt:0 schwingt der Quarz sicherer)

von hmann (Gast)


Lesenswert?

ok, danke!
Ich versuchs einfach mal zu setzen wie du.

ciao
  hmann

von Fritz Ganter (Gast)


Lesenswert?

Bei externen Quarz stellst du keine Frequenz mit den Fusebits ein. Die
Einstellung gilt nur für den internen Oszillator.
Es muss nur eingestellt werden, dass du einen externen Quarz (nicht
Oszillator) hast.
Ich könnte im Datenblatt nachschauen welche genau zu setzen sind, bin
aber zu faul dazu. :-)

von hmann (Gast)


Lesenswert?

achso. Danke für die Info.
Ich denke ich finde dann im Datenblatt die richtige Einstellung.

ciao
  hmann

von Norbert (Gast)


Lesenswert?

Hi,

Man stellt mit den Fuses ein, daß man einen externen Quartz benutzt und
in welcher Gegend der liegt.
Der Controller muß wissen, womit er es in etwa zu tun hat.
Es gibt Einstellungen für niedrige, mittlere und hohe Frequenzen.
Für nen Quarz mit 16MHz ist Cksel3...0 1111 richtig.
Dann brauchst Du noch die richtige Einstellung für SUT (Datenblatt) und
bei mehr als 8MHz muß Ckopt 0 sein, also programmiert.
Das ist der Booster um den Quartz sicherer schwingen zu lassen.

Gruß,
Norbert

von Michael (Gast)


Lesenswert?

Hi,
ich hab folgendes Problem:

Mein AtMega8535 lief bisher (ohne das ich es wußte) nur mit internem
Takt. Hat alles toll funktioniert.

Dann hab ich gelesen, dass man die Fuse Bits erst auf externen Takt
einstellen muß. Das hab ich auch getan, der Quarz war ja dran (8 MHz).
Ich hab Cksel0-3 alle auf 1 gestellt (wie es oben beschrieben steht).
Seit dem verweigert mir der Controller jeden kontakt zum PC.

Was ist zu tun, wo kann der Fehler liegen?

von Norbert (Gast)


Lesenswert?

Hi,

Sind die Kondensatoren am Quarz richtig?
Entweder schaust Du in das Datenblatt des Quarzes oder probierst mal so
10-30pF. Meist passen 15pF.
Schwingt der Krempel denn?
Das kannst Du mit einem Oszi zumindest ahnen, leider nicht wirklich
messen.

Gruß,
Norbert

von Michael (Gast)


Lesenswert?

Hab leider kein Ossi.
die Kondensatoren liegen bei ca. 18 pF.

Ich hab einen Verdacht:
kann es sein das ich mit den Häkchen an Cksel 0-3 diese Bits nicht auf
1 sondern auf 0 gesetzt habe?
Habe da irgendwas von invertierung gelesen, bin mir aber nicht
sicher...

von Fritz Ganter (Gast)


Lesenswert?

Ja genau: Häkchen heisst programmed und meint 0, kein Häkchen ist 1.

von Michael (Gast)


Lesenswert?

verstehe, dann habe ich also 0000 eingestellt und muß eine "external
clock" verwenden.

Nach dem Datenblatt muß ich dann dem AVR an XTAL1 wohl Starthilfe von
einem Fequenzgenerator geben, ich hoffe mal das ein paar kHz reichen,
denn das kann ich nur improvisieren.

Im datenblatt finde ich keine Angabe zur Spannung und Form des
Signals.
Ist das eher nebensächlich?

von Matthias (Gast)


Lesenswert?

Hi

ein paar kHz werden wohl kaum reichen da der AVR dann nicht mehr mit
der Programmierfrequenz mitkommt. Signalform sollte Rechteck mit einem
Tastverhältnis von 50% sein.

Matthias

von Norbert (Gast)


Lesenswert?

Hi,

Nebensächlich ist das nicht.
Wenn Du das nicht findest hast Du nicht richtig gesucht, da gibts
genaue Angaben zum Timing der Clock.
Hast Du einen 4093 zur Hand?
Dann gehts ganz einfach:
Nimmst ein Gatter davon, beide Eingänge zusammen und von den C an
Masse.
Vom Ausgang einen R an die Eingänge, fertig ist die Clock.
2nF und 4k7 oder 1nF und 10k dürften etwas über 100kHz ergeben, das
dürfte gehen.
Oder Du fummelst was mit NE555 zusammen.
Auf jeden Fall sollte es mit etwa Gnd-Vcc schwingen.

Gruß,
Norbert

von Michael (Gast)


Lesenswert?

Hat funktioniert, mit nem NE555.
Mit ca. 340 kHz.



danke und machts gut...

von ...HanneS... (Gast)


Lesenswert?

@Fritz,

gibt es eigentlich "binäre Würfel", mit denen man die Fusebits
"auswürfeln" kann?

Wäre doch für manch einen eine große Hilfe...

;-))

B- & BB...
...HanneS...

von Norbert (Gast)


Lesenswert?

Hi,

Ponyprog ist doch schon fast so ein Würfel ;-)
Das einzige Problem ist, daß viele sich einfach zu wenig Gedanken
drüber machen.
Wenn man sich das Datenblatt ordentlich reingezogen hat, ist das nicht
mehr dramatisch mit den Fusebits.
Dann noch ein Batchfile für Ponyprog gebastelt und schon ist es ganz
einfach.

Gruß aus Beijing,
Norbert

von Fritz Ganter (Gast)


Lesenswert?

Moin Norbert!

Ist doch ganz einfach mit den Fusebits, einfach immer denken:
"Verkehrt herum".

Ausserdem ist unten ja immer erklärt: Häkchen means programmed and
"0" oder so ähnlich :-)

Grüss die hübschen Chinesinen von mir!

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.