mikrocontroller.net

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


Autor: psycho_gon (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Ulrich (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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....

Autor: Jörg B. (manos)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: psycho_gon (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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-Tutori...

... 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

Autor: Jörg B. (manos)
Datum:

Bewertung
0 lesenswert
nicht 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).

Autor: Walter (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 
...

Autor: Thomas P. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 
;-)

Autor: Jörg B. (manos)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: psycho_gon (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Jörg B. (manos)
Datum:

Bewertung
0 lesenswert
nicht 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).

Autor: Thomas P. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Jörg B. (manos)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Karl heinz Buchegger (kbucheg)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Sonic (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Jörg B. (manos)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Jadeclaw Dinosaur (jadeclaw)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: fieser Rahul (auch Oskar genannt) (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Sonic (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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'

Autor: Jörn Paschedag (jonnyp)
Datum:

Bewertung
0 lesenswert
nicht 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!

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.