Forum: Mikrocontroller und Digitale Elektronik RS485, Max3483, Glitch beim Umschalten Tx-Rx


von Wolfgang (Gast)


Lesenswert?

Hallo,

ich habe folgende Problemstellung: eine RS485-Verbindung, 500kBaud, mit 
120Ohm abgeschlossen, Halbduplex, die Leitung auch korrekt vorgespannt 
(Bias). Der Sender ist ein atxmega, der Treiber ein Max3483. (Und es 
läuft bereits in beide Richtungen).

Der Sender sendet ein Byte und schaltet dann sofort nach dem Byte das 
Richtungssignal des Max3483 auf low (also RX-Enable, TX-Disable). Das 
mache ich mit TX-Complete-Interrupt mit dem Xmega.

Das Umschalten erfolgt ca. 500ns nach dem Stopbit (das ist noch komplett 
auf der Leitung).

Jetzt beobachte ich leider auf RX-Leitung zum Prozessor nach dem 
Umschalten des Treibers einen kurzen Low-Puls von ca. 700ns Breite. Die 
Empfangsfilterung des atx bügelt das zwar weg, aber es gefällt mir 
nicht.

Ist das ein Problem des Max3483, tritt das bei anderen RS485 Bausteinen 
auch auf? Und wenn, wie breit kann das sein? Eventuell hat ja auch einer 
Spezialisten noch einen Tipp auf Lager, was man tun könnte.

(Ich würde ungern die ISR des TXC-Complete mit RX-Enable aufbohren, 
momentan ist das wirklich schnell, auch weil ich kaum was retten muß)

Danke Wolfgang

von ich (Gast)


Lesenswert?

Hast du ein Pull-UP am Rx des xmega?

von Falk B. (falk)


Lesenswert?

@  Wolfgang (Gast)

>Jetzt beobachte ich leider auf RX-Leitung zum Prozessor nach dem
>Umschalten des Treibers einen kurzen Low-Puls von ca. 700ns Breite.

ICh nehme an, dass RE_N und DE zusammen an einem AVR Pin hängen. Ro geht 
bei RE_N = High auf Tristate, man braucht dort also einen externen 
Pull-Up, 1-10k.

Ansonsten sollte es keinen Grund geben, warum dort so ein Glitch 
auftaucht. Es sein denn, du hast Probleme mit deiner Verdrahtung/Layout 
und koppelst dir eine Störung irgendwo ein.

MFG
Falk

von Wolfgang (Gast)


Lesenswert?

Hallo,

Pullup habe ich intern im atx konfiguriert. Und der Puls ist scharf, 
also nichts, was nach tri-state-Schalten so wegschleicht.

Servus Wolfgang

von Wolfgang (Gast)


Lesenswert?

Hallo,

> ICh nehme an, dass RE_N und DE zusammen an einem AVR Pin hängen.

Richtig, ich habe es zusammenhängen.

> Ro geht bei RE_N = High auf Tristate, man braucht dort also einen externen
> Pull-Up, 1-10k.

Der Glitch passiert nicht beim Beginn des Sendens (also wo RE_N auf high 
geht) sondern am Ende des Sendens, an der Stelle an der RE_N low wird.


Servus Wolfgang

von Falk B. (falk)


Lesenswert?

@  Wolfgang (Gast)

>Der Glitch passiert nicht beim Beginn des Sendens (also wo RE_N auf high
>geht) sondern am Ende des Sendens, an der Stelle an der RE_N low wird.

Schon klar. Hmm, wenn der Puls recht scharf aussieht, ist es wohl was 
anderes. Wie sieht deine Terminierung auf dem Bus aus?

MFG
Falk

von Wolfgang (Gast)


Lesenswert?

Hallo,

Momentan ist es 120Ohm auf einer Seite (in der Nähe dieses 
Transmitters), nur kurzes Netz angeschlossen; Am anderen Ende 
terminieren ändert die Pegel ein wenig, Spike bleibt.

Ich habe Linienförmige Struktur, saubere Signale auf der differentiellen 
Seite. Ich verwende ein 4-kanaliges Digitalscope zum Messen.

Servus Wolfgang

von Wolfgang (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

also es ist eine Mischung aus Biasing und Bausteineigenschaft.

Der Maxim hat in der Tat beim Übergang von Tx auf Rx sein 'failsafe' 
noch nicht aktiv. Und dann kommt nach abschalten des Tx da ein Spike auf 
Rx raus. Wirken tut hier auch die Leitungslänge und das Bias. 
Verkleinere ich die Biaswiderstände auf 2*1k5 (hatte vorher je 4k7 
drin), dann kommt der Spike nicht mehr.

Und weil es mich interessierte, habe ich noch ein bischen rumgelötet: 
Weder TI SN65HVC22 noch LT1785 zeigen den Effekt, auch wenn man Bias 
komplett wegläßt, kommt kein Spike.

Anbei ein Screenshot: Pink+Grün sind die RS485 Leitungen, Blau ist der 
Rx-Ausgang.

Servus Wolfgang

von Falk B. (falk)


Lesenswert?

@  Wolfgang (Gast)

>also es ist eine Mischung aus Biasing und Bausteineigenschaft.

Naja.

>Verkleinere ich die Biaswiderstände auf 2*1k5 (hatte vorher je 4k7
>drin), dann kommt der Spike nicht mehr.

Aua. Und dann 120 Ohm differntiell zwischen den Leitungen? Und da 
wunderst du dich, dass so ein komisches Zeug rauskommt? Schon mal 
nachgerechnet, was da im Ruhezustand für Pegel anliegen?

Und die Aussage,

"die Leitung auch korrekt vorgespannt (Bias)."

ist damit komplett FALSCH! Was uns mal wieder zum Thema Netiquette 
führt. Hättest du einen Schaltplan gepostet, hätte man dein Problem 
sofort erkannt.

>Und weil es mich interessierte, habe ich noch ein bischen rumgelötet:
>Weder TI SN65HVC22 noch LT1785 zeigen den Effekt, auch wenn man Bias
>komplett wegläßt, kommt kein Spike.

Glück.

Mach es einfach richtig. Entweder die Standardterminierung mit Standard 
Pull-ups/downs oder gar keine Terminierung mit hochohmigen 
Pull-Ups/sowns. Eine Mischung ist das Schlechteste.

http://www.mikrocontroller.net/articles/RS-485#Weitere_Hinweise

MFG
Falk

von Wolfgang (Gast)


Lesenswert?

Hallo Falk,

nun, es gibt Datenblätter, da wirbt der der Hersteller mit der 
failsafe-Eigenschaft seiner Transceiver - auch ohne Bias. Was er nicht 
dazu sagt, dass es ein paar Nanosekunden dauert, bis sich der Chip 
entschieden hat.

Und wenn man Bias einkoppelt, stellt sich die Frage, wie groß das sein 
muß:

Die zitierte Schaltung hat einen Summenwiderstand von 104 Ohm, und legt 
ein DC-Offset von 666mV drauf. Das an beiden Enden der Leitung verzieht 
dann schon ein bischen die Augenöffnung: die Pegel bei einer '0' werden 
dann deutlich geringer.

Und auch bei der Dimensionierung des Bias kann man wieder Datenblätter 
zu Rate ziehen: Selbst der gute alte 75176 braucht nur 200mV (bei typ. 
50mV), bei manchen Chips ist failsafe ab 50mV Offset garantiert. Somit 
halte ich ein Biasing mit 390 Ohm für fehldimensioniert. Wenn man 1k5 
verwendet, hat man etwa die 200mV, auch der Summenwiderstand ist dann 
mit 115 Ohm etwas freundlicher.

Servus Wolfgang

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.