mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Extra Oszillator schalten?


Autor: Sencer Soylu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich war auf der ATMEL Seite!
Fast alle ATMEL-Mikrocontroller ausser eins haben einen internen
Oszillator. Dann müsste man doch nicht einen Oszillator extra schalten,
oder?
Danke.

Autor: Flite (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Der interne Oszillator kann nicht alle Frequenzen 'erstellen' und ist
leider auch relativ ungenau / temperaturabhängig. Für Aufgaben, in
denen exaktes Timing notwendig ist (z.B. UART, RTC) ist der interne
Oscillatopr ungeeignet und man verwendet einen exakteren,
temperaturstabilen externen Quarz.

Dazu muss man die Fusebits ändern.

Grüße Flite

Autor: Gottfried Bremer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab' mal gelesen, dass das UART mit dem internen Oszillator nur
keine hohen Datenraten erlaubt. Weis einer die Toleranzwerte des
Internen Oszillators?

Autor: Stefan Kleinwort (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ich hab' mal gelesen, dass das UART mit dem internen Oszillator nur
>keine hohen Datenraten erlaubt. Weis einer die Toleranzwerte des
>Internen Oszillators?

Warum zum Teufel gebt Ihr Euch immer mit diesen halbwahren
Überlieferungen zufrieden? Wir sind doch nicht mehr im Mittelalter, wo
nur der Pfarrer die Bibel lesen konnte. Sowas steht im Datenblatt,
dieses Thema z.B. beim Mega16 um S.300.

Mit Ausprobieren oder guten Tipps werdet Ihr gerade bei diesem Thema
eine Lösung finden, die jetzt funktioniert. Im Sommer leider nicht
mehr, weil der RC-Osz. stark temperaturabhängig ist.

Die Baudrate muss auf ca. 1,5% genau stimmen (Vorsicht Hausnummer ->
Datenblatt lesen). Egal ob 115200 oder 300 Baud eingestellt sind. Eine
abweichende Taktfrequenz macht sich bei allen Baudraten gleich fatal
bemerkbar.

Stefan

Autor: mmerten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nö, also bei den neuen mega8/16/32/128 etc. ist der RC-Oszillator
temp.-kompensiert und recht stabil, lediglich die Fertigungstoleranz
der Nenn-freuquenz ist "etwas" gross. Dieses läßt sich aber auch
durch entsprechende Justage über das OSCAL-Register kompensieren. Kommt
immer drauf an was fertigungstechnisch günstiger ist, quarz und 2 C`s
oder entsprechender Abgleich des internen Oszillators.

Autor: Stefan Kleinwort (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wo ist der interne RC-Osc. temperaturkompensiert? Im Manual steht
kompensiert, das bezieht sich auf die Kompensation der
Herstellungstoleranzen, s.u. Die Abweichung beträgt bei 5,0V zwischen
8,25Mhz (-40 Grad) und 7,8Mhz (80 Grad). Ändert sich zusätzlich die
Spannung, kommen noch weitere Abweichungen dazu.

Das Register OSCCAL dient lediglich des Abgleichs von
Fertigungstoleranzen im Herstellungsprocess. OSCCAL wird beim Reset mit
einem werksseitig gebranntem Kalibrierwert geladen. Dies hat aber
nichts mit Temparatur-Kompensation zu tun.

Über dieses Register lässt sich theoretisch eine Temp.Kompensation
durchführen, dazu muss aber die Temperatur (z.B. über AD) von der
Software gemessen werden. Wäre sicher interessant, habe aber noch
niemand gesehen, der sowas macht.

Stefan

Autor: mmerten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also über den normalen C-Temperaturbereich 0-70 °C und entsprechendem
Abgleich der Nennfrequenz bleibt man im "sicheren" Bereich von +- 2%
für UART-Baudraten generierung. Uhren oder genau timer kann man
natürlich von einem R/C-Oszillator nicht erwarten. Gegenüber den alten
internen Oszillatoren ist der jetzige aber ein erheblicher Fortschritt
und kann Bauteile und Kosten sparen.

Autor: Stefan Kleinwort (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich will den internen RC ja nicht schlechtreden, und ich bin auch immer
dafür zu haben, Bauteile wegzulassen wo es nur geht. Beim UART wäre ich
trotzdem vorsichtig. Wenn man genau weiss, was man tut, und der
Temperaturbereich entsprechend eingeschränkt ist, mag das gehen. Es
gibt aber nichts ärgerlicheres als Fehler, die in der Sommersonne
auftreten und im Labor auf dem Schreibtisch nicht nachzuvollziehen
sind.

Die Baudraten-Toleranz kenne ich mit max. 1,5% Gesamtfehler. Dabei
sollte man nicht nur den AVR berücksichtigen, sondern auch die
Gegenseite. 1,5% Fehler machen nach einem komplett übertragenen Frame
immerhin schon 15% Zeitversatz aus. Beim Gesamtfehler müssen neben dem
Temperaturverhalten noch andere Sachen berücksichtigt werden, z.B
Baudraten-Einstellung (bei 9600 und 8Mhz 0,2% Error), über OSCCAL
einstellbare Frequenz ca. +/- 0,2% genau, ...

Wie gesagt, für manche Anwendungen wird man mit RC leben können. Mit
meinem ursprünglichen Posting wollte ich auch hauptsächlich anregen,
sich das Temperaturverhalten aus dem Datenblatt zu holen und nicht hier
zu erfragen. Wenn man sich bei der Interpretation dieser Werte dann
nicht sicher ist, kann man hier immer noch nachfragen. Nur so schafft
man sich doch eigenes Wissen, auf das man sich auch wirklich verlassen
kann.

Stefan

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.