Forum: Mikrocontroller und Digitale Elektronik Can extended Frame versenden


von Mxrxo (Gast)


Lesenswert?

Hallo Zusammen,

ich stehe gerade auf dem Schlauch. Ich habe ein Gerät, an dem ich testen 
möchte, ob es extended frames empfangen kann. Hierzu habe ich eine 
Software am PC (Pcan-View) mit dem ich ein Frame jeglicher Art 
rausschicken kann. Ich mache folgendes:

1. Standard SDO Frame rausschicken:

ID:     Länge:   Daten:
651h     8byte   40 40 30 01 00 00 00 00


2. Und nun dachte ich mir, ich schicke genau die gleiche ID als extended 
Frame. Die Software macht dann folgendes daraus:

ID:           Länge:   Daten:
00000651h     8byte   40 40 30 01 00 00 00 00

Es wird der Rest des 29 Bit Identifiers mit nullen gefüllt. Ist das ein 
gültiges extended Frame? Ich frage deshalb weil ich keinerlei Antwort 
vom Gerät bekomme und ich mir nicht sicher bin, obs am Gerät oder an dem 
Typ davor liegt ;-)

von Clemens S. (zoggl)


Lesenswert?

ja, ist eine korrekte Nachricht.

wenn das gerät schlecht ist, kannst du noch probieren deine ID so zu 
biegen, dass die Base id gleich ist und die Extended ID 0 ist.
ich hatte schon ein gerät das dann gesendet hat (ist aber NICHT spec 
konform)

https://www.can-cia.org/can-knowledge/can/can-data-link-layers/

vll kommst du damit weiter.

sg

von Max (Gast)


Lesenswert?

Mxrxo schrieb:
> Es wird der Rest des 29 Bit Identifiers mit nullen gefüllt.
Was hast Du erwartet?

> Ist das ein
> gültiges extended Frame?
Wenn das Identifier extension bit gesetzt ist, dann schon.
Machst Du das "Gerät" selbst? Manche Implementierungen von 
Hardware-Filtern im CAN Controller unterscheiden auch, ob das Bit 
gesetzt ist. STM32 z.B.

von Mxrxo (Gast)


Lesenswert?

Max schrieb:
> Mxrxo schrieb:
>> Es wird der Rest des 29 Bit Identifiers mit nullen gefüllt.
> Was hast Du erwartet?

Nein das passt schon. Habe ich erwartet. Ich wollte nur sicher gehen.


>> Ist das ein
>> gültiges extended Frame?
> Wenn das Identifier extension bit gesetzt ist, dann schon.
> Machst Du das "Gerät" selbst? Manche Implementierungen von
> Hardware-Filtern im CAN Controller unterscheiden auch, ob das Bit
> gesetzt ist. STM32 z.B.

Ich gehe davon aus, dass die Pcan-View Software das schon setzt. Ich 
kann es im Menü beim bearbeiten der Botschaft anklicken. Das Gerät hat 
auch einen STM32. Mich hats etwas gewundert, dass ich überhaupt keine 
Antwort bekommen. Andererseits könnte das erklären, dass hier in der 
Software beim Verarbeiten des Telegrams was schief geht. Denn der CAN 
Controller hat ja scheinbar den Frame akzeptiert. Sonst müsste er ja von 
sich aus bereits einen Fehler melden.

von Harald (Gast)


Lesenswert?

Hm, deine Antworten lassen mehrere Interpretationen zu, ob die Sache nun 
klar ist.

Standard und Extended IDs sind zwei verschiedene Nachrichten, auch wenn 
die ID vom Wert her identisch ist. Bei einer sauberen Implementation des 
Treibers wird da unterschieden, deswegen ist es sogar richtig, wenn das 
Gerät nicht reagiert.

von Harald (Gast)


Angehängte Dateien:

Lesenswert?

Siehe Bild, beim allseits beliebten MCP2515 sieht der Empfangsfilter 
beispielsweise so aus, ähnlich ist es auch bei allen CAN Controllern.

von Mxrxo (Gast)


Lesenswert?

Harald schrieb:
> Hm, deine Antworten lassen mehrere Interpretationen zu, ob die
> Sache nun
> klar ist.
>
> Standard und Extended IDs sind zwei verschiedene Nachrichten, auch wenn
> die ID vom Wert her identisch ist. Bei einer sauberen Implementation des
> Treibers wird da unterschieden, deswegen ist es sogar richtig, wenn das
> Gerät nicht reagiert.

Danke für den Hinweis. Dann werde ich mir mal zunächst den 
Empfangsfilter anschauen.

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.