Ähnlich wie bei Frage Ist es in einem USB-Kabel in Ordnung, die D + - und D- -Drähte auszutauschen? Ist es in Ordnung, wenn wir CAN-H- und CAN-L-Leitungen miteinander verbinden?
CAN ist ein differenzielles Protokoll. Ist es so, dass dominante und rezessive Bits nichts anderes als Spannungsunterschiede auf diesen Leitungen sind?
Informationen über andere differenzielle Protokolle wären ebenfalls nützlich.
Antworten:
Ich konnte keine Referenz finden, die eine endgültige Antwort gab. Aber wenn ich mir ein paar Datenblätter ansehe, denke ich nicht. USB schaut auf das Vorhandensein oder Fehlen einer Änderung der Spannung. Während CANBus die Spannung selbst betrachtet.
Hier ist ein Beispiel für eine USB-Übertragung:
Die Einsen und Nullen werden abhängig davon codiert, ob es einen Übergang gibt oder nicht.
Im Gegensatz zu CANBus, bei dem der Unterschied in den Spannungspegeln wie in diesem App-Hinweis dargestellt wird :
Wenn wir uns ein Datenblatt für einen CANBus-Transceiver ansehen, zum Beispiel den MCP2551 , sehen wir etwas in der Art von:
Da eine negative Spannung erwähnt wird, glaube ich, dass die Polarität wichtig ist und sie nicht den absoluten Wert der Differenzspannung annehmen.
Also wenn wir haben:
Normalerweise würde der Transceiver Folgendes tun:
Wenn Sie die Zeilen vertauschen würden, würde dies Folgendes bewirken:
So weit, ist es gut. Das Problem kommt, wenn wir haben:
Hier würde der Transceiver normalerweise Folgendes tun:
Wenn Sie die Zeilen vertauschen würden, würde dies Folgendes bewirken:
Sie als Empfänger würden also nur rezessive Bits sehen.
quelle
Das Vertauschen von CAN-High- und CAN-Low-Leitungen funktioniert nicht. Dies ist leicht empirisch festzustellen. Ich und meine Mitarbeiter tauschen manchmal versehentlich die Leitungen aus, und es ist sofort ersichtlich, dass es nicht funktioniert.
quelle
Alles hängt vom Transciver-Modell ab. Sie sind eine gewisse Flexibilität in Bezug auf den Wert von CAN_H und CAN_L, aber ich denke, dass der Wert von CAN_H auf jeden Fall höher sein muss (zumindest für alle Modelle, die ich gesehen habe).
Wenn Sie nur den Kabelstift wechseln, sollte es funktionieren, sobald alle CAN_L miteinander und auch mit dem CAN_H verbunden sind.
quelle