Forum: Mikrocontroller und Digitale Elektronik UART bei Stm32 mit internem RC


von L.Q.O. (Gast)


Lesenswert?

moin

wie stabil ist UART wenn ich nur den internen RC verwende? Controller 
ist auf kurzem Weg mit einem ESP8266 verbunden. Eine Baudrate von 38400 
scheint problemlos zu funktionieren. Aber wie könnten sich 
Temperaturschwankungen auswirken? Gibt es eine "sichere" Baudrate?

von vernunftprediger (Gast)


Lesenswert?

Wie geizig und/oder faul und/oder dumm muss man sein keine
Quarzreferenz zu verwenden? Früher oder später bereut man
die Verwendung eines "freilaufenden" Oszillators. Überall
bekommt man Quarze für kleines Geld nachgeschmissen oder
sie sind in einer bestehenden Schaltung schon drin. Sparen
koste es was es wolle, man zahlt irgendwann Lehrgeld.

L.Q.O. schrieb:
> Gibt es eine "sichere" Baudrate?

Ja, die Rauchzeichen-Baudrate.

L.Q.O. schrieb:
> Controller ist auf kurzem Weg mit einem ESP8266 verbunden.

Der Controller muss natürlich geheim bleiben sonst könnte
versehentlich hier jemand eine genauere Aussage machen.

von Stefan F. (Gast)


Lesenswert?

L.Q.O. schrieb:
> wie stabil ist (der) interne RC,
> wie könnten sich Temperaturschwankungen auswirken?

Gut dass es nur einen Mikrocontroller mit R/C Oszillator gibt. Stelle 
die Frage vernünftig, wenn du vernünftige Antworten haben willst.

von Johnny B. (johnnyb)


Lesenswert?

L.Q.O. schrieb:
> wie stabil ist UART wenn ich nur den internen RC verwende?

Kommt auf das konkrete STM32-Derivat an. Bei manchen ist er genauer, bei 
manchen ungenauer, also am besten einfach ins Datenblatt schauen, ob der 
RC-Oszillator genau genug ist für Deine Anwendung.
Es gibt sogar STM32-Derivate, bei denen man die USB-Schnittstelle mit 
einem internen Oszillator betreiben kann; da findet irgendwie noch 
automatisch ein Abgleich mit den Daten von der Gegenstelle statt.

von Uwe Bonnes (Gast)


Lesenswert?

HSI  hat bei Raumtemperatur max 1% Abweichung. Das langt fuer USART.

von Treuer Grüner (Gast)


Lesenswert?

Diese Frsge wird hier glaube ich wöchentlich seit dem Jahr 2001 
gestellt.

von Datenblattleser (Gast)


Angehängte Dateien:

Lesenswert?

So oft kommt die Frage nun auch wieder nicht vor. Da ich gerade vor 
demselben Problem stand (ich verwende einen STM32 ohne OSC_OUT!) hier 
eine Stelle aus dem STM32G0x0-Datenblatt.

von Datenblattleser (Gast)


Lesenswert?

Dies bezieht sich natürlich auf den STM32 als Empfänger.

von Datenblattleser (Gast)


Angehängte Dateien:

Lesenswert?

Und hier die zweite Tabelle. Für den konkreten Chip möge man im 
zugehörigen Datenblatt nachlesen. Es kommt also nicht nur auf die 
Stabilität des RC-Oszillators sondern auch auf die Implementierung und 
Konfiguration des Empfängers an.

von Bierbaron (Gast)


Lesenswert?

Datenblattleser schrieb:
> Und hier die zweite Tabelle. Für den konkreten Chip möge man im
> zugehörigen Datenblatt nachlesen. Es kommt also nicht nur auf die
> Stabilität des RC-Oszillators sondern auch auf die Implementierung und
> Konfiguration des Empfängers an.

ziemlich kompliziert! Da nimmt man doch einfach nen Quarz und hat seine 
Ruhe! So muss man sich durch die Innerein von UART wühlen. Das lohnt 
sich nie und nimmer

von vernunftprediger (Gast)


Lesenswert?

Bierbaron schrieb:
> So muss man sich durch die Innerein von UART wühlen. Das lohnt
> sich nie und nimmer

Oder auch: von hinten durch die Brust ins Auge. Nur wegen des
blöden einzusparenden Quarzes.

vernunftprediger schrieb:
> Früher oder später bereut man
> die Verwendung eines "freilaufenden" Oszillators.

von Quarzfrei (Gast)


Lesenswert?

Nicht jeder STM32-Chip hat einen Quarzoszillator.

von Datenblattleser (Gast)


Lesenswert?

Nicht nur das. Ich hatte es mit einem STM32-Chip zu tun, bei dem intern 
der OSC_IN-Pin mit dem RX-Pin des USART verbunden ist, d.h. ich hatte 
die Wahl zwischen USART oder externem Takt, beides gleichzeitig ging 
nicht. Der HSI hat sich als ausreichend genau erwiesen (auf der 
Gegenseite ist ein größerer STM32-Chip mit Quarzoszillator).

von vernunftprediger (Gast)


Lesenswert?

Quarzfrei schrieb:
> Nicht jeder STM32-Chip hat einen Quarzoszillator.

Der Controller des TO offensichtlich schon, sonst würde er
nicht seine Frage hier stellen.

Aber ich seh' schon, auch dieser Thread geht wieder nach
einiger Zeit in allgemeines Gelabere über welches nicht
mehr zum Thema gehört.

von Wolfgang (Gast)


Lesenswert?

Datenblattleser schrieb:
> Es kommt also nicht nur auf die
> Stabilität des RC-Oszillators sondern auch auf die Implementierung und
> Konfiguration des Empfängers an.

Das sind verschiedene Baustellen. Das eine ist der systematische Fehler 
auf Grund der diskreten Teiler im Baudratengenerator bei idealen 
µC-Takt, das andere sind die Fehler durch die Variabilität des 
RC-Oszillators in Abhängigkeit von Temperatur, Versorgungsspannung und 
sonstigen Einflussfaktoren.

von Q.E.D. (Gast)


Lesenswert?

Der TO erwähnte nichts von einem Quarzoszilator im/am STM32. Es kann 
sehr wohl sein, daß er wie Datenbattleser gar keinen Quarz anschließen 
kann. Und die maximale Bitrate mit RC-Oszillator, nach der er fragte, 
hängt, wie ich den Tabellen entnehme, sehr wohl von der Konfiguration 
des Empfängers ab, je nach Bitrate kann man 16-fach Oversampling 
verwenden oder muß 8-fach Oversamping verwenden und kann (im Falle eines 
STM32 und auch in Abhängigkeit der Leitungsqualität) 1-Bit-Samping oder 
muß 3-Bit-Sampling verwenden. Die Bitrate und die Taktfrequenz haben 
Auswirkungen auf den Wert in BRR[3:0] und damit auf die Toleranz. Das 
hängt alles zusammen. Da wir nicht wissen, welchen STM32 mit welcher 
Taktfrequenz der TO benutzt, können wir ihm nur raten, mit Kältespray 
und Heißlluft selbst auszuprobieren, ob der RC-Oszilator für seine 
Situation ausreicht.

von Q.E.D. (Gast)


Lesenswert?

...oder es anhand der Tabelen und Formeln im Datenbatt für seinen STM32 
und für den ESP8266 selbst auszurechnen.

von Wolfgang (Gast)


Lesenswert?

L.Q.O. schrieb:
> wie stabil ist UART wenn ich nur den internen RC verwende? Controller
> ist auf kurzem Weg mit einem ESP8266 verbunden. Eine Baudrate von 38400
> scheint problemlos zu funktionieren. Aber wie könnten sich
> Temperaturschwankungen auswirken? Gibt es eine "sichere" Baudrate?

Warum versorgst du nicht einfach beide µC aus derselben Taktquelle. Dann 
kann dir irgendeine Taktdrift durch Temperatur oder sonstwas egal sein.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.