Danke.
Das werde ich mir mal durchlesen.
mfg
Danke.
Das werde ich mir mal durchlesen.
mfg
Nicht ganz...Also ist das fast genau so wie bei I2C, dass ich jedem Slave eine andere Adresse geben müss, damit nicht zwei gleichtzeitig angesprochen werden.
Eigentlich kennt CAN sowas wie Adressen garnicht, stattdessen werden alle Nachrichten grundsätzlich erstmal von allen Busteilnehmern empfangen, und diese können dann entscheiden ob sie darauf reagieren möchten oder nicht. Wenn du einzelne Teilnehmer ansprechen möchtest gibt es dafür verschiedene Möglichkeiten, wobei die einfachste wohl darin besteht die ID einer Nachricht aus Absender- und Empfängeradresse zusammen zu bauen. So kann der Empfänger anhand der ID feststellen, daß die Nachricht für ihn bestimmt ist und wer der Absender ist. Zusätzlich kann man so auch garantieren, daß jede Nachricht eine systemweit eindeutige ID hat (das wird vom CAN Standard explizit so gefordert, denn nur dann funktioniert die Arbitrierung, und nur dann ist der Bus 100% kollisionsfrei).
So viele Treppen und so wenig Zeit!
Danke für die Info.
Jetzt verstehe ich auch wofür der ID Message Identifier ist.
Gruß
Flexxx
Es gibt aktuell ein Projekt von Elektor das sich auch damit beschäftigt. Die Reihe nennt sich "Hier kommt der Bus". Die Module sind ähnlich aufgeteilt (Master/Slave). Die Übertragung erfolgt mit RS485. Der komplette Bus wird mittels Atmegas gesteuert, es ist aber sicher einfach den Master gegen einen ARM zu ersetzen. Das sollte keine Werbung sein nur eine Anregung. Dort werden auch verschiedene Wege beschrieben wie man mit Kollisionen am Bus umgeht, wie man sie vermeiden kann,...
Ist recht interresant. Der Bus kann auch mit dem PC/Smartphone gesteuert werden. Der Bus unterstützt Ein und Ausgabe (analog und digital).
MfG Hannes
Lesezeichen