Hallo zusammen, ich habe ein CAN-Netzwerk für eine Gebäudeanwendung am laufen, welches aus folgenden Komponenten besteht: Hauptprozessorplatine mit CAN-Schnittstelle, einmal vorhanden Infineon XE167. Stockwerksknoten, einmal pro Etage vorhanden (maximal 64 Stück!)Infineon XC888. Im Wesentlichen werden auf dem BusEin-Ausgangszustände bzw. Seonsordaten zwischen Hauptprozessor und den Stockwerksnoten übertragen. Jeder Stockwerksknoten enthält einen DIP-Schalter, über den die Etage eingestellt wird. Aus der Schalterstellung werden die Identifier der Nachrichtenobjekte für den jweiligen Knoten generiert. Das Ganze läuft fehlerfrei und befindet sich derzeit in der Testphase. Jetzt kann folgender Fall auftreten: Der Anwender stellt an mehreren Knoten versehentlich dieselbe Etage ein, was dazu führt, daß mehrere CAN-Knoten mit den selben Identifieren arbeiten. Sofern die Knoten zeitgleich senden, laufen die Transmit-Errorcounter hoch und schlimmstenfalls nimmt einer bzw. mehrere der betroffenen Knoten den Zustand "Bus Off" ein. Die Knoten erkennen das Vorhandensein von doppelten Identifieren in dem Moment, wo sie eine Nachricht auf dem Bus emfpangen, die nur von ihnen selbst gesendet werden kann und melden dies an den Master, sodaß der Benutzer eine entsprechende Meldung erhält. Was mich aber interessiert: Muß eine BusOff-Recovery Sequenz eingebaut werden und, falls ja, wie sieht diese aus ? Das Problem ist, daß ein Zugriff auf das NodeControl Register bei diesem Prozessor nicht so einfach ist und sicherlich den Normalen Betrieb stört, sofern dieses zyklisch gelesen würde. Gruß Holger
Was nützt dir ein "BusOff-Recovery" wenn du immer noch die falsche ID hast? CANopen vermeidet dieses mit dem LSS (Layer Setting Service), in dem die ID vom LSS-Master, beim BUS start, vergeben werden. Anmerkung: BUSOFF (und die anderen Fehlerzustände)können (bei allen mir bekannten Controller) eien Interrupt auslösen. Und was stört mehr, ein BusOff oder ein gelegentliches auslesen der Fehlerregister? ciao Volker
Hallo, ich habe eine Frage, wie kann man erkennen dass der Bus schläft? wäre super wenn jemand einen Hinweis geben könnte. Gruß Peter
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.