BeagleBoneBlack CAN HighSpeed-Problems

OP #3490714
Lesenswert?
• ▲
▼
Hallo zusammen,
wie der Betreff schon sagt, geht es um die Nutzung des CAN Bus auf dem 
BeagleBone Black. Die Receiver-Schaltung befindet sich im Anhang. (Es 
wird der ISO1050 verwendet). An sich funktioniert der CAN Bus ganz gut. 
Probleme treten nur dann auf, wenn zwischen den einzelnen CAN Frames 
sehr geringe Verzögerungen eingehalten werden. Aktiviert wurde des CAN 
Device nach folgender Anleitung: 
http://www.embedded-things.com/bbb/enable-canbus-on-the-beaglebone-black/
Der Versuchsaufbau ist folgender:
Auf der einen Seite befindet sich ein AT90CAN128 Board, welches mit 
Hilfe der CAN-Library von Fabian Greif 
(http://www.kreatives-chaos.com/artikel/universelle-can-bibliothek) 
ununterbrochen CAN Frames versendet. Es werden immer 8 Frames in den 
Write-Buffer geschrieben, 1ms gewartet und dann wieder 8 Frames...
Bitrates bei der dieses Problem festgestellt werden konnte, waren 
50000KBit/s oder mehr.
Auf der anderen Seite befindet sich das BeagleBone Black welches die 
Daten entgegennehmen soll. Auf dem Beaglebone läuft ein Ubuntu Precise 
12.04 (http://www.armhf.com/index.php/boards/beaglebone-black/#precise). 
Sowohl am AT90 als auch beim BBB befinden sich Abschlusswiderstände mit 
120 Ohm. Ausgelesen werden die Frames mit dem Tool 'candump' vom project 
can-utils 
(https://gitorious.org/linux-can/can-utils/source/9c82d462f4251bf0f8292a969d6063e782c42d43:)
Das eigentliche Problem ist nun, dass sich das BeagleBone Black nach 
einer gewissen Zeit einfach aufhängt und dann nurnoch die Möglichkeit 
bleibt, es per ResetButton wieder neu zu starten. Auffällig ist, dass es 
sich nur aufhängt, wenn auch mit einer Software wie candump die Daten 
gelesen werden. Reproduzierbar ist der Fehler nicht wirklich, da es 
vorkommen kann, dass es 15min zu keinem Zwischenfall kommt und ein 
anderes Mal bereits nach 5 Sekunden. Falls irgendjemand eine Vermutung 
hätte, woran ein solches Verhalten liegen könnte, oder eine Idee, wie 
man weiter vorgehen kann um den Fehler genauer einzugrenzen, wäre ich 
sehr dankbar :)

Viele Grüße
L31N
Angehängte Dateien:
OP #3496656
Lesenswert?
• ▲
▼
Ich habe mein Problem inzwischen gelöst.
Es hat nicht am CAN oder an den Sockets gelegen,
sondern hatte den Ursprung darin, dass der Ausgabestream durch die 
Ausgabe aller empfangenen Frames schlichtweg überlastet wurde und sich 
das Linux deshalb hin und wieder einfach aufgehängt hat.

Vielen Dank dabei an dr_coolgood, aus dem Forum hier !

Grüße L31N

@moderator -- kann als gelöst markiert werden.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.