Forum: Mikrocontroller und Digitale Elektronik CAN Identifier


von Knuddel P. (knopf)


Lesenswert?

Ich habe ein Projekt vor mit CAN und CAN-open.

Normalerweise kann man in die Register die Identifier klsivizieren.
es findet dann eine Selektion auf Hardwareebene statt.

Das aber ist für meinen Fall störend. Ich möchte per Software Filtern 
und
auf Anforderungen dann regieren. Außerdem würden mir dann die Anzahl der 
register zu wenig sein.


Gibt es eine Möglichkeit im Prozessor -muss ich noch aussuchen- 
Hardwaremäßig alles durchzulassen und dann per software zu selektieren??
 Ist das Abhängig vom Prozessor?

Oder weis jemand wie man dnn die register zu setzen hat damit man so 
verfahren kann ?

von crazy horse (Gast)


Lesenswert?

ich kenne keinen CAN-Controller (weder interne noch externe), der das 
nicht ermöglicht. Das programmieren von Filtermasken ist kein muss, 
sondern nur zur Entlastung des Prozessors nützlich.

von tex (Gast)


Lesenswert?

wenn du die Filterbits (Mask) alle ausschaltest, wird auch nix 
gefiltert, dann kommt  auch alles durch

von Knuddel P. (knopf)


Lesenswert?

Danke.

wie sit es wenn einem die 16 register nicht ausreichen oder wenn nur ein 
Teil definiert ist?

Ist es so, dass sobald ein register benutzt wird nur noch dieser 
Identifier durchgeht?

Oder stellt dann dieses eine teilmenge dar?

Sprich daraus ereben sich 2 Probleme.

Eineseits will man ja dass nur das durchgeht, was im register steht.

Andererseits kann es vorkommen, dass die anzhlder register nicht reicht. 
Wenn man dann alles per Software löst wird das System sehr langsam.

von AVR-User (Gast)


Lesenswert?

Dir stehen nurmalerweise 2 Masken zur Verfügung. Eine Maske legt fest 
welche Bits überprüft werden. Die zweite Maske mit was verglichen wird. 
Somit kannst du auch Gruppen von Identifier filtern und nicht nur 
einzelne Spezielle. So ist es zumindest beim SJA1000.

Gruß

von Armin O. (Gast)


Lesenswert?

Hallo!

hab mal ne Frage auch zu CAN Identifiern.

Es ist ja so dass man sich vorher immer Messageobjects erstellen muss.
Und jedes Messageobject hat ja genau 1 Identifier zugeordnet... richtig?
Ich will eine Node haben die ALLE Identifier akzeptiert die auf dem Bus 
laufen. (nur lesend)
Geht das irgendwie einzustellen oder nur per Listen-Only-Mode?

von A.K. (Gast)


Lesenswert?

Geht. Adressfilter sind optional. Entweder garnicht erst aktivieren, 
oder Maske/Wert so setzen, dass sie auf alle IDs zutreffen.

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.