Gast
#3521610
Ich habe eine CAN zu CAN Kommunikation zwischen zwei Teilnehmern
aufgebaut. Weitere Teilnehmer kommen nicht mehr dazu.
Da die Kommunikation prinzipiell funktioniert, möchte ich nun ein
Protokoll dazu bauen. Ein Protokoll wie CANopen möchte ich nicht
implementieren, da ich ja nur zwei Teilnehmer habe.
Bei einem UART Protokoll hat man ja sowas in der Art:
ID, Länge, Kommando; Daten*n, Checksumme
Aufbauen würde ich es folgendermaßen:
Teilnehmer 1:
Objekt 0, Senderichtung mit 6 Byte:
- ID [Byte 0/1]
- Länge [Byte 2]
- Kommando [Byte 3]
- Checksumme [Byte 4/5]
Objekt 1-15, Senderichtung mit je 8 Byte:
- Daten
Objekt 16, Empfangsrichtung mit 6 Byte:
- ID [Byte 0/1]
- Länge [Byte 2]
- Kommando [Byte 3]
- Checksumme [Byte 4/5]
Objekt 17-31, Empfangsrichtung mit je 8 Byte:
- Daten
Teilnehmer 2 hätte gespielte Objekte.
Interrupt bei Teilnehmer 1 wäre Objekt 16 und bei Teilnehmer 2 das
Objekt 0.
Brauche ich bei CAN eine Checksumme? Kann ich hier das CRC vom CAN und
das Error Register benutzen? Das mir bei fehlerhafter Kommunikation
einen Interrupt generiert?
Oder sollte ich einen ganz anderen Weg gehen?
Habe mit CAN so gut wie keine Erfahrung. Brauche es aber nun, da
Teilnehmer 1 weder per UART noch per SPI mit Teilnehmer 2 Kommunizieren
kann.