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
@ 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
Hallo, Pullup habe ich intern im atx konfiguriert. Und der Puls ist scharf, also nichts, was nach tri-state-Schalten so wegschleicht. Servus Wolfgang
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
@ 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
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
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
@ 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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.