CAN ist ein Low-Level-Protokoll, das sich irgendwo um die Datenverbindungsschicht des OSI-Modells (Schicht 2) befindet. Es geht also nur um die Übertragung generischer Datenrahmen. CAN gibt weder eine Netzwerktopologie noch die Art und Weise an, wie Daten weitergegeben werden, noch die Art der Daten usw. usw.
CAN ist also aus demselben Grund kein Master / Slave-Protokoll wie UART keines
Zusätzlich zu den Standard-CAN-Protokollrahmen benötigen Sie höhere Schichten, die die Kommunikation definieren. Die am weitesten verbreiteten für CAN sind:
- CANopen (am häufigsten, generisch)
- DeviceNet (generisch, hauptsächlich in der Automatisierungsbranche verwendet)
- J1939 (LKW, Traktoren, schwere Fahrzeuge)
Diese funktionieren auf ganz unterschiedliche Weise.
CANopen definiert beispielsweise keinen Master für den Datenverkehr. Die Datenkommunikation zwischen Knoten auf dem Bus ist nur ein Anliegen der beteiligten Knoten: Es gibt keinen Master, der den Datenverkehr leitet, und jeder Knoten kann so konfiguriert werden, dass er mit jedem anderen Knoten spricht / hört.
CANopen definiert jedoch a "Netzwerkmanager" -Master, der für die Überwachung der Knoten auf dem Bus verantwortlich ist: Stellen Sie sicher, dass sie korrekt starten und am Leben und funktionsfähig bleiben usw.