CAN2Web
CAN-Ethernet-Gateway Kommandointerface
Tabelle 21 :CAN-Meldung inkl. Status/Fehlerinformation und Zeitangabe
Byte
Wert/
Inhalt
0
0x83
1
<ERROR>
2
<CAN-ID3>
3
<CAN-ID2>
4
<CAN-ID1>
5
<CAN-ID0>
6
<RTR+Modus
+ LEN>
7 bis
[DATA 0...7]
7+<LEN>
11 bis
<TIME SEC>
11+<LEN>
15 bis
<TIME µSEC>
15+<LEN>
Die Gesamtlänge der Meldung in Byte beträgt 15 + LEN.
Wurde beispielsweise folgende Meldung auf dem CAN-Bus empfangen
ID
: 0x03A2A3FE ; 29-Bit-Identifier
RTR
: 0
8 Datenbyte : 0x01, 0x02, 0x03, 0x04, 0x80, 0x70, 0x60, 0x40
Time Sec
: 0x00, 0x00, 0xFA, 0xC0
Time µSec : 0x00, 0x01, 0x80, 0x33
so betrug die Linux-Systemzeit von 64192 Sekunden und 98355 µ-Sekunden.
Anmerkung: Der CAN-Controller löst einen Interrupt aus, sobald ein CAN-Telegramm
vollständig empfangen wurde. Innerhalb der Interrupt-Service-Routine (ISR) wird unmit-
telbar vor dem Auslesen des CAN-Controllers die Systemzeit bestimmt. Zeitangaben
zwischen Empfang der CAN-Meldung durch den CAN-Controller und dem Aufruf der
ISR liegen nicht vor.
synertronixx, 3. Mai 2012
Beschreibung
Kennbyte für schnelle CAN-Meldung inkl. Status/Fehlerinformation
des CAN-Bus
CAN-Status/Fehlerbyte (entspricht Tabelle 20 Byte 1)
CAN-ID Byte 3
CAN-ID Byte 2
CAN-ID Byte 1
CAN-ID Byte 0
Angabe zu RTR-Bit, CAN-Modus und Anzahl der Datenbytes
Bit 7: RTR-Bit
Bit 6: 0:CAN-Bus in CAN2.0A oder CAN2.0B Modus betrieben
1:CAN-Bus wird im CAN2.0A/B gemischten Modus betrieben
Bit 5: wenn Bit 6=1: 0:CAN2.0A-Meldung, 1:CAN2.0B-Meldung
wenn Bit 6=0: immer 0
Bit 4: reserviert (immer 0)
Bit 3...0: Anzahl der Datenbyte der CAN-Meldung an
Datenbyte 0...7 der CAN-Meldung (optional)
Empfangszeit des CAN-Telegramms; Systemzeit Sekundenwert als
4 Byte unsigned long int (MSB zuerst). Die Empfangszeit setzt sich
aus <TIME SEC> und <TIME µSEC> zusammen.
Empfangszeit des CAN-Telegramms, Systemzeit µ-Sekundenwert
als 4 Byte unsigned long int (MSB zuerst), Wertebereich 0...999999
Die Empfangszeit setzt sich aus <TIME SEC> und <TIME µSEC>
zusammen.
45