Forum: Mikrocontroller und Digitale Elektronik CAN-Bus-CRC-Prüfung


von Bend G. (frankyfarell0)


Lesenswert?

Hallo,


Kann mir vielleicht jemand sagen, ob ein zugriff bzw. einfluss auf 
CAN-CRC möglisch ist?, wie kann die CRC-Fehler getestet werden??

vielen dank für jede hilfe im vorraus.

von Frank K. (fchk)


Lesenswert?

Du bräuchtest dafür einen in einem FPGA implementieren CAN-Knoten, den 
du entsprechend modifizieren müsstest. Ich wüsste nicht, dass 
irgendeiner der Standard-Controller (Standalone oder in einem 
Mikrocontroller integriert) darauf Zugriff bieten würde.

fchk

von Armin Klose (Gast)


Lesenswert?

Hi, da fallen mir spontan 3 Möglichkeiten ein:

1. Das Prüfen der CRC ist relativ mit dem Gerät "CanStress" von Vector 
Informatik sehr komfortabel möglich. Dort kannst du alle möglichen 
logischen Fehler produzieren lassen.

Leider kostet das Teil nicht gerade wenig, es besteht aber die 
Möglichkeit es sich bei Vector gegen Bezahlung auszuleihen. Oder du 
arbeitest wie ich in einer Firma die Produkte mit CAN-Bus herstellt, 
dann kann man es auch mal kostenlos als leihstellung bekommen (bzw haben 
wir auch einige gekauft). An Uni´s usw wird sowas auch schonmal in 
Rahmen einer Diplomarbeit ausgeliehen.

2. Eine andere Möglichkeit ist z.B. selber einen kleinen CAN-Node zu 
programmieren der als reiner Empfänger arbeitet und der dann gezielt 
z.B. x Millisekunden nach Framestart die Datenleitung auf Masse zieht 
für mehr als 3 Bitzeiten am CAN (dann hast du nen CRC-Fehler)... Mit nen 
kleinen Demoboard sollte es auch problemlos gehen.

3. Wir haben hier so einen programmierbaren Logikanalyser mit 
Schaltmodul. Der kann nach x Flanken dann auch z.B. die Datenleitung für 
eine defiernte Zeit auf Masse legen. Das kannst du dir mit ner 
Messkarte/ USB-Messbüchse auch leicht selber bauen (z.B. mit LabVIEW und 
dieser kleinen NI-USB-Messbüchse für 79 Euro). Der CAN-Frame fängt immer 
mit einen bestimmten Bitmuster an, dann kommt der Header, dann die 
Daten. Du kannst einfach nach dem Framestart eine entsprechende Anzahl 
Millisekunden warten und dann Datenleitung auf Masse schalten. Die 
Wartezeit richtet sich nach der Übertragungsgeschwindigkeit des Busses.

Naja ne low Cost 4. Lösung habe ich auch noch: Du tippst die 
CAN-H-Leitung sporadisch auf Masse, dann kriegst du wahrscheinlich auch 
ab und an nen CRC-Fehler hin :-).... Nur nicht zu lange auf Masse, dann 
geht der Controller im Bus-Off-Mode ;-).

mfg Armin

von Scans (Gast)


Lesenswert?

Frank K. schrieb:
> Du bräuchtest dafür einen in einem FPGA implementieren CAN-Knoten

komisch, mir reicht dazu eine can-phy, ein ne555 und etwas phantasie...

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.