Forum: Mikrocontroller und Digitale Elektronik CAN-Bus Remote Kommunikation


von Martin (Gast)


Lesenswert?

Da ich widersprüchliche antworten auf meine Frage gefunden habe, frage 
ich nocheinmal nach.

Wenn ich eine Remote-Anfrage starten möchte (Transmitter) muss/kann/darf 
ich Datenbytes senden oder nicht.

Beim Remote-Auto-Respons darf ich da auch Nachrichten ohne Datenbyte 
schicken, bzw. darf auch eine normale Nachricht gar kein Datenbyte 
enthalten?

von David M. (md2k7)


Lesenswert?

Da RTR nur ein Bit im CAN-Frame ist, kannst du theoretisch Datenbytes 
mitsenden. Ob der CAN-Controller sich daran verschluckt, ist eine andere 
Frage... Probieren geht über Studieren.

Nachtrag:
- Eine normale Nachricht kann gern auch 0 Datenbytes haben.

bezüglich Länge der Antwort auf die RTR-Aufforderung kann ich nichts 
beitragen, ist aber wahrscheinlich wieder implementierungsabhängig und 
wird vom CAN-Controller nicht beeinflusst werden.

von Alex (Gast)


Lesenswert?

"Da ich widersprüchliche antworten auf meine Frage gefunden habe, frage
ich nocheinmal nach."

Wo hast du gesucht?

"Wenn ich eine Remote-Anfrage starten möchte (Transmitter) 
muss/kann/darf
ich Datenbytes senden oder nicht."

Jeder HW CAN Controller wird keine Datenbytes senden (Spec!), wenn du 
einen Remote-Frame triggerst. Es hindert dich aber niemand die Bytes in 
irgendwelche Register zu schreiben.

"Beim Remote-Auto-Respons darf ich da auch Nachrichten ohne Datenbyte
schicken, bzw. darf auch eine normale Nachricht gar kein Datenbyte
enthalten?"

Ja.

von Martin (Gast)


Lesenswert?

Danke.

von Martin (Gast)


Lesenswert?

Also beim Renesas R8C/23 sieht die Sache so aus:

Bei der Remote Anforderung (Transmitter) muss ich die Anzahl der Bytes 
(DLC) senden, die ich per Auto response vom Receiver zurück haben 
möchte.

Also ich send DLC (Anzahl Datenbytes) = 3 und bekomme vom Receiver 3 
Datenbytes zurück.

von Martin (Gast)


Lesenswert?

Noch ein Nachtrag.

Es werden vom Transmitter aber nicht wirklich die Datenbytes gesendet, 
sondern nur der Wert der Datenbyteanzahl.

von Mike (Gast)


Lesenswert?

"Bei der Remote Anforderung (Transmitter) muss ich die Anzahl der Bytes
(DLC) senden, die ich per Auto response vom Receiver zurück haben
möchte."

Es zwingt niemand den Empfänger das auszuwerten, dieser kann dir jede 
beliebige Anzahl von Datenbytes (0...8) zurücksenden.

von Martin (Gast)


Lesenswert?

> Es zwingt niemand den Empfänger das auszuwerten, dieser kann dir jede
> beliebige Anzahl von Datenbytes (0...8) zurücksenden.

Wenn auto-response ausgeschaltet ist, ist das wohl richtig, aber wenn es 
eingeschaltet ist, macht der Empfänger das automatisch. Der Empfänger 
hat also keinen Einfluss darauf.

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.