Hallo zusammen, ich bin da auf einen für mich etwas seltsamen Fall gestoßen. Ich habe ein Board mit einem ATMEGA32U4-AU und einem 16 MHz Quarz gekauft. Ich habe mir mal den schon installierten Bootloader angeschaut und bin auf folgende Zeile gestoßen: SUT_CKSEL = EXTXOSC_8MHZ_XX_16KCK_65MS Jetzt frage ich mich ob das überhaupt möglich ist einen µC an dem ein 16MHz Quarz angeschlossen ist (habe das kontrolliert, da ist ein 16MHz Quarz auf dem Board), mit 8MHz zu betreiben? Des Weiteren wollte ich mir mal ansehen wie die Einstellungen sein müssten wenn dieser auf 16MHz laufen sollte. Hierzu bin ich auf folgende Seite gestoßen: http://www.engbedded.com/fusecalc Wenn ich hier nun den ATMEGA32U4 einstelle, bekomme ich nur einen Taktfrequenz bis zu 8MHz angezeigt. Lt. Datenblatt sollte dieser aber mit bis zu 16MHz laufen. Kann mich jemand aufklären? Grüße, Marco
Marco G. schrieb: > SUT_CKSEL = EXTXOSC_8MHZ_XX_16KCK_65MS Das ist wahrscheinlich die Einstellung: Ext. Crystal Osc.; Frequency 8.0- MHz; Start-up time: 16K CK + 65 ms Und das bedeutet, dass der Quarz im Bereich von 8MHz bis 16MHz liegen muss. PS. Zeig mal den Link zum Quellcode. Gruß Oliver
Hallo Oliver J., Hier der Link dazu: https://github.com/ArcBotics/Servotor32/blob/master/Bootloader/Fuse%20Settings.txt Ich hoffe das hilft dir weiter. Danke schon mal. Grüße, Marco
Hi >Jetzt frage ich mich ob das überhaupt möglich ist einen µC an dem ein >16MHz Quarz angeschlossen ist (habe das kontrolliert, da ist ein 16MHz >Quarz auf dem Board), mit 8MHz zu betreiben? Der ATMEGA32U4 hat doch ein 'Clock Prescaler Register'. Damit lässt sich aus einer Taktquelle von 16 MHz ein Systemtakt von 8 MHz einstellen. MfG Spess
Ah, verstehe ich das dann richtig: Der ATMEGA32U4 läuft wahrscheinlich mit 16MHz und wird Softwaremäßig im Bootloader durch die Zeile SUT_CKSEL = EXTXOSC_8MHZ_XX_16KCK_65MS auf 8MHz herunter getaktet? Das würde es erklären. Aber warum man so etwas machen sollte verstehe ich nicht ganz. Man muss aber nicht alles verstehen :) Ich hoffe heute abend kommt mein Amtel Programmer und dann werde ich die Fuses mal auslesen. Danke für den Tipp. Grüße, Marco
Marco G. schrieb: > Kann mich jemand aufklären? Wie schon gesagt: Die Einstellung bedeutet 'ab 8 Mhz' Hintergrund: der µC-interne 'Schwingkreis' muss elektrisch etwas anders abgestimmt werden, je nach Quarzfrequenz. Bei kleinen Frequenzen wird eine etwas andere Abstimmung genutzt, als bei großen. Daher muss man per Fuse nur angeben, welchen Typus man hat, welche Abstimmung man also benutzen will. Da es wohl ein paar Tausend verschiedene Quarzfrequenzen zwischen 1Mhz und 16Mhz geben dürfte, wäre das ein bischen witzlos, wenn man jede einzelne per Fuse einstellbar machen müsste. Das wären dann sehr viele Fuses :-) Nein. Du musst ihm nur sagen: Mehr oder weniger als 8Mhz. Dadurch ist dann der Schwingkreis soweit abgeglichen, dass es mit dieser Quarzfrequenz keine Probleme geben wird und der Quarz auch wirklich anschwingt.
Ah, jetzt habe ich es kapiert. Man sagt ihm nur dass da ein Quarz ist, der mehr als 8MHz hat, und er übernimmt dann die ihm gegebene Quarzfrequenz einfach vom Quarz (hier dann eben 16MHz). Ich war nur etwas irritiert da ich bei meinem ATMega8 genau die 16MHz Quarzfrequenz einstellen konnte. Danke für die Aufklärung! Grüße, Marco
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.