Forum: Mikrocontroller und Digitale Elektronik CAN Bus Filter


von Andi (Gast)


Lesenswert?

Wie funktioniert das mit dem Filter wenn ich z.b. ID 3A6 ID 3A8 und ID
3A4 duchlassen will???
Ich hoffe ihr könnt mir helfen.

von Mike (Gast)


Lesenswert?

Dann sollte das Maskenregister diese Bits auch checken (bezieht sich auf
das "3A") und das niederwertigste Byte ignorieren (z.B. 0xFF0
reinschreiben).

In das Kontrollregister solltest du dann einfach 0x3A0 schreiben.

Wenn du noch sagst, welchen Chip du verwendest, wird es einfacher mit
der Erklärung.

von Andi (Gast)


Lesenswert?

Verwendet wird der µC 82c200

von smartie (Gast)


Lesenswert?

Prinzipiell funktioniert das so:
Acceptance Filter B011 1010 0000
Acceptance Mask   B000 0000 1110
Der Filter würde nur 3A0 durchlassen, Bits 1-3 sind aber ausmaskiert,
somit wird 3A0,3A2,3A4,3A6,3A8,3AA,3AC und 3AE durchgelassen

oder Logisch ausgedrückt (Message Bit UND Filter Bit) ODER Mask Bit

Vermute der 82C200 ist wie der SJA 1000
Dann wäre ACR0: 0111 0100   ACR1: 0000 xxxx   x=egal
          AMR0: 0000 0001   AMR1: 1100 xxxx   für Standard Frames

von Andi (Gast)


Lesenswert?

Danke glaub ich hab es jetzt verstanden!!

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.