Forum: Mikrocontroller und Digitale Elektronik internen Oszillator verwenden obwohl externer dranhängt


von Basti (Gast)


Lesenswert?

Hi,

ich hab ne Frage zum ATMEGA328PB bzw generell zu AVR Mikrocontrollern. 
Ich hab mir das ATMEGA328PB-Xplained Mini Board geholt. Auf diesem Board 
ist ein externen Oszillator an den µC angeschlossen. Da ich in naher 
Zukunft allerdings eine eigene Platine für den 328PB entwickeln möchte 
und ich vermutlich keinen externen Oszillator benötige wollte ich 
prüfen, ob das Programm auch mit dem internen 8Mhz Oszillator läuft. 
Meine Frage wäre nun, ob es ein Problem ist auf den internen Oszillator 
umzustellen, obwohl in der realen Schaltung ein externer dranhängt?

Danke schon mal!

von Jochen S. (schoenf)


Lesenswert?

Ja, das geht. Musst nur die Fuses (CKSEL) entsprechend setzen, dann wird 
der interne Oszillator verwendet. Wenn du ein Oszi hast, müsstest du 
dann sogar sehen können, dass der externe Quarz nicht mehr schwingt.

Viele Grüße

Jochen

von Basti (Gast)


Angehängte Dateien:

Lesenswert?

Also einfach nur das Bit SUT_CKSEL (siehe Anhang) auf den internen 8Mhz 
wechseln. Sonst muss ich nichts beachten?

von Jochen S. (schoenf)


Lesenswert?

Korrekt!

von Basti (Gast)


Lesenswert?

Super, danke für die schnelle Antwort!

von Cyblord -. (cyblord)


Lesenswert?

Basti schrieb:
> Also einfach nur das Bit SUT_CKSEL (siehe Anhang) auf den internen 8Mhz
> wechseln. Sonst muss ich nichts beachten?

"Betreutes Entwickeln". Die neue Zukunft der Controllerentwicklung.

von Vorname N. (mcu32)


Lesenswert?

Für die Zukunft:
Steht i.d.R. alles unter dem Punkt Oscillator :))

Auch hier gilt mal wieder der alte Spruch:
Steht alles im Datenblatt.

von Cyblord -. (cyblord)


Lesenswert?

Vorname N. schrieb:
> Für die Zukunft:

Ich habe gehört die fällt aus.

von EAF (Gast)


Lesenswert?

Cyblord -. schrieb:
> die fällt aus.

Früher war alles besser!
Sogar die Zukunft.

von Vorname N. (mcu32)


Lesenswert?

Cyblord -. schrieb:
> Ich habe gehört die fällt aus.

Aber nur, wenn wir Skynet vorher nicht aufhalten können ;)

von Karls Q. (karlsquell)


Lesenswert?

Vorname N. schrieb:
> Für die Zukunft:
> Steht i.d.R. alles unter dem Punkt Oscillator :))
>
> Auch hier gilt mal wieder der alte Spruch:
> Steht alles im Datenblatt.

Im Prinzip habt ihr recht, allerdings kann man mit diesen Argumenten 
fast alle Themen hier schließen. Denn es gibt immer irgendwo eine Stelle 
in einem schlauen Buch mit der passenden Antwort.

Aber ein Forum lebt doch nunmal von Kommunikation. Wer kein bock hat zu 
Antworten, soll es einfach lassen. Bin ja schon froh, dass es nicht 
schon in Beleidigungen übergeschwungen ist.

von Cyblord -. (cyblord)


Lesenswert?

Karls Q. schrieb:

> Im Prinzip habt ihr recht, allerdings kann man mit diesen Argumenten
> fast alle Themen hier schließen. Denn es gibt immer irgendwo eine Stelle
> in einem schlauen Buch mit der passenden Antwort.

Nein, weil man kann über Dinge stolpern die allein mit dem Datenblatt 
nicht
lösbar sind.
So einfach ist die Welt dann leider doch nicht.
Und auch Dinge im Datenblatt muss man nicht unbedingt sofort verstehen. 
Nachgeschlagen sollte man sie aber schon mal haben, bevor man fragt.

Und ich muss zugeben der aktuelle Thread ist kein gutes Beispiel für 
RTFM. Denn der TE fragt ganz direkt, bekommt eine direkte Antwort und 
fragt dann nochmal konkret nach ob seine Lösung korrekt ist.
Ist zwar etwas aufwändig für so einen simplen Sachverhalt aber dem 
Grunde nach gibt es schlimmere Anfragen.

: Bearbeitet durch User
von Rainer V. (a_zip)


Lesenswert?

Cyblord -. schrieb:
> Ist zwar etwas aufwändig für so einen simplen Sachverhalt aber dem
> Grunde nach gibt es schlimmere Anfragen.

Und gerade in diesem Fall finde ich die Frage richtig wichtig, weil im 
Datenblatt eben nicht drin steht, ob der Quarz stört, wenn man den 
internen Schwinger nutzt. Natürlich kann man sowas auch schnell 
ausprobieren, aber dann bleibt immer ein Rest Unsicherheit. So genau 
genommen natürlich auch :-)
Gruß Rainer

von fern seher (Gast)


Lesenswert?

Basti schrieb:
> Super, danke für die schnelle Antwort!

Irgendwann wirst du hier fragen ob man einen externen Quarz
zu deinem existierenden Board dazufrickeln kann. Denn irgendwann
bereut man es keine quarzstabile Frequenz zu haben ....

Also wozu die 50 Cent für den Quarz sparen?

Achooooo, es handelt sich hier um ein Gross-Serien-Produkt mit
mindestens 100.000 Stück pA ....

von EAF (Gast)


Lesenswert?

Rainer V. schrieb:
> weil im
> Datenblatt eben nicht drin steht, ob der Quarz stört, wenn man den
> internen Schwinger nutzt.

Häää....
Dann macht man die Pins zu Eingängen und die Pullup würden den Laden 
dann endgültig stabil machen.

Das geht doch, ohne nachzudenken.

von EAF (Gast)


Lesenswert?

fern seher schrieb:
> Also wozu die 50 Cent für den Quarz sparen?
Nicht immer ist der offensichtlichste Punkt der richtige.

fern seher schrieb:
> Achooooo, es handelt sich hier um ein Gross-Serien-Produkt mit
> mindestens 100.000 Stück pA ....
Nicht immer ist der offensichtlichste Punkt der richtige.

Beispiel:
Der interne Oszillator ist, mehr als deutlich, resistenter gegen 
Beschleunigungen.
Quasi 100% Rüttelfest.

von fern seher (Gast)


Lesenswert?

fern seher schrieb:
> Also wozu die 50 Cent für den Quarz sparen?

Ach, ich vergass die Lastkondensatoren, die schlagen auch noch
mit mindestens wenn nicht noch weniger Cent zu Buche.

von Rainer V. (a_zip)


Lesenswert?

EAF schrieb:
> Das geht doch, ohne nachzudenken.

Glaubst du :-) und wie glaubst du sind die Pins für den Quarz 
geschaltet, wenn dieser genutzt werden soll? Natürlich dann als Ausgang? 
So ein Schwachsinn kommt raus, wenn man nicht denkt...
Gruß Rainer

von Soul E. (Gast)


Lesenswert?

Rainer V. schrieb:

> Und gerade in diesem Fall finde ich die Frage richtig wichtig, weil im
> Datenblatt eben nicht drin steht, ob der Quarz stört, wenn man den
> internen Schwinger nutzt. Natürlich kann man sowas auch schnell
> ausprobieren, aber dann bleibt immer ein Rest Unsicherheit. So genau
> genommen natürlich auch :-)

Interessant wird es wenn man dynamisch zwischen den diversen Modi 
wechselt. Ein Timer läuft auf dem internen Lowspeed-Oszillator und weckt 
den Controller zyklisch, dieser startet auf dem internen 
Highspeed-Oszillator, prüft ein paar Eingänge, und wenn ihm das Ergebnis 
gefällt fährt er den externen Quarz hoch, startet die PLL und 
kommuniziert am CAN. Und nach Busruhe geht es wieder in den STOP-Mode, 
mit zyklischem Wecken durch den internen Lowspeed-Oszillator. Bei 
solchen Konstruktionen übersieht man gerne mal was, da ist möglichst 
intensives Review ausgesprochen hilfreich.

von Jochen S. (schoenf)


Lesenswert?

Wäre mir neu, dass man zur Laufzeit den Oszillator umschalten kann. 
Würde davon ausgehen, dass das beim Atmega über die Fuses permanent 
ausgewählt ist. Aber lustig, welche Kommentare sich auf so eine klare 
Antwort auf eine klare Frage so entspannen. Ich hole mir jetzt Popcorn 
und ne Cola.

Gruß

Jochen

von EAF (Gast)


Lesenswert?

Rainer V. schrieb:
> und wie glaubst du sind die Pins für den Quarz
> geschaltet, wenn dieser genutzt werden soll?
Dafür gibts doch ein Schemabildchen im Datenblatt, oder?
Das ist aber aus dem Rennen, wenn die Fuses geändert wurden. Danach ist 
der Oszillator nicht mehr aktiv an den Pins.
Sie sind ganz normale IO Pins

Verwendbar, sind sie als IO dann nicht wirklich, da ja noch der Quarz 
dranhängt, und die Leitungen sicherlich nicht weit/heraus geführt sind.

Also keine Angst, Pullup aktivieren und nicht weiter drüber nachdenken.

von fern seher (Gast)


Lesenswert?

Soul E. schrieb:
> Interessant wird es wenn man dynamisch zwischen den diversen Modi
> wechselt.

Träum weiter in deinen ARM-Sphären, wir sind hier auf dem
nackten Boden der Tatsachen von AVR und Consorten.

von Andreas B. (bitverdreher)


Lesenswert?

Jochen S. schrieb:
> Wenn du ein Oszi hast, müsstest du
> dann sogar sehen können, dass der externe Quarz nicht mehr schwingt.
Er sprach von einem externen Oszillator. Das ist kein Quarz.
Aber wer weiß was der TO gemeint hat.....

von Jochen S. (schoenf)


Lesenswert?

> Er sprach von einem externen Oszillator. Das ist kein Quarz.
> Aber wer weiß was der TO gemeint hat.....

Das ist richtig. Aber das Board hat laut Anleitung einen Quarz. 
Zumindest steht da drin, wie diese CKSEL zu setzen sind und das lässt 
auf einen Quarz statt Oszi schließen.

Viele Grüße

Jochen

von Andreas B. (bitverdreher)


Lesenswert?

Jochen S. schrieb:
> Aber das Board hat laut Anleitung einen Quarz.
OK, so genau habe ich da jetzt nicht geguckt. ;-)

von EAF (Gast)


Lesenswert?

Andreas B. schrieb:
> Aber wer weiß was der TO gemeint hat.....
Wir!

Jochen S. schrieb:
> das Board hat laut Anleitung einen Quarz.
Siehste.

von Wolfgang (Gast)


Lesenswert?

Rainer V. schrieb:
> Und gerade in diesem Fall finde ich die Frage richtig wichtig, weil im
> Datenblatt eben nicht drin steht, ob der Quarz stört, wenn man den
> internen Schwinger nutzt.

Das beantwortet sogar das Datenblatt. Im Kapitel 11. "System Clock and 
Clock Options" gibt es gleich zu Anfang die mehr als halbseitige 
Abbildung "Figure 11-1. Clock Distribution". Dort siehst du, das die 
Taktquelle für den Systemtakt mit einem simpler Multiplexer (aka 
Schalter mit mehreren Stellungen) ausgewählt wird. Im Abschnitt "11.2 
Clock Sources" steht es noch mal ganz deutlich, auch wie mit CKSEL 
entsprechen der Tabelle 11-1"Device Clocking Options Select" der 
Multiplexer gesteuert wird.

von Vorname N. (mcu32)


Lesenswert?

Jochen S. schrieb:
> Wäre mir neu, dass man zur Laufzeit den Oszillator umschalten kann.
> Würde davon ausgehen, dass das beim Atmega über die Fuses permanent
> ausgewählt ist. Aber lustig, welche Kommentare sich auf so eine klare
> Antwort auf eine klare Frage so entspannen. Ich hole mir jetzt Popcorn
> und ne Cola.
>
> Gruß
>
> Jochen

Genau das. Config Bits können nicht während der Laufzeit gesetzt oder 
verändert werden. Weder bei einem Atmel, Microchip oder sonst was.

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.