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
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....
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.
... 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
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).
"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 ...
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 ;-)
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.
....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!
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).
Ö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...
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...
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.
@ 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.
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.
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.
>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.
@ Jörg B.: was ich meinte ist beim Tiny2313. Hab' das Prog-Plugin vom AVR-Studio mal drangehängt, die Fuse heißt 'CKDIV8'
@ 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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.