Ich verwende einen kurzen (2 m) CAN-Bus mit ca. 20 Knoten. 1 Mbit / s Geschwindigkeit, PIC 18F2580s und 18F4580s mit MCP2551- Transceivern, 10 MHz (mit PLL bis 40 MHz) Quarzoszillatoren. Beide Enden sind mit 120 Ohm abgeschlossen. Der Abtastpunkt liegt bei 70%.
Die Knoten sind in drei Gruppen unterteilt, die jeweils von einer separaten, isolierten Stromversorgung gespeist werden. Die Erdung ist jedoch alle entlang des Busses gemeinsam.
Ich bekomme eine ganze Reihe von Nachrichtenfehlern, Framing, Bit Stuffing. Wenn man CANH und CANL auf einem Oszilloskop betrachtet, sieht alles wunderschön aus. Kein Klingeln, keine Reflexionen und das richtige Timing. Die Messung der Oszillatoren mit einem genauen Frequenzmesser zeigt nur eine geringe Abweichung.
Bisher konnte ich die Anzahl der Nachrichtenfehler nur reduzieren, indem ich das Erdungskabel entlang des Busses verstärkte, bis die GND-Differenz unter etwa 150 mV lag. Je weiter ich darüber hinaus gehe, desto mehr Fehler bekomme ich.
Warum? Laut Datenblatt MCP2551 sollten sie in der Lage sein, GND-Unterschiede bis zu 7 V zu bewältigen!
Verstehe ich etwas falsch?