USB-CAN-Adapter für Raspberry Pi

  • Die Tiny-CAN API Library und das CAN Analyse Tool – Tiny-CAN View wurden erfolgreich an die Raspberry Pi Hardware angepasst, beides Open Source.
    Unterstützt werden alle Tiny-CAN Module, wobei bei den Modulen Tiny-CAN II-XL und IV-XL die Spannungsversorung über einen USB-Hub empfohlen wird.


    Tiny-CAN I-XL der Low-Cost USB-CAN Adapter, ohne galvanische Trennung. Wegen der geringen Stromaufnahme besonders gut für das Raspberry geeignet.
    [Blocked Image: http://www.mhs-elektronik.de/res/tiny_can1xl.jpg]


    Die CAN Interfaces der Firma MHS-Elektronik verwenden als USB-Controller einen FTDI Chip, der Treiber für diese Chips ist bereits im Linux Kernel enthalten, ein kompilieren des Kernels ist nicht notwendig. Die Datenübertragung zur Hardware erfolgt über eine virtuelle serielle Schnittstelle mit einem speziell entwickelten Binär Protokoll. Die Tiny-CAN API geht nicht den Umweg über das SocketCAN Interface, wodurch eine hohe Performance erreicht wird. Ein Vorteil von USB ist das "viele" Daten auf einmal übertragen werden ohne das der Prozessor noch etwas dazu tun mus (DMA), der größte nachteil des USB-Buses ist das Polling von 1 ms. Bei manchen Echtzeitanwendungen ein Aus für USB.
    Die API Lib erzeugt 3 Threads, einen für die Kommunikation zur Hardware, einen zweiten für die Kommunikation zur User-Applikation und noch einen um das an und abstecken der Hardware zu überwachen (Das "dev" Verzeichnis wird auf Veränderungen überwacht). Sollte die User Applikation nicht sofort auf eine Callback-Aufruf reagieren schreibt der Hauptthread empfangene Daten einfach ins Empfangsfifo und es kommt zu keinen Datenverlust.


    Der grafische CAN-Monitor – Tiny-CAN View auf dem Raspberry Pi Board. Das Open Source Programm ist in "C" programmiert und basiert auf der GTK+-Bibliothek.
      [Blocked Image: http://www.mhs-elektronik.de/res/can_view_raspberry.png]



    Mit der Tiny-CAN API können User in C/C++ oder Phyton kinderleicht eigene Applikationen erstellen.
    Die Tiny-CAN API und Tiny-CAN View sind im Paket bereits als Binaris enthalten. Zum kompilieren der API ist keine weitere Installation von Software auf dem Raspberry Board notwendig. Zum kompilieren von Tiny-CAN View muss noch „gtk+2.0-dev“ installiert werden.
    Die Software steht als Paket inklusive allen Sourcen zum Download bereit.
    http://www.mhs-elektronik.de/index.php?module=download&action=list


    PS: Ich freue mich über Rückmeldungen :)