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?
Hängt vom Empfänger ab, was er maximal als LOW sehen will. Normales LVTTL (3.3V) definiert alles unter 0.8V (eingangsseitig) bzw. 0.4V (ausgangsseitig) als low. Deine 0.2V sind also vollkommen in Ordnung.
Das ist schon in Ordnung. Der Effekt könnte mit der begrenzten Slew-Rate* des Ausgangs zusammen hängen. *) Das ist etwas gutes.
Stefanus F. schrieb: > Der Effekt könnte mit der begrenzten > Slew-Rate* des Ausgangs zusammen hängen. Was soll eine Begrenzung der Flankensteigung mit dieser 25kHz Störung auf dem Gnd-Level zu tun haben?
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.
"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.
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.
... 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.
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.
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.
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
Stefanus F. schrieb: > Der wird es gewesen sein. Hi, ist das der? Und läuft ohne Eprom nicht. ciao gustav
Hi, da es um UART ging, hier ein Beispiel, wie das bei der Prozessorgeneration aussah. Das "Betriebssystem" ist also der UART auf dem EPROM. Kann dann nur die LEDs leuchten lassen. Sonst nichts. Seriell Parallelwandler. Mal gucken, wie das File in asm-Format aussieht. ciao gustav
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.