mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AT89S52: Baudrate und Quarzfrequenz


Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

bis jetzt habe ich bei meinen Controller-Schaltungen immer Quarze mit
einer Frequenz von 11.0592 MHz oder 22.1184 MHz eingesetzt.

Mit diesen Frequenzen geht die Formel für die Berechnung des
Reloadwertes der Timer für die Baudrate ja immer genau auf. Es
entstehen also keine Komma-Werte für den Reload-Wert der Timer.

Im Datenblatt zum S52 steht, er kann bis 33MHz betrieben werden.

Was ich jetzt suche, ist die Quarzfrequenz, die knapp unterhalb der
33MHz liegt, aber mit der die Formel ebenfalls genau aufgeht.

Ich weiss aber nicht, wie ich das berechnen soll. Ich finde nirgendwo
Angaben über die üblichen Frequenzen bei Grundton-Quarzen.

Kann mir da einer helfen?

Gruß Ralf

PS: Ich weiss, dass RS232 eine 3%-Toleranz bei der Baudrate zulässt.

Autor: Burkart Lingner (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, Ralf!

Vor einiger Zeit habe ich mir ein Programm geschrieben, um die
UART-Parameter berechnen. Das funktioniert auch in die andere Richtung,
also um aus der gewünschten Baudrate die möglichen Quarzfrequenzen zu
errechnen. Das Programm enthält darüberhinaus eine Liste der damals bei
Reichelt verfügbaren Quarze. Jedoch sind dort meines Wissens alle Quarze
ab 24 MHz solche mit Oberton. Es gab diesbezüglich eine Application Note
von Temic (jetzt Atmel), How to use overtone quartz crystals with the
T89C51 o.ä.

Du hast nicht geschrieben, um welche Baudrate es Dir geht. Mit einem
32-MHz-Quarz gibt es folgende exemplarischen Abweichungen:

9600: +2,1%
14400: -3,6%
19200: -3,6%
57600: -3,6%

Die maximal zulässige Abweichung von 3% könnte hinkommen. Denn die
Abweichungen addieren sich ja im schlimmsten Fall (+3% und -3%) auf,
und spätestens ab 10% gibt es Probleme. Sofern jedoch beide
Kommunikationspartner gleichmäßig danebenliegen, spielt die Abweichung
keine Rolle mehr. Kommt dann halt drauf an, was Du machen willst.
Vielleicht bietet sich ja auch ein Software-UART an oder die
Auslagerung in einen Kommunikationscontroller bzw. RS232-IC.

Bye, Burkart

Autor: peter dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit 32MHz kommst Du bis 38400 Baud (0,16% Abweichung).

Über 24MHz nehme ich fertige Oszillatoren, da man Obertonquarze nicht
anschließen kann.


Peter

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Peter,

Oberton geht schon, ich glaub auf Maxim-ic.com hab ich da mal ne
App-Note gesehen.

Sind fertige Oszillatoren nicht sündhaft teuer?

Gruß Ralf

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.