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?
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.
@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.
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?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.