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