Hallo Nicole,
ich habe grade zufällig Deine Anfrage gelesen und dachte mir, ich
antworte mal kurz. Also, CAN funktioniert ungefähr so:
CAN ist meistens nach ISO11898 implementiert, mit 2 Drähten (High-Low),
wobei die Bits durch die Spannungsdiffernz dargestellt werden. Es können
mehrere gleichberechtigte Teilnehmer angeschlossen sein. Die Baudrate
ist konfigurierbar, bis zu 1 MBaud.
Jeder Teilnehmer darf jederzeit senden, alle hören mit. Das Senden
erfolgt in Form von Telegrammen bzw. Messages, auch "Frames" genannt.
Ein Frame enthält enthält hauptsächlich eine ID, entweder 11bit (CAN2-A)
oder 29bit (CAN2-B). Die ID legt die Priorität des Frames fest,
0=höchste Prio. Wenn 2 gleichzeitig anfangen zu senden, hört der mit der
kleineren Prio automatisch wieder auf - das machen die CAN controller
automatisch.
Jede ID sollte nur von einem 1 Sender benutzt werden. Wenn keiner senden
will, ist Ruhe auf dem Bus. Dadurch ergibt sich dann eine gewisse
Buslast, die immer < 100% bleiben sollte.
Jeder Frame enthält ausserdem 0..8 Datenbyts. Das bezeichnet man auch
als "Message-Länge". Beim Aufsetzen des Bussystems wird festgelegt,
welcher Sender welche Message-ID sendet, welche Länge (0..8) zugeordnet
wird und wie die Datenbytes belegt sind - meistens irgendwelche
Messwerte im Fix-Point Format. Alle Teilnehmer müssen diese Vereinbarung
kennen, um die Messages verstehen zu können. Es haben sich verschiedene
Dateiformate etabliert, um diese Information abzulegen (z.B. das
DBC-Format)
Jede Message enthält ausserdem eine Menge an Verwaltungs- und
Redundanz-bits - aber die werden vom CAN Controller Baustein automatisch
ausgewertet.
Genauere informationen findest du z.B. in der CAN-Spezifikation von
BOSCH oder auch auf der website von vector-informatik (googlen)
Viel Erfolg!