Der Aufbau der CAN Nachricht
Der Nachrichten Aufbau:
|
CAN Nachrichten im Detail
Detaillierter Aufbau der CAN Nachrichten:
Die CAN Nachricht besteht aus 2 Teilen.
Der erste Teil wird in der CAN ID (extended type) vor dem Senden verschlüsselt und von den empfangen Knoten entschlüsselt und ausgewertet. Da bei CAN ja ohne Filter jeder Knoten alles empfängt, wertet jeder Knoten auch die CAN ID aus und entscheidet dann ob diese Nachricht für ihn relevant ist und weiter verarbeitet wird oder nicht.
Der zweite Teil besteht aus 0 - 8 byte und enthält zusätzliche Informationen.
Hier die wichtigsten Nachrichten als Beispiel: (Ziel kann Unicast, Multicast oder Broadcast sein)
Message Type. Request (0) Anforderung bestimmter Daten
Byte 0 = PortState (0), PingRequest (1)
Byte 1 = Port Nummer bei PortState
Message Type Action (1) Befehl zum ausführen bestimmer Aktion
Byte 0 = Zielport (Port Nummer)
Byte 1 = Aktion (auszuführende Aktion OFF (0), ON (1), TOGGLE (2), TIMED (3))
Byte 2 = Feedback (NOFEEDBACK (0), FEEDBACK (1), GRFEEDBACK (2))
Byte 3 = Zielport für Feedback (typisch der LEDport des auslösenden Tasters)
Byte 4 optional = time (die Zeit in Sekunden die eine getimte Aktion ausgeführt werden soll
bzw. Feedback Group
Message Type U_Action (2) noch nicht verwendet
Message Type L_Info (3) Längeninformation Ankündigung eines Datenstroms
Byte 0 = Type der zu empfangenden Daten
Byte 1 = SubType der zu empfangenden Daten (ConfNew 0xEE,)
byte 2 = Anzahl Byte der zu empfangend Daten (Max 255 !)
Message Type Ack (5) Quittierung für empfanges Datenpaket, no additional Data
Message Type Data (6) Datenpaket
Byte 0 -7 Daten
Message Type SetTime (7) Zeit der RTC setzen
Byte 0 - 3 enthält Unix Time Stamp
Message Type Conf (8) Konfigurationsnachricht
Byte 0 = Konfigurationsanforderung (Reset 0xFF, Anfordern der Konfiguratio 0xFE, neue ID 0xEF, neue Konfiguration 0xEE, neue Gruppe 0xED)
Byte 1 = wenn > 0 Delay in Sekunden bis Reset, bzw. neue ID)
Message Type Info (9) Senden von Information, wie aktuelle Uhrzeit, Temperatur, Luftdruck, Luftfeuchtigkeit, etc. Typisch als broadcast, so dass jeder interessierte knoten die Information auswerten kann
Byte 0 = Art der Info
Byte 1 - n = Wert
Message Type PingReply (11) No more data
Message Type Feedback (12)
Message Type GrFeedback (13)