RS-485 / CAN-Signalpegel

Soweit ich weiß, lässt CAN auf der physikalischen Schicht im "rezessiven" Zustand nur Pull-up / Pull-down die Arbeit erledigen.

Bedeutet das, dass die Anstiegszeit theoretisch langsamer ist als bei einem RS-485-Transceiver?

Und über die Rauschunterdrückung bei RS-485 und CAN? Beide verwenden einen differentiellen Bus, aber auch hier stützt sich CAN nur auf Widerstände, um das "rezessive" Signal bereitzustellen.

Beim Lesen einiger Artikel gibt die Mehrheit, wenn nicht alle, RS-485 als 1200 m bei 100 kbit / s an, während CAN normalerweise maximal 40 m bei langsameren Geschwindigkeiten angibt (ich habe nur einen gelesen, der über CAN-Netzwerke mit längerem Bus sprach Linien). Und selbst diese CAN-Papiere scheinen spezifischer in Bezug auf die Verwendung von abgeschirmten Paaren zu sein, bei denen RS-485 mit UTP "entspannter" zu sein scheint .

Ist RS-485 robuster und schneller für lange Busse als CAN?

Ja, ich weiß, dass einer theoretisch Single-Master und der andere Multi-Master ist, aber für mich stimmt das nicht, da TDMA verwendet werden könnte, um einen guten Multi-Master auf RS-485 zu implementieren und ein Sync-Signal von einem "Master" zu senden ( es könnte von Zeit zu Zeit nur als Synchronisationsquelle und nicht als Master bezeichnet werden), und der Slot wird nur verwendet, um Zugriff auf den Bus zu erhalten.


1 Ja, ich weiß, dass CAN ursprünglich für den Automobilmarkt entwickelt wurde, daher ist die Entfernung kein großes Problem, aber heute scheint es auch in der industriellen Automatisierung verwendet zu werden, wo RS-485 meiner Meinung nach "dominant" ist.

2 Ich habe Hinweise gesehen, dass RS-485 expansiver ist als CAN. Nun, das ist wirklich nicht das, was ich verstehe. Große „beliebte“ Mikrocontroller haben UART, während ein kleiner Teil CAN-Controller hat und externe CAN-Controller schwer zu bekommen oder teuer sind.

RS485 ist (oder wird für) unangenehmere Umgebungen mit mehr Lärm, aber im Allgemeinen niedrigerer Geschwindigkeit. Es wird in CCTV häufig verwendet, um Steuersignale Hunderte von Metern zu übertragen (normalerweise über billige Kabel). Single-Pair 485 ist ein bisschen schwierig, da es nur Simplex-Kommunikation zulässt, wenn Sie 4-Draht (RS422) verwenden können, wird das Leben viel schöner.
Ja, es erlaubt nur Halbduplex auf einem einzelnen Paar (plus ein Paar für Common oder sogar +V/Common). Dies ist kein Problem, wenn Sie über gute Geräte und ein gutes Protokoll verfügen. Auf jeden Fall ist CAN zunächst für Umgebungen im Automobilbereich konzipiert, die auch Rauschen sind.
Autos sind laut, aber Dinge in Ihrem Auto werden sehr selten vom Blitz getroffen oder haben 20-kV-Unterstationen im Handschuhfach installiert. Ich habe mit beiden gearbeitet, RS485 ist in einer externen Umgebung robuster, nicht nur vom Design her, sondern auch die Treiberchips sind im Allgemeinen für den Endverbrauch konzipiert und bieten daher einen guten Schutz.

Antworten (1)

CAN kann bis zu 1 Mbit/s auf Bussen bis zu einigen 10 s von Metern erreichen. Der passive Zustand verlangsamt die Signalisierung nicht wirklich. Insgesamt 60 Ω ziehen die Leitungen zusammen, was sie ziemlich schnell machen wird. Ich habe mir Bits auf einem CAN-Bus mit einem Zielfernrohr angesehen, und die Kanten waren in beiden Richtungen schön und solide. Denken Sie an die Tatsache, dass der passive Zustand den Bus immer noch zusammentreibt, als wäre er kurzgeschlossen, aber die Antriebsimpedanz liegt bei der charakteristischen Impedanz des Kabels. Ein absichtlicher Treiber hätte die gleiche Impedanz, also gibt es wirklich keinen Unterschied.

Was die Länge eines CAN-Busses in der Praxis begrenzt, ist, dass das Signal in einem Bruchteil einer Bitzeit einen Hin- und Rückweg zwischen den beiden am weitesten entfernten Knoten zurücklegen muss. Dies ist notwendig, damit der Kollisionserkennungsmechanismus funktioniert.

RS-485 und CAN spielen wirklich in zwei verschiedenen Ligen. RS-485 wirft Ihnen eine elektrische Spezifikation für einen Multidrop-Bus zu, und das war's. CAN definiert ganze Nachrichten mit IDs und Datenbytes, einer Prüfsumme, Steuerinformationen, Kollisionserkennung, etwas Fehlererkennung und Fehlerbehandlung und voller Nutzung der Bandbreite unter starker Belastung, alles in einem echten Peer-to-Peer-Netzwerk. Darüber hinaus ist diese plus automatische Sendewiederholung bei einer Reihe von kostengünstigen Mikrocontrollern in die Hardware eingebaut.

Theoretisch könnten Sie so etwas mit RS-485 als zugrundeliegendem Bus implementieren, aber alle Protokolldetails für einen zuverlässigen Betrieb in allen Grenzfällen richtig hinzubekommen, ist bei weitem nicht so einfach, wie manche Leute zu denken scheinen.

Danke. Ich kenne die Geschwindigkeit (obwohl CAN FD im Datenteil wahrscheinlich auf 10 Mbit / s zu gehen scheint, weil in dieser Phase keine Schlichtung erforderlich ist), und der Hin- und Rückweg ist wirklich die Antwort. Wie auch immer, meine Frage konzentriert sich auf die "Robustheit" des Busses gegenüber EMI oder RFI auf langen ungeschirmten Bussen, da RS-485 normalerweise keine Filter vorschreibt und CAN normalerweise Tiefpassfilter an den Abschlüssen hat. Über die Kanten habe ich einige Diagramme, die "langsame Kanten" zeigen, möglicherweise einen Treiber oder eine falsche Terminierung.