Frage:
Erkennen Sie, ob ein CAN-Knoten sendet oder empfängt
user10530562
2019-06-09 20:06:52 UTC
view on stackexchange narkive permalink

Ich bin kein Elektrotechniker oder EE-Student. Ich bin Diagnosetechniker. AFAIK, ein CAN-Transceiver empfängt Bits durch Messen der Spannung zwischen dem Netzwerk und seiner Masse / niedrigen Referenz (hohe Impedanz, minimaler Stromfluss?)

Wenn es sendet, zieht es den Bus auf seine dominanten oder rezessiven logischen Spannungspegel. Dies können 3,5 Volt sein. Die hohen und niedrigen CAN-Leitungen, die mit einem Abschlusswiderstand von 60 Ohm verbunden sind, können einen Stromfluss durch den CAN-Transceiver verursachen.

Der Spannungsabfall über der Leitung könnte dann anzeigen, dass eine Übertragung stattfindet.

Wenn der Transceiver jedoch auf der niedrigen Seite eine hohe Impedanz aufweist, ist der Stromfluss äußerst gering. Der Transceiver muss genügend Strom liefern, um die logische Spannungsschwelle aufrechtzuerhalten, wobei bis zu 50 andere Knoten ihn abtasten und ein Kurzschluss von 60 Ohm zwischen den beiden.

Ich weiß nicht, ich kann nur nicht sagen, ob es funktionieren würde.

Dies ist nützlich, da CAN-Knoten manchmal nicht kommunizieren oder keine Nachricht senden können, wenn ein Ereignis eintritt, und ohne detaillierte Überprüfung des Busverkehrs ist dies undurchsichtig. Selbst wenn der Datenverkehr entschieden wurde, gibt es für die meisten Kommunikationen keine Quelladresse, was ihn weiter undurchsichtig macht, wenn ein Übertragungsfehler aufgetreten ist. CAN-Netzwerke sind extrem beschäftigt mit allgemeinem Chatter, selbst wenn ein Knoten inaktiv ist, sodass er nicht sichtbar ist, wenn eine Übertragung gestartet und gestoppt wird.

Zwei antworten:
Lundin
2019-06-10 14:30:03 UTC
view on stackexchange narkive permalink

Sie können leicht erkennen, ob ein Knoten sendet, wenn Sie etwas an den Tx-Pin der MCU / des Controllers anschließen.Es gibt dort nur Verkehr, wenn der Knoten sendet, andernfalls ist er 0 V.

Sie können also einen Prüfstand bauen, in dem Sie die Spannung des Tx-Pins des Knotens, eines Spannungsloggers usw. mit Zeitstempeln überwachen.Wenn Sie dies mit den Zeitstempeln in Ihrem CAN-Bus-Protokoll vergleichen können, sollten Sie unabhängig vom Inhalt bestimmen können, welcher Knoten eine bestimmte Nachricht gesendet hat.

Beispielsweise haben viele CAN-Protokolle wie CANopen eine Startnachricht pro Knoten.Sie können sowohl einen Spannungslogger als auch einen CAN-Logger mit einer solchen Startnachricht synchronisieren und als Zeitreferenz für die gesamte Kommunikation verwenden.

analogsystemsrf
2019-06-10 03:40:14 UTC
view on stackexchange narkive permalink

Soweit ich mich erinnere (Unterstützung eines CAN-Transceiver-Designteams), überwacht der CAN-Empfänger die differentielle Eingangsspannung zwischen CanH und CanL.Der CAN-Sender verfügt über zwei Stromquellen, die versuchen, die 60-Ohm-Widerstände (120 || 120) um etwa 1 Volt auseinander zu ziehen.So

schematic

simulieren diese Schaltung - Schema erstellt mit CircuitLab sup>

Nein, es ist typischerweise 2,5 V voneinander entfernt (1,25 V zu jeder Seite, 1,25 V - 3,75 V).Dies wurde auf einem realen System mit Geräten von drei verschiedenen Anbietern (mit mindestens zwei verschiedenen Transceivern) gemessen.


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 4.0-Lizenz, unter der er vertrieben wird.
Loading...