Forum: Mikrocontroller und Digitale Elektronik CAN Übertragung ???


von Martin (Gast)


Lesenswert?

Hallo,
könnte mir jemand einmal beschreiben wie man es anstellen kann über den 
CAN Bus ganze Arrays zu übertragen? Ich benutze den CAN seit längerem 
musste aber bis jetzt nur einzelne Werte bzw. Variablen übertragen. 
Jetzt würde ich gerne ein ganzes Array mit ca. 1024 Werten übertragen. 
Wie macht man soetwas?

von crazy horse (Gast)


Lesenswert?

Du kannst z.B. die ersten beiden Bytes als Adressinformation benutzen. 
Gibt dann die Startadresse der folgenden 6 Datenbytes an.

von Martin K. (mkohler)


Lesenswert?

Du musst dir irgend ein Protokoll ausdenken, wie du die Datenbytes in 
einzelne Meldungen verpacken willst.

Auf der Empfängerseite hast du dann die Qual der Wahl, ob du den 
Datenblock als Ganzes oder partiell aktualisieren willst.

von crazy horse (Gast)


Lesenswert?

oder effektiver, nur das 1.Byte als Adresse, x*7 ist dann die 
physikalische Adresse, damit kannst du dann pro frame 7 Datenbytes 
übertragen.
Wenn du genug IDs frei hast, kannst du auch die Adresse im Identifier 
codieren, macht dann allerdings beachtliche 128 IDs nur für diese 
Aufgabe.

von Andre (Gast)


Lesenswert?

Dafuer gibt es schon höhere Protokolle welche unter anderem im KFZ 
anwendung finden. Nennt sich ISO TP/VW TP etc. Damit sind bis zu 4095 
Bytes möglich. Mit flusskontrolle und pipapo...

Ein Link hab ich nun auch nicht. Die Frage stellt sich aber ob sich das 
für dich lohnt das protokoll zu implementieren.

Ansonsten einfach selber was zammfrickeln ;)

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
Noch kein Account? Hier anmelden.