Unsauberes UART Signal

OP #5993247
Hallo,

ich verwende einen STM32L010 Controller und wenn ich über die Tx-Leitung 
Daten an den Teilnehmer sende, (@ 57600 b/s) erhalte ich ein etwas 
unsauberes low-Signal (siehe Bild). Das low-Signal wird hier wie es 
aussieht beim Sampling um ca. 0.2V hoch gezogen.

Kann ich das ohne Kopfweh so belassen oder muss ich hier in weiterer 
Folge mit Problemen rechnen?
Angehängte Dateien:
Gast
Wolfgang schrieb:
> Was soll eine Begrenzung der Flankensteigung mit dieser 25kHz Störung
> auf dem Gnd-Level zu tun haben?

Beim Wechsel von High nach Low erhöht der Chip vermutlich die Stärke 
seines Ausgangstreibers. Danach (in der Mitte des Bits) fährt er die 
Leistung wieder zurück auf den minimalen Wert.

Ist nur so eine Idee. Ich kenne ähnliche Bilder von irgendeinem anderen 
Mikrocontroller (welchen habe ich vergessen) der sich so bei High Pegeln 
verhält.
Gast
"Daten an den Teilnehmer" hat den Info-Gehalt NULL:

Schau doch lieber nach den maximalen Low-Pegeln und
minimalen High-Pegeln jeweils für Ein- und Ausgang der
beteiligten Logik-Familien im erlaubten Betriebsspannungs-
bereich.

Wird noch ein MAX232 o.ä. dazwischengeschaltet, sind dessen
Ein- und Ausgänge entsprechend zu bewerten.

So lange max-Low-Out < max-Low-In und min-High-Out > min-High-In
ist, ist alles im grünen Bereich.

Auch für deinen STM32L010 solltest du Angaben im Datenblatt
finden, ob deine gemessene Low-Out-Spannung im erlaubten
Bereich liegt.
Gast
Stefanus F. schrieb:
> Beim Wechsel von High nach Low erhöht der Chip vermutlich die Stärke
> seines Ausgangstreibers. ...

Diese Erklärung würde zum Signalverlauf passen.

Prüfen könnte man diese Hypothese, indem man die Last während des 
Low-Pegels erhöht. Ein an den TX Ausgang gehängter zusätzlicher Pull-Up 
Widerstand würde den Treiber etwas fordern und man könnte die 
Pegelverschiebung mit/ohne Pull-Up vergleicht.
8mA soll der Treiber vertragen, d.h. bis runter auf 470Ω kann man gut 
gehen.

Im Datenblatt sollte auch etwas zum Treiberverhalten bei den 
verschiedenen Stromsparmodi stehen.
Stefanus F. schrieb:
> Der Effekt könnte mit der begrenzten
> Slew-Rate* des Ausgangs zusammen hängen.

Dann wäre der Effekt genau umgekehrt, d.h. eine langsame Flanke.
Der Anstieg um 0,2V ~10µs nach der Flanke sieht eher nach 2 Ausgängen 
aus, die gegeneinander kämpfen.
Könnte aber auch ein spezieller 1-Draht Mode sein, z.B. LIN-Bus.
Gast
... mal ganz davon abgesehen, dass eine Slew-Rate Begrenzung die Aufgabe 
eines Bustreibers wäre. Der TX-Ausgang des µC ist ein digitaler Ausgang, 
der direkt mit dem physischen Bussignal gar nichts zu tun hat.
Gast
Wolfgang schrieb:
> al ganz davon abgesehen, dass eine Slew-Rate Begrenzung die Aufgabe
> eines Bustreibers wäre. Der TX-Ausgang des µC ist ein digitaler Ausgang,

Man kann das für alle I/O Pins einstellen, nicht nur für Bustreiber.
Gast
An den TO: das Signal ist okay, doch kannst Du bitte einen Schaltplan 
Posten, oder genauer den Aufbau beschreiben?

Das ist sicher keine Pegelbachführung, sondern irgendein R/C wo wir es 
Mangels Schaltplan nicht vermuten.
Moderator (Firma: Titel) Persönliche Seite
M. G. schrieb:
> ich verwende einen STM32L010 Controller und wenn ich über die Tx-Leitung
> Daten an den Teilnehmer sende, (@ 57600 b/s) erhalte ich ein etwas
> unsauberes low-Signal (siehe Bild).
Wie lang ist die Leitung und wie ist sie ausgeführt? Passende 
Masseleitung dabei? Irgendein Pullup auf der Leitung? Was ist "der 
Teilnehmer"?

Stefanus F. schrieb:
> Ich kenne ähnliche Bilder von irgendeinem anderen Mikrocontroller
> (welchen habe ich vergessen) der sich so bei High Pegeln verhält.
Der 8051 schaltet für 2 Oszillatorperioden einen niederohmigen 
Pullup-Transistor parallel zum "Standard-Pullup" des Ausgangstreibers, 
damit die low-high-Flanke wenigstens halbwegs nach Flanke aussieht:
https://www.ipd.kit.edu/mitarbeiter/buchmann/microcontroller/ansteuerung.htm
Gast
Es wuerde ja reichen, den Empfaenger abzuklemmen und
sich das TX-Signal dann noch einmal anzusehen.

Das ein L-Pegel so bescheiden aussieht, ist bei den
heutigen CMOS-Treibern eher ungewoehnlich.
Selbst wenn der Treiber auf "Very weak" steht.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 7 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.