Forum: Mikrocontroller und Digitale Elektronik CAN senden ohne dass Ack notwendig ist?


von Horst B. (Gast)


Lesenswert?

Lässt sich eine Nachricht auf dem CAN so senden, dass der Empfänger kein 
Acknowledge senden muss? Hntergrund ist, dass außer dem Sender nur ein 
weiterer Teilnehmer vorhanden ist, der aber selber nicht senden kann.

von H.Joachim S. (crazyhorse)


Lesenswert?

Senden lässt sie sich natürlich, es wird aber einen Fehler im Sender 
geben, der automatisch eine erneute Sendung veranlasst und irgendwann 
den Sender schweigen lässt.
Bei deiner Anwendung brauchst du kein CAN.
Oder setz noch irgendeinen Teilnehmer dazu, der nichts weiter macht als 
ack zu senden.

von user (Gast)


Lesenswert?

Kommt auf deinene CAN Implementierung an, aber es gibt auch die 
Möglichkeit ein Loop einzuschalten, so werden die CAN Daten verschickt, 
aber das ACK kommt von dem sendenden Knoten.

von Rudolph R. (rudolph)


Lesenswert?

Tipp, ein ATMEGA16M1 mit einer Basis-Konfiguration setzt das ACK und 
muss dabei weder CAN Frames senden noch empfangen.
Die ganzen Teile dafür passen auf eine 2x3 cm Briefmarke.

Horst B. schrieb:
> nur ein weiterer Teilnehmer vorhanden ist, der aber selber nicht senden kann.

Oder das einfach mal ändern?

von WR (Gast)


Lesenswert?

user schrieb:
> Kommt auf deinene CAN Implementierung an, aber es gibt auch die
> Möglichkeit ein Loop einzuschalten, so werden die CAN Daten verschickt,
> aber das ACK kommt von dem sendenden Knoten.

Das gilt aber nur für einen MCP2515 im Loop_Back-Mode. Bei den AVR's
AT90CAN32-128 und ATmega 16/32/64M1 gibt es keinen LOOP-Back sondern nur 
Listening-Mode, das ist aber was ganz anderes.

Die AVR's benötigen zum erfolgreichen Senden mindestens einen CAN-Node 
am Bus wegen Acknowledge. Siehe Beitrag von Crazyhorse.

Gruss Werner

von M. Н. (Gast)


Lesenswert?

Horst B. schrieb:
> Hntergrund ist, dass außer dem Sender nur ein
> weiterer Teilnehmer vorhanden ist, der aber selber nicht senden kann.

Dann ist das kein "CAN"-Knoten. CAN erfordert immer ein ACK. Alles 
andere ist Murks. Du kannst natürlich nach jedem gesendeten Frame den 
CAN-Controller neustarten.

H.Joachim S. schrieb:
> Senden lässt sie sich natürlich, es wird aber einen Fehler im Sender
> geben, der automatisch eine erneute Sendung veranlasst und irgendwann
> den Sender schweigen lässt.

Nein. Der Sender wird auf Dauerfeuer gehen. Ein fehlendes Ack führt nie 
zu einer Abschaltung.

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.