Wir arbeiten mit einem modernen Mikrocontroller ATXMega32E5, aus der ATMEL XMega-Familie.
Unser Ziel ist es, den UART des Controllers für eine effektive Kommunikation mit einer Geschwindigkeit von etwa 9600 oder 4800 Baud zu verwenden. Wir haben den Controller mit der internen Default-Taktfrequenz von 2 MHz getestet. UART funktioniert sowohl mit 9600- als auch mit 4800-Baud-Raten gut.
Da der Controller einwandfrei funktioniert, ist es wirklich wichtig, einen externen Quarz für die Systemuhr zu verwenden?
Wir wollen nur wissen, ob wir den internen kalibrierten RC-Oszillator oder einen externen Quarz verwenden sollen. Bitte erläutern Sie die Erklärung
Der Hauptvorteil externer Quarze ist ihre Frequenzstabilität über einen weiten Temperaturbereich. RC-Oszillatoren hingegen neigen dazu, sich über die Temperatur beträchtlich zu ändern.
Ein Quarz kann beispielsweise mit einer Frequenzstabilität von 50 ppm werben. Das sind nur 0,005 % Drift über den gesamten angegebenen Temperaturbereich. Ein kurzer Blick auf das Datenblatt des ATXMega32E5 zeigt, dass der interne RC nur für 0,5 % gut ist, und das nur bei 25 ° C. Wenn Sie heißer oder kälter werden, driftet Ihre Oszillatorfrequenz noch mehr. Erschwerend kommt hinzu, dass die Hersteller kein Versprechen geben, in welche Richtung die Oszillatorfrequenz driften wird. Das kann von Chip zu Chip unterschiedlich sein. Im schlimmsten Fall driftet der Oszillator in einem Gerät schneller und im anderen langsamer, was möglicherweise sporadische und schwer nachzuvollziehende Kommunikationsfehler verursacht.
Unter "schönen" Bedingungen sollten Sie kein Problem haben, die UART-Kommunikation mit dem internen RC-Oszillator erfolgreich zu verwenden. Wenn die Geräte jedoch große Temperaturschwankungen erfahren, ist es am besten, auf etwas mit besserer Genauigkeit umzusteigen, z. B. einen Kristall.
KyranF