AT89S52: Baudrate und Quarzfrequenz

Gast #158460
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.
Gast #158461
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
Angehängte Dateien:

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.