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.
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.
John u
Diego C Nascimento
John u