Forum: Mikrocontroller und Digitale Elektronik CAN fehlertelegramm


von maik (Gast)


Lesenswert?

Hi,
ich einen CAN-Netzwerk können die Teilnehmer doch eine Fehlernachricht 
absetzten, wenn sie ein Telegramm als beschädigt erkannt haben.

Aber wer sendet dieses Fehlertelegramm?
Alle? das wäre wohl am sichersten falls ein anderer Teilnehmer den 
Fehler nicht bemerkt hat.
Aber das macht doch u.U. zuviel traffic auf dem bus, oder?

So gesehen wäre es wohl besser dass die Fehlernachricht nur von dennen 
kommt, die auch mit dem Telegramm zu tun haben, für die es bstimmt war? 
wenn dieser Teilnehmer aber den Fehler nicht erkennt und die teilnehmer, 
die es erkannt haben sind still, ist das ja auch nciht gut?

Ich stelle diese Frage weil ich mir nicht darüber klar bin, was für die 
Busauslastung am besten ist?
Die Busaribitrierung müsste bei zuvielen Fehlertelegrammen (für den 
gleichen Fehler, aber von unterschiedlichen Teilnehmern) weiter Fehler 
und Kolisionen verhindern, stimmt das?

von Stefan E. (sternst)


Lesenswert?

Ist schon etwas her, dass ich mich mit CAN beschäftigt habe, aber ist es 
nicht so, dass eine Node im Fehlerfall einfach nur den Bus für bestimmte 
Zeit auf den dominanten Level zieht? Warum sollte es stören, wenn das 
mehrere Nodes gleichzeitig tun?

PS: Beachte das "gleichzeitig", denn das Fehlertelegramm wird sofort auf 
den Bus gegeben, nicht erst, wenn er wieder frei ist.

von Alex (Gast)


Lesenswert?

@Stefan

Das hast du korrekt in Erinnerung.

Ein "Errorframe" bedeutet lediglich, dass jeder Node welcher einen 
Fehler detektiert den Bus in der Folge für N Bitzeiten auf dominanten 
Pegel zieht. Ein Errorframe hat somit keine ID o.Ä.

Mir ist nicht ganz klar, was das Problem des Threaderstellers ist - man 
hat keinen Einfluss auf die Generierung dieser Frames. Auf einem 
vernünftig ausgelegten Bus treten normalerweise keine/kaum Fehler auf.

von w. (Gast)


Lesenswert?

.... da habe ich schon Anderes gesehen in Aufzugschächten ;-)))

von maik (Gast)


Lesenswert?

okay danke!
ich wußte nicht, dass das Fehlertelegramm "nur" ein dominanter Pegel 
ist, dachte das wäre ein richtige Nachricht mit header, id .... .

für den CAN benütze ich einen phillips SJA1000, macht dieser das mit dem 
Pegel von alleine oder muss ich ihm das vom µC aus sagen, dass da gerade 
ein Fehler war und er den dominanten Pegel ausgeben soll?

Wie lange hat dieser Pegel zu dauern sofern ich es selbst machen muss?

von Helmut -. (dc3yc)


Lesenswert?

Das macht der Baustein von ganz alleine und du kannst das auch nicht 
verhindern!

Servus,
Helmut.

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.