Hallo zusammen, erst einmal herzlichen Dank an alle für dieses tolle Forum! Ich selbst bin zwar mit der Softwareentwicklung vertraut, doch bei elektronischen Schaltungen bin ich ein absoluter Anfänger. Seid mir daher nicht böse, wenn ich Fragen stelle, die euch nerven und gebt gerne entsprechend Quellen zum Lernen an :)\ Jetzt zu meinem Projekt: **Ziel**:\ Es soll eine differenzielle digitale Datenübertragung full-duplex über ein langes Kabel (100m bis 1km) stattfinden. Es werden dabei 4 Adernpaare (Data-In, Slope-In, Data-Out, Slope-Out) mit +/- 5V DC verwendet. **Proof-Of-Concept**:\ Um zu sehen, ob mein Ansatz überhaupt vom Prinzip funktioniert, habe ich zwei Arduinos (ATMega 328PU & ATMega 2560) über 8 TTL-RS485 Adapter miteinander verbunden (s. Foto). Beschränkt durch die Geschwindigkeit der µC (und ohne Übertragungsstrecke) bin auf ca. 50kBit/s gekommen. **Schaltung**:\ Ich möchte nun eine Lochplatine mit allen wesentlichen Bauteilen bestücken. Den Schaltplan dafür habe ich im Folgenden skizziert. Wie bereits erwähnt habe ich noch keine Erfahrung und bin daher über jegliche Anregungen, Feedback, Kritik dankbar :) **Fragen**: - Bauteile: - Habe ich überhaupt die passenden Bauteile gewählt? - Fehlt irgendetwas? - Kondensator(en) am DC-DC Wandler: - Sollte am Eingang auch ein Kondensator sein? - Wie kann ich jeweils die richtige Kapazität dimensionieren? - Widerstände an den Opto-Kopplern: - Wie werden diese dimensioniert (ich habe einfach das Beispiel aus dem Datenblatt kopiert, würde aber gerne wissen, wie man auf die Werte kommt)? - Abschluss-Widerstände: - Ich habe diese mal mit 100 Ohm angesetzt, um z.B. Ethernetkabel anzuschließen. Doch was mache ich, wenn ich ein Kabel mit anderer Impedanz nutze? Macht es überhaupt Sinn, die Abschlusswiderstände auf die Platine zu setzen? Oder würde unterschiedliche Widerstände verbauen und dann über einen Jumper konfigurieren? - Sonstiges - Was gilt es sonst noch zu beachten? - Was kann ich verbessern? Vielen Dank bereits im Voraus!
Beitrag #7821178 wurde vom Autor gelöscht.
Markus schrieb: > - Was gilt es sonst noch zu beachten? > - Was kann ich verbessern? Dich klar ausdrücken und spezifizieren. Was ist Slope-In, Slope-Out? Slope bedeuted Flanke, Steigung und vieles mehr: das ist in einem System wo Nullen und Einsen vorherrschen schwer zu verstehen. Entscheidend für dein Konzept ist die erwünschte bzw. geplante Datenrate auf den Leitungen. Davon habe ich nichts gelesen. Also vielleicht funktioiert's auch mit Rauchzeichen? Siehe "Habe ich überhaupt die passenden Bauteile gewählt?". Ja, wofür denn genau .... Markus schrieb: > **Ziel**:\ > Es soll eine differenzielle digitale Datenübertragung full-duplex über > ein langes Kabel (100m bis 1km) stattfinden. Bisschen dürr für die "Zielsetzung". Markus schrieb: > - Kondensator(en) am DC-DC Wandler: > - Sollte am Eingang auch ein Kondensator sein? Kommt auf den Wandler an den du verwendest. Davon sehen wir nichts.
> Was ist Slope-In, Slope-Out? Slope bedeuted Flanke, Steigung und > vieles mehr: das ist in einem System wo Nullen und Einsen > vorherrschen schwer zu verstehen. Das Slope Signal ist die XOR Verknüpfung vom Daten Signal und dem Clock Signal. Doch das dürfte an dieser Stelle eigentlich egal sein welche Logik auf den Bus gelegt wird. Wir haben also einfach 4 Signale, die differenziell übertragen werden sollen. > Entscheidend für dein Konzept ist die erwünschte bzw. geplante > Datenrate auf den Leitungen. Davon habe ich nichts gelesen. min: 10kBit/s ziel: 2MBit/s max: 20MBit/s >> Es soll eine differenzielle digitale Datenübertragung full-duplex über >> ein langes Kabel (100m bis 1km) stattfinden. > > Bisschen dürr für die "Zielsetzung". was fehlt dir? > Kommt auf den Wandler an den du verwendest. Davon sehen wir nichts. Im Schaltplan habe ich den Wandler TEA1-0505 vermerkt: https://www.tracopower.com/model/tea-1-0505
:
Bearbeitet durch User
Markus schrieb: >> Entscheidend für dein Konzept ist die erwünschte bzw. geplante >> Datenrate auf den Leitungen. Davon habe ich nichts gelesen. > > min: 10kBit/s > ziel: 2MBit/s > max: 20MBit/s > >>> Es soll eine differenzielle digitale Datenübertragung full-duplex über >>> ein langes Kabel (100m bis 1km) stattfinden. Du könntest bei den Längen noch Impulstransformatoren einbauen, für galvanische Trennung. Mit einem passenden PHY davor -> Ethernet
Markus schrieb: > max: 20MBit/s > bis 1km Das schafft kein Kabel. Und Fototransistor-Optokoppler schaffen auch nicht viel mehr als 10 kbit/s. Suche dir einen geeigneten Digital-Isolator heraus (z.B. ISO6742). Der SN75176 ist uralt. Robuster wäre z.B. THVD1520, oder alle Kanäle integriert im SN65C1167E. > was mache ich, wenn ich ein Kabel mit anderer Impedanz nutze? Die Terminierung sollte die selbe Impedanz wie das Kabel haben. Ein Transceiver will nicht weniger als 60 Ω sehen; 2× 100 Ω parallel = 50 Ω wäre eine zu große Last. Aber bei einer unidirektionalen Verbindung brauchst du keine Terminierung am Sender. > Macht es überhaupt Sinn, die Abschlusswiderstände auf die Platine zu > setzen? Wenn du weißt, was für Kabel du verwenden wirst. Mit der RJ45-Buchse hast du dich schon festgelegt. > Es werden dabei 4 Adernpaare (Data-In, Slope-In, Data-Out, Slope-Out) > mit +/- 5V DC verwendet. Die differenzielle Spannung ist bei RS-422/485 niedriger als ±5 V. Ein Treiber generiert mindestens ±2 V über die Terminierung; beim Empfänger müssen mindestens ±200 mV ankommen.
> Du könntest bei den Längen noch Impulstransformatoren einbauen, Du meinst als Alternative zu den Optokopplern? Kannst du mir irgend ein Modell empfehlen? > Mit einem passenden PHY davor -> Ethernet Du meinst ein Physical Layer Device? Ist das dann nicht ein kompletter Ethernet Treiber?
> Das schafft kein Kabel. ok, danke, das ist gut zu wissen :) > Und Fototransistor-Optokoppler schaffen auch nicht viel mehr als 10 > kbit/s. Suche dir einen geeigneten Digital-Isolator heraus (z.B. > ISO6742). Perfekt, danke für den Hinweis! > Der SN75176 ist uralt. Robuster wäre z.B. THVD1520, oder alle Kanäle > integriert im SN65C1167E. Der SN65C1167E sieht sehr interessant aus, danke! > Ein Transceiver will nicht weniger als 60 Ω sehen; 2× 100 Ω parallel = > 50 Ω wäre eine zu große Last. Aber bei einer unidirektionalen Verbindung > brauchst du keine Terminierung am Sender. ok, verstehe. >> Macht es überhaupt Sinn, die Abschlusswiderstände auf die Platine zu >> setzen? > > Wenn du weißt, was für Kabel du verwenden wirst. Mit der RJ45-Buchse > hast du dich schon festgelegt. ne, das mit der RJ45-Buchse war erst einmal nur so eine Idee, aber vielleicht überdenke ich das nochmal ;-) > Die differenzielle Spannung ist bei RS-422/485 niedriger als ±5 V. Ein > Treiber generiert mindestens ±2 V über die Terminierung; beim Empfänger > müssen mindestens ±200 mV ankommen. hmm... also für mich ist der RS-485 Standard gar nicht so wichtig, da ich ja mit keinem anderen Gerät kompatibel sein muss, ich dachte einfach, dass ich die Bauteile davon verwende. Aber verstehe ich dich richtig, dass auch ein anderer Spannungspegel als ±5 V Sinn machen könnte? Danke auf jeden Fall schon mal für's Feedback! :)
:
Bearbeitet durch User
Markus schrieb: > Aber verstehe ich dich richtig, dass auch ein anderer Spannungspegel als > ±5 V Sinn machen könnte? Jeder Standard hat seine eigenen Pegel. Bei differenzieller Übertragung (RS-4xx, LVDS, USB, PCIe, etc.) sind die Pegel meist kleiner.
Moin, Clemens L. schrieb: > Markus schrieb: >> max: 20MBit/s >> bis 1km > > Das schafft kein Kabel Naja, ob das die Herren Shannon und Hartley auch so sehen? Klar - mit "morsen" auch wenns differentiell ist, wirds wohl eher nix. Was mir bei dem PoC Bild im ersten Post aufgefallen ist: Das wichtigste fehlt - ich sehe keine Kabeltrommel. Ich sehe auch keine Signalformen, die so aussehen, als waeren sie 1km ueber ein Kabel gegangen... Ansonsten wuerde ich doch eher zuerst mal die exakten, wirklich geforderten Bedingungen festzurren und dann belastbare Infos ueber "das Kabel" beschaffen. (Daempfung ueber Frequenz, etc.) Dann nach irgendeinem fertigen, getesteten, nicht zu exotischen Standard suchen, der das kann. Fuer "ordinaeres Ethernet" wirds wohl etwas lang sein, aber vielleicht gibts da irgendeine Geschmacksrichtung fuer laengeres Kabel. Oder sonstwas, keine Ahnung, aber das Problem, Daten ueber eine lange Leitung zu schicken, ist auch wirklich nicht exotisch. Da haben schon viele Leute, die das besser konnten, als hier alle zusammen, lange drueber nachgedacht. Und auch wenn man das nur fuer sich und in Einzelstueckzahlen zusammenstuempern will: Auf Standards setzen. Bei so einem Standardproblem bloss nix eigenes entwickeln. Gruss WK
> Markus schrieb: >> max: 20MBit/s >> bis 1km > Naja, beides zusammen sicher nicht. Aber lies dich doch mal über den CAN-Bus ein. Das ist was robustes, das auch im KFZ verwendet wird. Aber bei einem Kilometer würde ich eher mit 100kbit rechnen. Und deine Arduinos werden ohne eigenen Buscontroller mit der Datenverarbeitung (und Fehlerkorrektur) auch ihre Probleme haben.
> Was mir bei dem PoC Bild im ersten Post aufgefallen ist: Das wichtigste > fehlt - ich sehe keine Kabeltrommel. Ich sehe auch keine Signalformen, > die so aussehen, als waeren sie 1km ueber ein Kabel gegangen... Das hast du richtig erkannt :) Die Kabelrolle liegt unterm Tisch und mein PoC war lediglich dazu da um mein Ansatz mit dem Data-Slope Encoding zu evaluieren, noch ganz ohne Übertragungsstrecke. > Ansonsten wuerde ich doch eher zuerst mal die exakten, wirklich > geforderten Bedingungen festzurren und dann belastbare Infos ueber "das > Kabel" beschaffen. > (Daempfung ueber Frequenz, etc.) Guter Punkt, das werde ich mir später mal anschauen. > Und auch wenn man das nur fuer sich und in Einzelstueckzahlen > zusammenstuempern will: Auf Standards setzen. Bei so einem > Standardproblem bloss nix eigenes entwickeln. Da stimme ich dir absolut zu, solange es einfach nur darum geht das Problem zu lösen. Ich hätte dafür vermutlich einfach zwei ordentliche industrielle RS-485 Adapter für die Hutschiene gekauft. Dabei hätte ich aber überhaupt nichts über Elektrotechnik, Schaltpläne, Physik, etc. gelernt. Ich hätte das vielleicht besser noch in meiner Einleitung erwähnen sollen, dass es hier um ein "Spaß"-Projekt mit Lerneffekt geht.
>>> max: 20MBit/s >>> bis 1km > > Naja, beides zusammen sicher nicht. Das stimmt, die 20MBit/s hätte ich auch eher bei so 10m erwartet. > Aber lies dich doch mal über den > CAN-Bus ein. Das ist was robustes, das auch im KFZ verwendet wird. Ja, das werde ich mir auch nochmal anschauen, vielleicht finde ich da noch Inspirationen :) > Und deine > Arduinos werden ohne eigenen Buscontroller mit der Datenverarbeitung > (und Fehlerkorrektur) auch ihre Probleme haben. Definitiv! Die werden wohl eher für Anwendungen mit 10kBit/s reichen. Für etwas schnelleres würde ich dann vielleicht mal mit einem ARM basierten Board arbeiten. Und für die ganz schnellen Dinge werde ich wohl dann auf FPGAs setzen müssen. Aber das erste Ziel wäre jetzt erst einmal eine funktionierende Schaltung, eine Leitung von z.B. 50m und den zwei Arduinos. Wenn das erst einmal alles läuft, geht es weiter. Meine Erfahrung aus der Software-Entwicklung ist zumindest, dass es sinnvoll ist, kleine aber vollständige Schritte zu gehen. Ob das auf Elektrotechnik übertragbar ist kann ich nicht beurteilen, das könnt ihr mir vielleicht sagen :)
> Der SN75176 ist uralt. Robuster wäre z.B. THVD1520, oder alle Kanäle > integriert im SN65C1167E. BTW: Kannst Du einen Händler/Online-Shop empfehlen?
Markus schrieb: > Kannst Du einen Händler/Online-Shop empfehlen? Bei großen Händlern wie DigiKey und Mouser gibt es fast alles, aber die Versandkosten für kleine Bestellungen sind happig. Versender wie Conrad oder Reichelt, die sich auch an Privatkunden richten, kannst du benutzen, wenn sie die gewünschten Produkte zufälligerweise gerade haben. Bei LCSC gibt es auch chinesische Hersteller.
Moin, Markus schrieb: > mein PoC war lediglich dazu da um > mein Ansatz mit dem Data-Slope Encoding zu evaluieren, OK, fuer den Bastelspass mag dieses Verfahren maximale Erfuellung bedeuten, ich kenne jetzt aber keine Uebertragungsart in der Praxis, die das so macht. Da ist eher sowas wie 8b10b (und Nachfolger), tm(ds), biphase, oder irgendwelches "scrambling" angesagt. > Meine Erfahrung aus der Software-Entwicklung ist zumindest, dass es > sinnvoll ist, kleine aber vollständige Schritte zu gehen. > Ob das auf Elektrotechnik übertragbar ist kann ich nicht beurteilen, das > könnt ihr mir vielleicht sagen :) Sicherlich kann man das uebertragen. Nur sollten die kleinen vollstaendigen Schritte zum Ziel fuehren und nicht zu einem vermeintlichen Ziel, obwohl das "End"Ziel dann doch woanders ist... Warum z.b. ich nach den Kabeleigenschaften frage, hat damit zu tun, dass man bei laengeren Leitungen und hoeheren Bitraten sich dann viel leichter tut, eine Chance auf Erfolg zu haben, wenn man einen (oder 2) Kabelequalizer verwendet. Das ist nicht so ganz trivial, wenn man's nicht fertig kaufen mag, daher sollte man ziemlich frueh schon wissen, ob man's ueberhaupt braucht. Und wenn man's braucht, ob das Kabel und dessen Laenge konstant sind, oder ob der Equalizer adaptiv oder zumindest einstellbar sein muss. Nur mal so zum Gruseln: https://en.wikipedia.org/wiki/Lattice_and_bridged-T_equalizers Dann kommen noch so Sachen dazu, dass man bei hoeheren Uebertragungsraten doch auch etwas HW-Unterstuetzung braucht, um die Daten mit moeglichst wenig CPU-Beteiligung in/aus den/m Speicher zu schaufeln... Also alles sowas, was man doch von Anfang an mal beruecksichtigen kann, um sich das Leben zu erleichtern. Gruss WK
>> mein PoC war lediglich dazu da um >> mein Ansatz mit dem Data-Slope Encoding zu evaluieren, > OK, fuer den Bastelspass mag dieses Verfahren maximale Erfuellung > bedeuten, ja, bisher bin ich sehr vergnügt :) > ich kenne jetzt aber keine Uebertragungsart in der Praxis, die > das so macht. Da ist eher sowas wie 8b10b (und Nachfolger), tm(ds), > biphase, oder irgendwelches "scrambling" angesagt. Ich habe mich da vom Space-Wire System inspirieren lassen. Allerdins ist das System auf kurze Strecken (max. 20m) und hoche Geschwindigkeit (bis 200Mbit/s) ausgelegt. > Warum z.b. ich nach den Kabeleigenschaften frage, hat damit zu tun, dass > man bei laengeren Leitungen und hoeheren Bitraten sich dann viel > leichter tut, eine Chance auf Erfolg zu haben, wenn man einen (oder 2) > Kabelequalizer verwendet. Das ist nicht so ganz trivial, wenn man's > nicht fertig kaufen mag, daher sollte man ziemlich frueh schon wissen, > ob man's ueberhaupt braucht. Und wenn man's braucht, ob das Kabel und > dessen Laenge konstant sind, oder ob der Equalizer adaptiv oder > zumindest einstellbar sein muss. verstehe. Ich habe mir jetzt mal das Kabel (was ich geschenkt bekommen habe) angeschaut. Ich schätze es sind ca. 80m, also natürlich nicht representativ, aber wie gesagt ein kleiner Schritt ;-) Mit dem Arduino habe ich mir ein Rechtecksignal erzeugt und am Ende des Kabels ein Poti angehängt und ihn so eingestellt, dass das Signal einigermaßen in Ordnug aussieht. Danach habe ich den Poti an ein Multimeter geklemmt und bin auf 81,3 Ohm gekommen. Vermutlich sind es in der Realität dann eher 75 Ohm, das würde zumindest dazu passen, dass im Netz bei diesen EIB-Kabeln eine "Schleifenimpedanz" von 75 Ohm angegeben wird. Ist das dann die Impedanz, die man für den Abschlusswiderstand wählt? Oder vermische ich da gerade was? Naja, ich werde wohl noch etwas warten bis ich noch mehr gelernt habe, bevor ich mir eine Kabeltrommel mit 1km für sehr viel Geld anschaffe. > Nur mal so zum Gruseln: > https://en.wikipedia.org/wiki/Lattice_and_bridged-T_equalizers Ok, der Grusel-Effekt funktioniert ;-)
:
Bearbeitet durch User
Mal ganz dumm gefragt: brauchst du das privat oder gewerblich?
> Mal ganz dumm gefragt: brauchst du das privat oder gewerblich?
Bisher einfach nur privat und Just for Fun. Aber wenn ich es irgendwann
einmal gewerblich benötigen würde, dann würde ich mir eine Person/Firma
suchen, die davon wirklich Ahnung hat, mit dem Vorteil, dass ich dann
ein kleines bisschen besser verstehen kann, was die Profis da dann
machen :)
Wieso die Frage?
Markus schrieb: > Das Slope Signal ist die XOR Verknüpfung vom Daten Signal und dem Clock > Signal. Damit wird das Datenleitungspaar hyperfluid. Das, was du da auf dem Slope-Signalpaar transferierst (und nur das!) ist tatsächlich für eine diffentielle Übertragung geeignet und es enthält Takt und Daten. Herzlichen Glückwunsch zur Neuentdeckung des Manchester-Codes...
> Bei großen Händlern wie DigiKey und Mouser gibt es fast alles, aber die > Versandkosten für kleine Bestellungen sind happig. Versender wie Conrad > oder Reichelt, die sich auch an Privatkunden richten, kannst du > benutzen, wenn sie die gewünschten Produkte zufälligerweise gerade > haben. Bei LCSC gibt es auch chinesische Hersteller. Danke dir! Ich hatte zuvor schon eine erste Bestellung bei Reichelt getätigt und jetzt zumindest mal die suboptimale Variante aufgebaut (s. Foto). Ohne weiteres intensiven Testen funktioniert das zum Glück schon mal :) Jetzt schau ich mir noch die anderen Bauteile genauer an.
Markus schrieb: erstens: Deine RJ45-Beschaltung ist falsch. Für differentielle Signale willst du die verdrillten Adernpaare benutzen. Die Paare sind auf Pin 1-2, 3-6, 4-5 und 7-8. Diese Belegung hat historische Gründe - das Paar 4-5 war das erste, dann brauchte man ein zweites Paar 3-6, und dann hat man den Stecker von 4 auf 8 Pole erweitert und die Paare 1-2 und 7-8 hinzugefügt. Was ist Dir wichtiger - Bitrate oder Länge? Eine Methode, die es schon sehr lange gibt, ist die 20mA Stromschleife. Da hast Du einen Stromkreis mit einer Stromquelle, einem Transistor und einer LED. Wenn der Transistor durchschaltet, leuchtet die LED. LED und Transistor können Teil von Optokopplern sein, und die Optokoppler können ziemlich weit voneinander entfernt sein. Die Leitungslänge ist nicht kritisch, weil die Stromquelle die Spannung soweit nachregelt, bis wieder die 20mA fließen. Damit konnte man Kilometer überbrücken. Früher hat man das fürs Fernschreiben genommen. Siehe https://de.wikipedia.org/wiki/TTY-Schnittstelle Wenn Du Deinen Ansatz verfolgen willst, sieh Dir RS422 an: https://de.wikipedia.org/wiki/EIA-422 Der Abschlusswiderstand kommt immer an die Empfängerseite, nicht an die Sendeseite. Transceiverbaustein: z.B. https://www.analog.com/en/products/max3081.html Davon bräuchtest Du zwei. Die Bausteine gibt es mit verschiedenen Geschwindigkeiten, von schnell und empfindlich bis langsam und unempfindlich. Du möchtest einen von der langsamen Sorte haben. Für die Isolierung gibts passende ICs. Z.B: https://www.analog.com/en/products/max14936.html Da sind 4 Kanäle drin, in jede Richtung 2. Klein, stromsparend und schneller, als Du es bräuchtest. Für eine reale Anwendung über viele km würde man aber eher was anderes nehmen, z.B. Glasfaser oder bei geringen Datenraten ein Modem. fchk
>> Das Slope Signal ist die XOR Verknüpfung vom Daten Signal und dem Clock >> Signal. > > Damit wird das Datenleitungspaar hyperfluid. Das, was du da auf dem > Slope-Signalpaar transferierst (und nur das!) ist tatsächlich für eine > diffentielle Übertragung geeignet und es enthält Takt und Daten. > Herzlichen Glückwunsch zur Neuentdeckung des Manchester-Codes... Wenn ich dich richtig verstehe, könnte ich mir das Daten-Signal (und damit 4 Adern) sparen, wenn ich eine Manchester-Codierung nutzen würde, oder? Ich hatte übrigens völligen Blödsinn geschrieben (sorry!), ich meinte **Data** und **Strobe**, nicht Slope (s. [1]). Ich vermute mal, dass sich die Köpfe hinter SpaceWire sicherlich etwas dabei gedacht haben, warum sie nicht nur eine Leitung mit dem Manchester Code definiert haben. In einem SpaceWire Guide (s. [2]) habe ich folgendes gefunden: > The reason for using DS encoding is to improve the skew tolerance to > almost 1-bit time, compared to 0.5 bit time for simple data and clock encoding. Das heißt doch, dass die Zuverlässigkeit die richtigen Daten zu dekodieren höher ist, oder? Aber die Idee die Manchester-Codierung für SpareWire zu nutzen scheint auch nicht neu zu sein (s. [3]). [1]: https://en.wikipedia.org/wiki/Data_strobe_encoding [2]: https://www.star-dundee.com/spacewire/spacewire-users-guide/spacewire-links/signal-level/data-encoding/ [3]: https://ntrs.nasa.gov/citations/20150000266
:
Bearbeitet durch User
> erstens: Deine RJ45-Beschaltung ist falsch. Sehr aufmerksam :) Ich denke, dass die Idee RJ45 doch nicht so gut ist. Zumal ich vielleicht doch auch durch die Anregungen von Ob S. und Dergute W. nur 2 Adernpaare benötige. > Was ist Dir wichtiger - Bitrate oder Länge? Ich würde sagen, dass mir Zuverlässigkeit wichtig ist. Für kurze Stecken wäre es natürlich schön, man könnte auch eine höhere Geschwindigkeit nutzen, aber um auf deine Frage zu Antworten, würde ich mich im Zweifel für die Länge entscheiden. > Eine Methode, die es schon sehr lange gibt, ist die 20mA Stromschleife. Das hört sich sehr spannend an. Vielleicht baue ich mir testweise auch mal so ein System auf :) > Wenn Du Deinen Ansatz verfolgen willst, sieh Dir RS422 an: > https://de.wikipedia.org/wiki/EIA-422 Danke, ich hatte oft RS-485 im Auge, aber EIA-422 passt hier besser :) > Der Abschlusswiderstand kommt immer an die Empfängerseite, nicht an die > Sendeseite. Ok, das macht jetzt Sinn, dass bei RS485 an beiden Seiten der Abschlusswiderstand ist, weil dort zwischen Sender und Empfänger gewechselt wird (also Halb-Duplex) und bei EIA-422 ich die Sender und Empfänger fest habe, richtig? > Die Bausteine gibt es mit verschiedenen Geschwindigkeiten, von schnell > und empfindlich bis langsam und unempfindlich. Was sind die Kriterien für "unempfindlich"? Ich habe gesehen, dass manche für Temperaturen unter 0°C nicht geeignet sind, aber was gibt es sonst noch für wesentlich Kennwerte, an denen ich erkennen kann, wie "robust" die ICs sind?
Markus schrieb: > Ich würde sagen, dass mir Zuverlässigkeit wichtig ist. Für kurze Stecken > wäre es natürlich schön, man könnte auch eine höhere Geschwindigkeit > nutzen, aber um auf deine Frage zu Antworten, würde ich mich im Zweifel > für die Länge entscheiden. Ich finde es gut,alles mit Schaltungen zu testen. M.E. hast Du 4 (für Dich neue) Bereiche für so hohe Datenraten und Kabellängen: 1) Ein Adernpaar pro Richtung oder Halb-/Voll-Duplex 2) Opto-Entkopplung bzw. Potentialfreiheit 3) Signalaufbereitung zur Symmetrie (high und low etwa gleich verteilt) 4) Leitungsimpedanz, ohmscher Widerstand und Kapazitäten Duplex (1) würde ich von vornherein ausschließen, da es die Probleme vervielfacht. Und Verfahren mit Dominant/Rezessiv (z.B. CAN) erst recht. Opto-Entkopplung (2) würde ich vorerst auslagern, da es evt. wegfällt und vermutlich auf eine Platine mit 2 galvanisch getrennten Spannungsversorgungen hinaus läuft, um das Signal nach der Trennung neu aufzubereiten. (3) ist sowas wie Manchester-Code, FSK, 5B5B oder 4B3T (https://de.wikipedia.org/wiki/MMS43-Code) (4) sind grundsätzliche Überlegungen wieviel Ohm ein 1km langes Kabel hat, was der Wellenwiderstand ist (also warum man ~100R am Ende haben sollte) und was das für das für den Spannungsteiler zwischen Sender und Empfänger bedeutet. Nach den Untersuchungen für einfache Verfahren würde ich überlegen, fertige Systeme zu verwenden, z.B. 10MBit Ethernet über 2 Adernpaare. Mit Verwendung von symmetrischen Signalen kannst Du dann auch einfache Übertrager statt optokoppler einsetzen.
:
Bearbeitet durch User
Markus schrieb: >> Der Abschlusswiderstand kommt immer an die Empfängerseite, nicht an die >> Sendeseite. > > Ok, das macht jetzt Sinn, dass bei RS485 an beiden Seiten der > Abschlusswiderstand ist, weil dort zwischen Sender und Empfänger > gewechselt wird (also Halb-Duplex) und bei EIA-422 ich die Sender und > Empfänger fest habe, richtig? genau. >> Die Bausteine gibt es mit verschiedenen Geschwindigkeiten, von schnell >> und empfindlich bis langsam und unempfindlich. > > Was sind die Kriterien für "unempfindlich"? Ich habe gesehen, dass > manche für Temperaturen unter 0°C nicht geeignet sind, aber was gibt es > sonst noch für wesentlich Kennwerte, an denen ich erkennen kann, wie > "robust" die ICs sind? Das Kriterium ist die Geschwindigkeit. Transceiver gibts von 115kBit/s bis 25MBit/s. Die langsamen haben Filter an den Ausgängen, damit die Flanken nicht so steil sind und weniger Störungen verursachen, und sie haben Filter an den Eingängen, um kurze Störimpulse auszufiltern. Die schnellen haben das nicht, weil das dann die mögliche Übertragungsgeschwindigkeit beeinträchtigen würde - hier muss dafür die Übertragungsstrecke selber besser sein. Daher nimmst Du nur die Geschwindigkeitsklasse, die für Dich ausreichend ist. fchk
> Eine Methode, die es schon sehr lange gibt, ist die 20mA Stromschleife. Ich frage mich, wie ich das genau Umsetzen könnte. Wenn ich im Netz danach suche, finde ich meistens die analoge 4-20mA Schnittstelle für Sensoren. Ansonsten bin ich über "Current Mode Logic" (CML, [1]) gestoßen, scheint aber eher für High-Speed Anwendungen interessant zu sein. Ich habe mal versucht selbst eine Schaltung zu skizzieren (s. Foto): Ich konfiguriere zwei Spannungsregler (LM317) so, dass ich einmal eine 4mA und einmal 20mA Stromquelle habe. Damit ich zwischen den beiden hin- und herschalten kann, nutze ich eine Transistor Wechselschaltung, so dass ich über HIGH, LOW an einem Pin eines µC entsprechend die 4mA oder 20mA schalten kann. Kann das funktionieren? Wird das gerade zu exotisch? Oder warum finde ich wenig über digitale Übertragung mittels Stromschleifen nichts im Netz? [1]: https://de.wikipedia.org/wiki/Current_Mode_Logic
Markus schrieb: > Oder warum finde ich wenig über digitale > Übertragung mittels Stromschleifen nichts im Netz? Das war mal gut und simpel (direkte Ansteuerung von Optokopplern) und für >1k Kabel @9.6 oder so, aber schwierig bei hohen Datenraten*Längen. Auch fehlt die Symmetrie der Leitung (das mittlere Potential ändert sich bei high und low). Differenzielle Treiber mit verdrillten Leitungen sind da einfacher.
> Das war mal gut und simpel (direkte Ansteuerung von Optokopplern) und > für >1k Kabel @9.6 oder so, aber schwierig bei hohen Datenraten*Längen. > Auch fehlt die Symmetrie der Leitung (das mittlere Potential ändert sich > bei high und low). Differenzielle Treiber mit verdrillten Leitungen sind > da einfacher. Danke für die rasche Antwort. Dann werde ich wohl doch mal lieber den Ansatz über EIA-422 weiter verfolgen ;-)
Markus schrieb: > EIA-422 Ist doch fast das gleiche. Diese schnarchlangsamen Optokoppler werden in jedem Fall high speed übertragung wirkungsvoll verhindert. Belegung des Steckers ist quatsch wenn du standard Ethernetkabel verwenden willst. Achte auf die verdrillten Paare.
> Diese schnarchlangsamen Optokoppler werden in jedem Fall high speed > übertragung wirkungsvoll verhindert. Was wäre denn eine Alternative um eine galvanische Trennung zu erreichen? Einen MAX14936 wie von Frank K. vorgeschlagen? > Belegung des Steckers ist quatsch wenn du standard Ethernetkabel > verwenden willst. stimmt. Den Ansatz habe ich jetzt bereits losgelassen ;-)
:
Bearbeitet durch User
Markus schrieb: > Was wäre denn eine Alternative um eine galvanische Trennung zu > erreichen? > Einen MAX14936 wie von Frank K. vorgeschlagen? Ja. Oder Übertrager. Bei dem Max oder einem digitalen schnellen Optokoppler brauchst Du halt am Ende Bruno V. schrieb: > eine Platine mit 2 galvanisch getrennten Spannungsversorgungen [...] > um das Signal nach der Trennung neu aufzubereiten. (bzw. zu verwenden, also vor und nach dem Optokoppler bzw. Max)
:
Bearbeitet durch User
Markus schrieb: >> Eine Methode, die es schon sehr lange gibt, ist die 20mA Stromschleife. > > Ich frage mich, wie ich das genau Umsetzen könnte. Wenn ich im Netz > danach suche, finde ich meistens die analoge 4-20mA Schnittstelle für > Sensoren. Das ist ausgestorben wegen geringen Bitraten und der Statsache, dass dieses Verfahren in Kabelbündeln mit Telefonleitungen Störungen auf benachbarten Aderpaaren erzeugt hat. Das ist aber für Dich uninteressant. 4-20mA ist analog. Das ist was anderes. TTY/20mA Stromschleife ist einfach nur an/aus. Transistor auf der einen Seite schaltet LED auf der anderen Seite. Die fehlende Symmetrie wie von Bruno_v bemängelt war damals egal. Der Vorteil war, dass ein Strom fließen musste, um eine 1 zu erzeugen, und 20mA sind mit Störimpulsen nicht so einfach zu erreichen. Und solange da nichts angezapft wird, müssen die 20mA auch wieder zurück, denen bleibt gar nichts anderes übrig. In der Zeit davor hat man statt 20mA eher 50mA genommen und damit direkt den Magneten des Fernschreibers angesteuert. Und so ein Fernschreiber war damals mit 110 bps schon schnell. Das "damals" ist übrigens etwa 60-70 Jahre her. fchk
Markus schrieb: >> Diese schnarchlangsamen Optokoppler werden in jedem Fall high speed >> übertragung wirkungsvoll verhindert. > > Was wäre denn eine Alternative um eine galvanische Trennung zu > erreichen? > Einen MAX14936 wie von Frank K. vorgeschlagen? Ja. Von dieser Sorte haben die üblichen Verdächtigen wie Analog, TI, Skyworks,... etliche Varianten. Wenn Du eine All-In-One Lösungen haben willst - die gibts natürlich auch. https://www.ti.com/product/ISOW1412 https://www.analog.com/en/products/adm2687e.html Da ist ALLES drin: RS422-Transceiver, Galvanische Trennung der Daten, galvanische Trennung und Übertragung der Versorgungsspannung. Den DC-DC-Wandler kannst Du Dir dabei auch sparen, Optokoppler etc auch. Gut, diese Teile sind nicht unbedingt billig, sparen Dir aber eine Menge externer Beschaltung. fchk
Markus schrieb: > Was wäre denn eine Alternative um eine galvanische Trennung zu > erreichen? Schnelle Koppler oder gleich Ethernet verwenden.
> Wenn Du eine All-In-One Lösungen haben willst - die gibts natürlich > auch. > https://www.ti.com/product/ISOW1412 > https://www.analog.com/en/products/adm2687e.html Das ist ja phantastisch! Der Spaß am Löten ist ist natürlich etwas geringer, aber die Freude an der Funktion dafür bestimmt größer ;-) Danke!
Hallo zusammen, nachdem ich jetzt jede Menge Freude am Tüfteln, Denken und Lernen hatte, kommt mir jetzt noch eine weitere Frage in den Sinn (oder solle ich das in einem separaten Thread fragen?): Gibt es überhaupt irgendwelche Vorteile von EIA-422 gegenüber Ethernet bei einer Kabellänge von 100m? Ethernet scheint ja auch differenzielle Signale über 2 Adernpaare (bis 1Gbit/s) zu nutzen.
:
Bearbeitet durch User
Moin, Ethernet ist nicht so "rustikal" - da kommen ueblicherweise ja noch 1..x SW-Layer drueber, da gibt's weniger handgestricktes und mehr standardisiertes, mit'm scope guckt man sich da auch seltener mal die Signale auf der Leitung an... Ob das jetzt Vor- oder Nachteile sind, liegt im Auge des Betrachters... Gruss WK
Ohne jetzt alles gelesen zu haben... Full duplex bedeutet RS422. Bedeutet ein Aderpaar pro Richtung mit RS485 Treibern. Da gibt es schon gute. SN65HVD23D fuer 25Mbit auf 160m SN65HVD24D fuer 3MBit auf 500m Allenfalls laesst sich auch etwas machen mit LT1794, einem DSL Amplifier mit 200MHz und 500mA. Siehe Datenblatt Der GND muss auf dem Kabel mitgefuehrt werden !!!! Als Isolator empfehle ich die Magnetoisolatoren ADuM1301 oder aehnlich. Die koennen je nach typ bit 100MBit und sind problemlos. Im Gegensatz zu den Optoteilen. Wenn man sich Protokoll Geschichten sparen will, allenfalls CAN bei kurzen Blocklaengen von 8 byte oder so, oder Arcnet fuer laengere Bloecke, zB COM20019, CM20020, COM20022, die steuern alle auch RS485 Treiber an. Letzterer bis 10MBit. Der Vorteil von RS422 gegenueber Ethernet ... Ethernet schreibt man nicht mehr wirklich selbst auf einem controller. Oft kommt dann auch noch Verschluesselung hinzu, zB SSL, HTTPS, und dergleichen. Bedeutet eigentlich einen 32Bit controller. Waehrend RS422 gut mit kleineren controllern machbar ist. Daher .. was soll womit verbunden werden.
:
Bearbeitet durch User
Markus schrieb: > Aber wenn ich es irgendwann > einmal gewerblich benötigen würde, dann würde ich mir eine Person/Firma > suchen, die davon wirklich Ahnung hat, mit dem Vorteil, dass ich dann > ein kleines bisschen besser verstehen kann, was die Profis da dann > machen :) Die machen es mit Glasfaser. Angenommen das Kabel wäre schon vorhanden und auf 1km Länge eingegraben, dann kann man sich Gedanken machen, z.B. mit DSL-Technik. Wenn das Kabel aber noch gekauft und verlegt werden muß dann geht man besser direkt auf Glasfaser, das ist um Längen einfacher, sicherer und zukunftsfähiger. Und bei 1km nicht wirklich teurer. Grüße, Brt
Das Problem mit dem Kabel sind die Umwelteinfluesse. Fuer schnelle temporaere Installationen wuerde man einen Magnettrenner allenfalls auf jeder Seite des Kabels verwenden. Auf laengere Zeitraeume sollte man mit einem Blitzeinschlag in der Naehe rechnen. Dann ist eine Isolation von diesen 2kV allenfalls etwas mager. Ja, man kann dann auf beiden Seiten des Kabels Erden, mit Ueberspannungsableitern usw. Das Risiko bleibt.. zerschiesse ich mir bei einem Blitzeinschlag den PC .. Dann in der Tat besser auf Glasfaser, oder zumindest ein paar Meter. Dann kommt das Kabel, oder die Glasfaser an die Umwelt... Beide mit Plastik aussen drum. Wie lange sind die Kabel und Faser UV bestaendig ?
Markus schrieb: > Hallo zusammen, > > nachdem ich jetzt jede Menge Freude am Tüfteln, Denken und Lernen hatte, > kommt mir jetzt noch eine weitere Frage in den Sinn (oder solle ich das > in einem separaten Thread fragen?): > > Gibt es überhaupt irgendwelche Vorteile von EIA-422 gegenüber Ethernet > bei einer Kabellänge von 100m? Ethernet scheint ja auch differenzielle > Signale über 2 Adernpaare (bis 1Gbit/s) zu nutzen. Die geringere Komplexität wäre das einzige, was mir jetzt einfallen würde. Wobei dieses Argument eher vor 40 Jahren gezogen hat. Inzwischen ist die ganze Komplexität auf Chip-Ebene geschrupft. In den 70'ern waren das noch große Leiterplatten. Google mal nach "DEC LAN Bridge 100", wenn Du wissen willst, was ich meine. Ethernet hat den großen Vorteil, dass es gleichspannungsfrei ist. Das gilt auch für Single Pair Ethernet. Dadurch bekommst Du eine galvanische Isolation praktisch geschenkt. Das vereinfacht vieles. fchk
Markus schrieb: > Ethernet scheint ja auch differenzielle > Signale über 2 Adernpaare (bis 1Gbit/s) zu nutzen. Nein. Bei zwei Adernpaaren endest Du bei 100 MBit. GBit-Ethernet braucht alle 4 Adernpaare. 10Base-T1L ist 10MBit Single Pair Ethernet und geht bis 1000m über eine verdrillte Doppelader. fchk
> Allenfalls laesst sich auch etwas machen mit LT1794, einem DSL Amplifier > mit 200MHz und 500mA. Siehe Datenblatt Interessante Idee. > Der GND muss auf dem Kabel mitgefuehrt werden !!!! Bei RS422? Wenn ich die Leitung galvanisch entkoppelt habe, dürfte es doch keine Probleme geben, oder? Oder meintest Du für den DSL-Ansatz? > Der Vorteil von RS422 gegenueber Ethernet ... Ethernet schreibt man > nicht mehr wirklich selbst auf einem controller. Oft kommt dann auch > noch Verschluesselung hinzu, zB SSL, HTTPS, und dergleichen. Bedeutet > eigentlich einen 32Bit controller. > Waehrend RS422 gut mit kleineren controllern machbar ist. Ja, guter Punkt. > Daher .. was soll womit verbunden werden. Das wird sich noch zeigen, aber vermutlich eine Kombi aus ein paar einfachen Sensoren und und Aktoren (evtl. über 8-Bit µCs angebunden), aber ich habe mich gefragt, ob man z.B. auch ein einfaches Audio-Signal für eine Gegensprechanlage übertragen könnte. Als konkretes Beispiel: Ein Gewächshaus welches mehr als 100m von einem Hof entfernt ist. Neben der Überwachung/Steuerung der Sensore/Aktoren, wäre es super, wenn man eine einfach gehaltene Gegensprechanlage zwischen Hof und Gewächshaus hätte.
> Wenn das Kabel > aber noch gekauft und verlegt werden muß dann geht man besser direkt auf > Glasfaser, das ist um Längen einfacher, sicherer und zukunftsfähiger. > Und bei 1km nicht wirklich teurer. Interessant, ich hätte jetzt gedacht, dass Glasfaser teurer wäre, aber überprüft hab ich das noch gar nicht. **update**: Ich sehe gerade, es gibt LWL Sende- und Empfangs Module für unter 10€, da könnte ich sogar mein kleines Arduino Beispiel statt mit RS422 auch mit LWL ausprobieren :) **update 2**: Hier hat bereits jemand ein passenden Blog-Beitrag dazu geschrieben: https://electronicstree.com/arduino-optical-fiber-data-transmission/
:
Bearbeitet durch User
Hallo Markus, es kann auch sinnvoll sein auf Ethernet + Glasfaser zurückzugreifen. Dann kann man die Verbinsung auch für andere Dinge zusätzlich nutzen. Ethernet-Switches mit SFP-Slot sind mittlerweile auc hrecht preiswert, die SFPs ebenfalls. Grüße, Brt
Markus schrieb: > Gibt es überhaupt irgendwelche Vorteile von EIA-422 gegenüber Ethernet > bei einer Kabellänge von 100m? Ethernet scheint ja auch differenzielle > Signale über 2 Adernpaare (bis 1Gbit/s) zu nutzen. Vermutlich ist Dein Problem nicht die Übertragung, sondern mir irgendwas anzufangen. Es gibt genügend Möglichkeiten, mit unterschiedlichster Komplexität und Kosten. Einen Uart kannst Du mit dem kleinsten Pic und Cents bedienen, mit Lüsterklemmen und Telefondraht. Ethernet oder DSL erfordern andere Erfahrung, und Glasfaser quer durch Gebäude zu ziehen ist eine Herausforderung für sich. Sieh zu, dass Dein Zeugs mit dem was Du kennst auf 10m funktioniert. Dabei wirst Du all die Erfahrung sammeln, die es braucht, einen konkreten Feldbus auszusuchen. Adressierung, Topologie, Durchsatz, Reichweiten, Verkabelungsaufwand, Power over, ... . Am Ende wirst Du ein System mit ausreichendem Datendurchsatz und Entfernung finden. Ganz sicher. Notfalls über Lorawan oder Starlink.
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.