Forum: Mikrocontroller und Digitale Elektronik Atmega8 mit 8 oder 16 mhz


von psycho_gon (Gast)


Lesenswert?

hallo zusammen,

ich habe das avr tutorial gelesen, und um das ganze mal nachzubauen auch 
die notwendigen komponenten bestellt. leider habe ich nicht dem atmega8 
mit 16 mhz gekauft sondern den mit 8 mhz. gibt es nun im weiteren 
verlauf der anleitung etwas zu beachten? (z.B. einen anderen quarz, 
statt den mit 4 mhz?) oder kann ich diesen ebenfalls verwenden.
falls nicht würde ich, bevor ich den controller einlöte, einen neuen 
bestellen um nicht direkt an dieser hürde zu scheitern.

dank euch

thomas

von Ulrich (Gast)


Lesenswert?

benütze einfach die voreingestellten 1MHz. Intern kannste den noch auf 
8MHz hochsetzen. Aber ich denke am Anfang benötigst du das noch nicht.

Extern müsste alles zwischen 0-16MHz funktionieren....

von Jörg B. (manos)


Lesenswert?

Wenn Du sowieso nur einen 4 MHz Quarz verwenden willst ist es egal ob Du 
den Mega8 oder Mega8L hast. Bei der "L"-Variante solltest du halt nur 
nicht über 8 MHz gehen.

von psycho_gon (Gast)


Lesenswert?

... danke für die schnelle antwort.

heisst das ich benötige gar keinen quarz? ich wollte den controller so 
einrichten wie unter "Mikrocontroller" beschrieben:

http://www.mikrocontroller.net/articles/AVR-Tutorial:_Equipment

... würde das ganze denn laufen wenn ich einen 4 mhz quarz anschließe? 
oder einfach nichts an pin9 anschließen?

dank euch, und verzeiht die nub fragen

thomas

von Jörg B. (manos)


Lesenswert?

Der Mega8 wird vom Werk aus mit 1 MHz internen Takt ausgeliefert... Man 
kann diesen über eine Fuse auf 8 MHz intern erhöhen ohne eine externe 
Beschaltung für den Takt zu haben.

Wenn Du allerdings Beispielprogramme übernimmst solltest Du natürlich 
dann bedenken, dass dein Programm entweder mit einem viertel oder der 
doppelten Geschwindigkeit von 4 MHz läuft (z.B. bei Blinkgeschwindigkeit 
oder RS232).

von Walter (Gast)


Lesenswert?

"heisst das ich benötige gar keinen quarz?"
Ja

"... würde das ganze denn laufen wenn ich einen 4 mhz quarz anschließe?
oder einfach nichts an pin9 anschließen?"
2x ja

im AVR Tutorial ist auch ein Link auf das Datenblatt, da steht viel drin 
...

von Thomas P. (Gast)


Lesenswert?

Wenn Du den internen Oszillator nutzt, dann brauchst Du an xtal1 und 
xtal2 nichts anschließen...
Hierzu kann aber auch der berühmte Blick in das Datenblatt nicht schaden 
;-)

von Jörg B. (manos)


Lesenswert?

Mit einem Quarz musst Du übrigens nicht nur Pin9 sonder auch Pin10 
beschalten. Pin9 alleine ist die Variante mit dem Oszillator.

Wenn Du den internen Takt nutzt kannst Du diese beiden Pinne auch als 
PortB6 und PortB7 in Deinen Programmen verwenden.

von psycho_gon (Gast)


Lesenswert?

....das hat nun fast alle meine fragen mehr als perfekt gelöst, offen 
bleibt nur noch:

... die mhz-angabe nur das mögliche potential, d.h. wenn ich nichts 
anschließe läuft er auf 1 mhz... und teoretisch könnte ich den 
controller bis 8 mhz "belasten".

.... ist dann der mit 16 mhz doppelt so schnell, oder benötigt dieser 
mehr takte zur verarbeitung einer instruktion?

thomas

ps: war noch nie in einem forum in dem ich um diese uhrzeit noch so 
schnell eine antwort bekommen habe. Vielen Dank!

von Jörg B. (manos)


Lesenswert?

Mit dem internen Takt gehen beide nur bis 8 MHz... die 16er Variante 
kann nur mit einem externe Taktgeber (Quarz oder Oszillator) die volle 
Geschwindigkeit erreichen.

Was die Verarbeitungszeit angeht gibt es zwischen den Typen keinen 
Unterschied.

Du hast nur die Wahl zwischen 1 MHz und 8 MHz intern (beim Mega8).

von Thomas P. (Gast)


Lesenswert?

Öhm...also, vielleicht weisst Du es ja schon - sofern dem so ist, 
überlese den kommentar.

Wenn Du die entsprechenden PINs nicht an ein Quarz anschließt so heißt 
das nicht, dass der Controller mit Intern 1MHz läuft!!!
Wenn Du den Controller zuvor auf Externen Quarz "gefused" hast, dann 
musst Du extern ein Quarz anschließen.
Wenn Du den Controller zuvor auf Intern "gefused" hast, dann kannst Du 
extern alles anschließen (fast alles, 230V solltest Du nicht anlegen).

Bitte schaue mal ins Datenblatt, Thema Oszillator, Fuses, System 
Clock...

von Jörg B. (manos)


Lesenswert?

Auslieferungszustand ist mit internem 1 MHz Takt.

Sofern nicht umgestellt sollte der immer noch vorhanden sein. Sollte er 
auf extern umgefused worden sein kann man dies natürlich rückgängig 
machen wenn man will...

von Karl heinz B. (kbucheg)


Lesenswert?

Um noch einmal zusammen zu fassen.
Es gibt 2 Möglichkeiten:
  * interner Takt
  * externer Takt

* interner Takt
  Dies ist der Auslieferungszustand bei einem Mega8.
  Dabei wird der Takt von einem internen Schwingkreis
  geliefert.
  Vorteil: keine externe Beschaltung notwendig. Die Pins
    an denen ansonsten ein Quarz oder ein Quarzoszillator
    angeschlossen wird sind daher als normale Portpins
    verwendbar.
  Nachteil: Der Schwingkreis ist nicht sehr genau. Bei
    Temperaturänderungen verändert er seine Frequenz.
    Nur 2 Frequenzen (1Mhz und 8Mhz) sind realisierbar. Es
    gibt zwar die Möglichkeit die interne Frequenz in Grenzen
    noch zu verändern, dies ist aber aufwändig und erfordert
    mindestens einen Frequenzzähler, wenn man eine bestimmte
    Frequenz erreichen will.

* externer Takt
  Auch hier gibt es wieder 2 Möglichkeiten
  o Quarz
  o Quarzoszillator
  Vorteil: Die Taktfrequenz ist so stabil, wie es der Quarz
    bzw. der Oszillator vorgibt. Und das ist wesentlich genauer
    als der interne Oszillator.
    Kein Abgleich notwendig, wenn eine bestimmte Frequenz
    erreicht werden soll, solange as einen Quarz bzw. Oszillator
    in dieser Frequenz gibt.
  Nachteil: Die Pins an denen der Quarz bzw. der Oszillator
    angeschlossen wird, sind nicht mehr als I/O Pins nutzbar.

von Sonic (Gast)


Lesenswert?

@ Jörg B.:
>Auslieferungszustand ist mit internem 1 MHz Takt.

Der mega8 hat keine ckdiv-Fuse, den kann man nicht /8 Teilen. Nur 
zwischen 1, 2, 4 und 8 MHz interner RC-Oszillator auswählen.
Den mega8L (8 MHz) sollte man nicht übertakten. Der interne Aufbau ist 
für kleinere Versorgungsspannungen ausgelegt und kann >8MHz seltsame 
Phänomene zeigen. Drum Steht auf jedem AVR die maximal als sicher 
garantierte Taktfrequenz drauf.

>Sollte er auf extern umgefused worden sein kann man dies natürlich rückgängig 
machen wenn man will...

Ja, sofern ein Quarz angeschlossen ist oder an XTAL1 eine Frequenz min. 
4x der ISP-Frequenz anliegt.

von Jörg B. (manos)


Lesenswert?

Stimmt, mit dem 2 und 4 MHz war mir gar nicht mehr bewusst, da ich immer 
direkt auf 8 hochgestellt hatte... Aber stimmt natürlich - mia culpa :)

Das mit dem ckdiv-Fuse versteh ich jetzt nicht so ganz, aber
"The device is shipped with CKSEL = “0001” and SUT = “10” (1 MHz 
Internal RC Oscillator, slowly rising power)."
steht zumindest so in der Doku.

von Jadeclaw D. (jadeclaw)


Lesenswert?

psycho_gon schrieb:
" ...  bevor ich den controller einlöte, ... "
Mein Rat: Keinesfalls einlöten, lieber sockeln. Wenn man sich das Ding 
zerfused oder aus einem anderen Grund stirbt, wird das sonst eine eklige 
Auslötaktion. ( Es sei denn, es ist ein Controller im TQFP-Gehäuse, da 
ist natürlich nichts mit Sockel).

Gruss
Jadeclaw.

von fieser Rahul (auch Oskar genannt) (Gast)


Lesenswert?

>mia culpa

Welche Schuld trägt Mia da?

Das Ding nennt sich "mea culpa". Nutze Fremdwörter, wenn du weisst was 
sie bedeuten, und du sie richtig schreiben kannst.

von Sonic (Gast)


Angehängte Dateien:

Lesenswert?

@  Jörg B.:
was ich meinte ist beim Tiny2313. Hab' das Prog-Plugin vom AVR-Studio 
mal drangehängt, die Fuse heißt 'CKDIV8'

von Jörn P. (jonnyp)


Lesenswert?

@  psycho_gon
Vielleicht solltest du dich mal an korrekte Bezeichnungen gewöhnen.
Es gibt sowohl mHz (Millihertz) wenn auch selten, und natürlich MHz 
(Megahertz). mhz gibt es dagegen nicht!

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.