CAN-Bus auf Platine

Funktioniert ein CAN-Bus auch für die On-Board-Kommunikation ohne Twisted-Pair-Verkabelung zwischen 2 oder mehr Mikrocontrollern auf derselben Platine?

Antworten (4)

Die Verwendung von CAN-Transceivern ist nicht erforderlich, wenn die Kommunikation innerhalb einer Leiterplatte erfolgt. Sie können jedoch keine CAN-Controller direkt anschließen. Sie benötigen Dioden, um Kollisionen zu vermeiden. Siehe hier zur Erklärung .

Geben Sie hier die Bildbeschreibung ein

Ja

CAN ist ein digitaler Bus, der mit bis zu 1 MHz arbeitet. Wenn Sie die Leiterplatte mit den üblichen Vorsichtsmaßnahmen für ein Signal dieser Geschwindigkeit entwerfen, ist es in Ordnung.

CAN-Leitungen (CAN Tx und CAN Rx) wurden auch in unserem Design verwendet, um mit verschiedenen MCUs auf derselben Hauptplatine zu kommunizieren. CAN-Transceiver wurde auch nicht verwendet.

Wir hatten ein vereinfachtes Verständnis zwischen MCUs. Es fand kein Schiedsverfahren statt. Es basierte immer auf Anfrage und Antwort.

Falls Sie mehr als zwei Geräte anschließen müssen, verwenden Sie dedizierte Transceiver für alle MCUs, um die MCU zu schützen und auch vollständig mit dem CAN-Protokoll kompatibel zu sein.

Es hilft auch bei der Verwendung von Standard-CAN-basierten Debugging-Tools (falls in Zukunft benötigt).

Ja, das ist möglich, und da es ziemlich schwierig ist, ein robustes Multi-Master-Protokoll von Grund auf neu zu erstellen, ist CAN dafür keine schlechte Option (obwohl die Fehlererkennung/-wiederherstellung für On-Board-Anwendungen etwas übertrieben ist). Ich würde jedoch nicht die Mühe machen, CAN-Transceiver zu verwenden, da sie ziemlich sinnlos sind und mehr Probleme in Bezug auf Energieverbrauch, minimalen Knotenabstand und Stichleitungslängen (aufgrund der hohen Energie, die in die Übertragungsleitung gesteckt wird) mit sich bringen. Wenn Sie die Mikrocontroller-Ausgänge im Open-Collector-Modus konfigurieren können, können Sie ein System implementieren, indem Sie einfach alle TX- und RX-Pins zusammen mit einem geeigneten Pull-up-Widerstand auf einen einzelnen verdrahteten ODER-Logikpegelbus verdrahten. Andernfalls benötigen Sie eine Reihendiode am Sendestift oder einen diskreten Transistor.

@Maple hat einige Änderungen vorgenommen, um es klarer zu machen.