User Tools

Site Tools


cbus:socketcan-de

SocketCAN

Einführung

Die RPI-CAN MCP251x Schnittstellen-Baugruppe benötigt einen Raspberry Pi 2/3.
SocketCAN ist nur verfügbar, wenn der Rocrail-Server auf dem selben Raspberry Pi läuft, der den RPi-MCP251x trägt.
Die Kommunication mit CBUS(CAN) ist direkt und binär; Keine bidirektionale Konvertierung im "MERG-Gridconnect-ASCII-Framing"1).
Die 12VDC-Stromversorgung für angeschlossene CANGC*-Baugruppen kann mit einem GCA-08 erfolgen. Siehe Anschluss-Kabel für mehr Information.


Dodumentation

RPI-CAN MCP251x Schnittstelle

Raspi Einstellung

config.txt

Folgende Datei als Super-User - sudo - mit einem Text-Editor eigener Wahl editieren:
/boot/config.txt

Die Kommentierung '#' von dieser Zeile entfernen:\\
//vor Änderung//
<code>
#dtparam=spi=on

nach Änderung

dtparam=spi=on

dtparam=spi=on ; add dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=25 dtoverlay=spi-bcm2835-overlay </code>

Neustart

sudo shutdown -r now

Schnittstellen

Folgende Datei als Super-User - sudo - mit einem Text-Editor eigener Wahl editieren:
/etc/network/interfaces
Die folgenden Zeilen am Ende der Datei hinzufügen: (Die Kommentar-Zeilen '#' sind optional.)

# CAN Interface
auto can0
iface can0 inet manual
        pre-up /sbin/ip link set $IFACE type can bitrate 125000 restart-ms 100
        up /sbin/ifconfig $IFACE up
        down /sbin/ifconfig $IFACE down

Prüfen

pi@keltenbahn:~ $ dmesg | egrep -i "can|spi" 
[    3.998382] CAN device driver interface
[    4.051102] mcp251x spi0.0 can0: MCP2515 successfully initialized.


Rocrail Einstellung


  • Sub-Bibliothek SocketCAN auswählen
  • Hostname(Gerätename) auf can0 (Wenn nicht gesetzt: "can0" wird verwendet.)

Gerätenamen prüfen

Gerätenamen mit dem Befehl ifconfig auf dem Raspberry Pi prüfen:

pi@keltenbahn:~ $ ifconfig
can0: flags=193<UP,RUNNING,NOARP>  mtu 16
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 10  (UNSPEC)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


Hardware

CANService

Als Alternative zum Betrieb von Rocrail auf dem Raspberry Pi, ist es auch möglich, den CANService zu verwenden.
Er verhält sich wie ein GC1e.

1)
Siehe Kapitel 10 im MERG- cbus-developer-6b-draft3.pdf
cbus/socketcan-de.txt · Last modified: 2019/01/11 00:32 by rainerk