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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren