Hallo zusammen, Ich habe hier folgendes Problem: Mehrere Komponenten sind mit einer Schnittstelle miteinander verbunden. Darin befinden sich vier Signale. Zweimal die Versorgungsspannung und zwei voneinander unabhängige Datenleitungen. Die Versorgungsspannung überträgt allerdings nicht nur die Leistung, sondern auch ein Datensignal. Dies wird durch eine Modulation der Versorgungsspannung (Spannung von etwa 7 bis etwa 25 Volt und Frequenz maximal 20 kHz) erreicht. Durch eine H-Brücke werden auf der Senderseite drei Zustände erzeugt: Positive Polarität, negative Polarität und Null. Ungefähr so wie hier beschrieben: https://de.wikipedia.org/wiki/AMI-Code Dieser Teil der Schaltung ist seit Jahr(zehnten) erprobt und verrichtet zuverlässig seinen Dienst. Jede Komponente besitzt eine Vollweggleichrichtung und einen Pufferkondensator um die Nulllage zu überbrücken. Die Datengewinnung erfolgt einfach durch zwei Spannungsteiler und Anschluss an den Digitalteil der Schaltung. Auf den beiden, bislang ungenutzten, Datenleitungen soll nun allerdings eine Art Rückkanal (einfaches Protokoll wie UART etwa 10 kBaud) realisiert werden. Der erste Versuch bestand darin eine Datenleitung als RX und eine als TX zu definieren und direkt Digitalsignale (0 bzw. 5 Volt) anzulegen. Dies funktionierte allerdings nur, wenn auch eine Masseverbindung zwischen den beiden beteiligten Komponenten besteht, was jedoch in der Realität nicht der Fall ist. Schließt man ein Oszilloskop an die Datenleitung an, sieht man, wie im Takt der Versorgungsspannung kurze Störungen (t < 2 µs) hervorgerufen werden. Diese Störungen führe ich auf die Bauteiltoleranzen der Dioden zur Gleichrichtung zurück. Im zweiten Versuch wurde eine differentielle Datenübertragung gewählt (mit RS485-Bustreibern), aber auch hier traten erneut die Gleichtaktstörungen auf, sofern keine Masseverbindung bestand. Ich gebe zu, dass ich mich mit Analogtechnik nicht wirklich auskenne. Daher meine Frage an euch: Wie kann ohne Masseverbindung hier eine Signalübertragung erreicht werden, die gegenüber Gleichtaktstörungen unempfindlicher ist? Die einfachste Lösung, nämlich eine zusätzliche Masseverbindung, ist aus verschiedenen Gründen (Kompatibilität, Steckersystem usw.) nicht realisierbar. Mir schwebt momentan eine Art Stromschnittstelle vor, da ich davon ausgehe, dass die Störimpulse nicht genügend Leistung aufbringen können, um hier eine Verfälschung der Daten hervor zu rufen. Aber wie kann dies, möglichst einfach, realisiert werden? Gibt es für so etwas fertige IC? Am liebsten wäre mir ein Bauteil, welches so einfach wie ein Bustreiber angewendet werden kann. Viele Grüße, Michael
@ Michael (Gast) >sondern auch ein Datensignal. Dies wird durch eine Modulation der >Versorgungsspannung (Spannung von etwa 7 bis etwa 25 Volt und Frequenz >maximal 20 kHz) erreicht. Ganz schön viel Spannungshub. Sowas hat man vor 30 Jahren mal gemacht, heute kommt man mit DEUTLICH weniger aus. >Auf den beiden, bislang ungenutzten, Datenleitungen soll nun allerdings >eine Art Rückkanal (einfaches Protokoll wie UART etwa 10 kBaud) >realisiert werden. >Der erste Versuch bestand darin eine Datenleitung als RX und eine als TX >zu definieren und direkt Digitalsignale (0 bzw. 5 Volt) anzulegen. Das wird schwierig ohne echte Masse. >den beiden beteiligten Komponenten besteht, was jedoch in der Realität >nicht der Fall ist. eben ;-) >Schließt man ein Oszilloskop an die Datenleitung an, sieht man, wie im >Takt der Versorgungsspannung kurze Störungen (t < 2 µs) hervorgerufen >werden. Diese Störungen führe ich auf die Bauteiltoleranzen der Dioden >zur Gleichrichtung zurück. Nö. >Im zweiten Versuch wurde eine differentielle Datenübertragung gewählt >(mit RS485-Bustreibern), aber auch hier traten erneut die >Gleichtaktstörungen auf, sofern keine Masseverbindung bestand. Klar. >Wie kann ohne Masseverbindung hier eine Signalübertragung erreicht >werden, die gegenüber Gleichtaktstörungen unempfindlicher ist? Mit AC-Kopplung über einen Trafo. Ethernet & Co machen es auch. Wobei ein normale, differentielle Übertragung ala RS485 auch gehen sollte, die Gleichtaktstörungen interessieren einen DIFFERENTIELLEN Empfänger kaum! Denn es gibt ein indirekte Masseverbindung, wenn gleich die durch die AMI-Modulation halt "versaut" ist mit Gleichtaktstörungen. >etwas fertige IC? Am liebsten wäre mir ein Bauteil, welches so einfach >wie ein Bustreiber angewendet werden kann. MAX485 & Co.
Falk Brunner schrieb: > Ganz schön viel Spannungshub. Sowas hat man vor 30 Jahren mal gemacht, > heute kommt man mit DEUTLICH weniger aus. Aus dieser Zeit stammt die Grundkonzeption ja auch (etwa 1982). >>Schließt man ein Oszilloskop an die Datenleitung an, sieht man, wie im >>Takt der Versorgungsspannung kurze Störungen (t < 2 µs) hervorgerufen >>werden. Diese Störungen führe ich auf die Bauteiltoleranzen der Dioden >>zur Gleichrichtung zurück. > > Nö. Da du dich auskennst, woher kommt die Störung? Also welches Bauteil ist die eigentliche Ursache? > Wobei ein normale, differentielle Übertragung ala RS485 auch gehen > sollte, die Gleichtaktstörungen interessieren einen DIFFERENTIELLEN > Empfänger kaum! > Denn es gibt ein indirekte Masseverbindung, wenn gleich die durch die > AMI-Modulation halt "versaut" ist mit Gleichtaktstörungen. Würde es auch mit einem CAN-Bustreiber funktionieren? Beispielsweise dem MCP2561 von Microchip? Das wäre nett, da man für die keine Enable-Leitung braucht. Anders als die RS485-Treiber sprechen die auch erst bei Differenzen von mehr als 400mV an (nicht 200mV wie bei RS485). So wie ich das Datenblatt verstehe wären die Eingänge dann auch Kurzschlussfest (bis zu +/-58 Volt Fremdspannung werden offenbar toleriert?)
Hi, >Im zweiten Versuch wurde eine differentielle Datenübertragung gewählt >(mit RS485-Bustreibern), aber auch hier traten erneut die >Gleichtaktstörungen auf, sofern keine Masseverbindung bestand. Das sollte eigentlich auch ohne GND gehen. Wie war denn der Bus abgeschlossen? So 120R ist schon fast Standard(hängt vom Kabel ab). Wie lang ist das Kabel überhaupt? Viel Erfolg, Uwe
@ Michael (Gast) >Da du dich auskennst, woher kommt die Störung? Also welches Bauteil ist >die eigentliche Ursache? Ohne Schaltplan und Screenshots ist das eher schwer zu diskutieren. >Würde es auch mit einem CAN-Bustreiber funktionieren? Könnte sein. >So wie ich das Datenblatt verstehe wären die Eingänge dann auch >Kurzschlussfest Eingänge sind immer kuzschlussfest. Du meist eher geschützt gegen Überspannung. > (bis zu +/-58 Volt Fremdspannung werden offenbar toleriert?) Ja, kann sein.
Erst einmal vielen Dank für die bisherigen Antworten! Uwe schrieb: > Das sollte eigentlich auch ohne GND gehen. Wie war denn der Bus > abgeschlossen? So 120R ist schon fast Standard(hängt vom Kabel ab). > Wie lang ist das Kabel überhaupt? Das Kabel ist zwischen 20cm und 50cm lang. Insgesamt sind höchstens zehn Komponenten auf diese Art und Weise miteinander verbunden. Das Kabel wäre demnach in Summe zwischen knapp unter 2m und knapp unter 5m lang. Vermutlich waren die Widerstände falsch dimensioniert. 120 Ohm waren es auf keinen Fall, viel hochohmiger, so, dass etwa 10mA Strom flossen. Falk Brunner schrieb: > Ohne Schaltplan und Screenshots ist das eher schwer zu diskutieren. Genaue Schaltpläne liegen mir für die Ursprungsschaltung nicht vor. Die H-Brücke auf der Senderseite verwendet je einen Si9948 und Si9945. Zur Gleichrichtung werden auf der Empfängerseite vier SS26 eingesetzt. Zusätzlich einmal 4,7µF keramisch und einmal 22µF keramisch zur Glättung der Nulllage. >>So wie ich das Datenblatt verstehe wären die Eingänge dann auch >>Kurzschlussfest > > Eingänge sind immer kuzschlussfest. Du meist eher geschützt gegen > Überspannung. Richtig. >> (bis zu +/-58 Volt Fremdspannung werden offenbar toleriert?) > > Ja, kann sein. Gilt das dann auch im Falle der Ausgabe? Also wenn beispielsweise CANH oder CANL gegen 24 Volt kurzgeschlossen werden, obwohl der Baustein treibt?
Optokoppler verwenden, dann gibt es keine Gleichtaktstörungen, und eine Masseverbindung ist auch nicht nötig.
Ich habe mir weitere Gedanken zu dem Thema gemacht und wurde von einem Kollegen darauf hingewiesen, dass es mit einem Stromspiegel funktionieren würde. Was meint ihr? Würde die angehängte Schaltung so umsetzbar sein? Aus meiner Sicht wäre es günstig, da hier die Datenleitungen nur relativ hochohmig miteinander verbunden wären und so Überspannung und Kurzschluss aus der Betrachtung herausfielen. Die Bustreiber hätten weiterhin den Nachteil, dass auch im Ruhezustand pro IC immer 10mA Strom verschwendet würden.
@ Michael (Gast) >Ich habe mir weitere Gedanken zu dem Thema gemacht und wurde von einem >Kollegen darauf hingewiesen, dass es mit einem Stromspiegel >funktionieren würde. Warum willst du einen differentiellen Empfänger schlecht nachbauen? >Die Bustreiber hätten weiterhin den Nachteil, dass auch im Ruhezustand >pro IC immer 10mA Strom verschwendet würden. Nö. Ein MAX485 zieht weniger als 1mA. Den Strom frisst nur die Terminierung. Die braucht man aber bei RS485 nicht zwingend, schon gar nicht bei niedrigen Baudraten. Ausserdem kann man den Sender abschalten (tristate).
Falk Brunner schrieb: > Warum willst du einen differentiellen Empfänger schlecht nachbauen? Ganz einfach: Ich habe festgestellt, dass die Empfänger in den CAN-Bus-Treibern nicht funktionieren, wenn CANH und CANL vertauscht sind. > Nö. Ein MAX485 zieht weniger als 1mA. Den Strom frisst nur die > Terminierung. Die braucht man aber bei RS485 nicht zwingend, schon gar > nicht bei niedrigen Baudraten. Ausserdem kann man den Sender abschalten > (tristate). Das mag sein, aber hier ist das Problem noch schlimmer: Bei RS485 wird die Polarität ausgewertet A>B bzw. A<B. Dann wären die Daten invertiert. Bei CAN-Bus ging ich davon aus, dass nur die Differenz ausgewertet wird. Das ist aber leider nicht der Fall, es ist nämlich nur positive Differenz erlaubt keine negative. Da die Komponenten einmal so herum und einmal so herum aneinander gesteckt werden können, gibt es keine Gewähr, dass die Leitungen immer gleichsinnig verbunden sind. Der Empfänger müsste daher auf die Differenz schauen (und zwar unabhängig vom Vorzeichen) und sobald diese größer als ein bestimmter Schwellenwert ist beispielsweise "0" ausgeben und andernfalls "1". Mit der Schaltungsidee aus dem vorangegangenen Beitrag wäre dies kein Problem. Hiermit könnte garantiert werden, dass immer RX mit TX und TX mit RX verbunden ist. Ich habe schon befürchtet, dass hierfür keine Standardbauteile gibt...
@ Michael (Gast) >Das mag sein, aber hier ist das Problem noch schlimmer: Bei RS485 wird >die Polarität ausgewertet A>B bzw. A<B. Dann wären die Daten invertiert. Sicher. >Da die Komponenten einmal so herum und einmal so herum aneinander >gesteckt werden können, gibt es keine Gewähr, dass die Leitungen immer >gleichsinnig verbunden sind. Dann musst du etwas tricksen oder anders kodieren. Man kann mittel XOR Gatter die Polarität des Empfängers drehen. Wenn man also kein sinnvolles Signal bekommt, weil es invertiert ist, invertiert man mittels XOR Gatter und hat dann ein richtig gepoltes Empfangssignal. Oder man verwendet eine passende Kodierung ala CMI, Manchester etc., die polaritätunabhängig ist. >Der Empfänger müsste daher auf die Differenz schauen (und zwar >unabhängig vom Vorzeichen) Das ist aber eine Frage der Logikauswertung und nicht des differentiellen Empfängers.
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.