Forum: Mikrocontroller und Digitale Elektronik CAN BUS Mask & Filter


von marie_95 (Gast)


Lesenswert?

Hallo,

ich habe einige grundlegende Verständnissfragen zum CAN-Bus

mit der 11Bit Adressierung ist die höchste mögliche ID: 0x7FF oder?

Ich benutze eine Arduino CAN Lib von Speeed Studio v1.2

Hier gibt es Masken und Filter die man verwenden kann um den 
Mikrocontroller zu entlasten. Wenn ich es richtig verstehen habe erfolgt 
die Filterung per Hardware. Also ohne das mein Mikrocontroller 
Rechenleistung benötigt.

Ist es so, dass wenn ich alle BITs der Maske auf 1 setze.
Die IDs die durch den Filter kommen exakt mit dem Filter übereinstimmen 
müssen?

Beispiel 1:
Maske = 0x7FF & Filter= 0x111 -> nur ID: 0x111 wird durchgelassen


Letztes Bit der Maske auf "0"

Beispiel 2:
Maske = 0x7FE & Filter= 0x111 -> ID: 0x111 und 0x110 kommen durch den 
Filter


Es währe super wenn ihr sagt ob das so stimmt.

Danke

Marie

von Steffen R. (steffen_rose)


Lesenswert?

Ich nehme an, es wurden die Hardwareeinstellungen des CAN zugreifbar 
gemacht. Du solltest daher im Prozessor/CAN-Handbuch etwas mehr Details 
finden.

Prinzipiell wird die Acceptanz-Maske auf die empfangene ID und die 
Acceptanzfilter-ID angewendet und dann verglichen. Je nach CAN 
Controller sind noch Invertierungen notwendig.

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.