User Tools

Site Tools


cbus:socketcan-de

Differences

This shows you the differences between two versions of the page.


cbus:socketcan-de [2024/04/10 00:40] (current) – created - external edit 127.0.0.1
Line 1: Line 1:
 +====== SocketCAN ======
 +[[:german|{{ :rocrail-logo-35.png}}]]
 +[[:cbus:overview-de|{{ icons:uk.png}}]][[:cbus:overview-de|{{ icons:de.png}}]]
 +[[:german|Inhalt]] -> [[:hardware-de|Hardware]] -> [[:hardware-de#gca-cbus|CANBUS]]
 +  * [[:cbus:overview-de|CAN-GC-Übersicht]]
 +  * [[:cbus:overview-de#bus-abschluss|CAN-Bus-Abschluss]]
 +
 + \\
 +
 +//[[https://de.wikipedia.org/wiki/SocketCAN|"SocketCAN ist eine Sammlung von CAN-Treibern und einer Netzwerkschicht, beigestellt von der Konzernforschung der Volkswagen AG zum Linux-Kernel."]]// \\
 +
 + \\
 +=====Einführung=====
 +Die __**[[:rocnet:pi01can-de|Pi01CAN]]**__ MCP251x Schnittstellen-Baugruppe benötigt einen Raspberry Pi 2/3/4 mit [[https://www.raspberrypi.org/downloads/|PiOS 32bit oder 64bit]]. **((https://www.raspberrypi.org/forums/viewtopic.php?f=117&t=275370))**\\
 +SocketCAN ist nur verfügbar, wenn der Rocrail-Server auf demselben Raspberry Pi mit dem PiCAN läuft.\\
 +Die Kommunication mit RCAN**((Unterstützt auch CBUS))** ist direkt und binär; Keine bidirektionale Konvertierung im //"MERG-Gridconnect-ASCII-Framing"//((**Siehe Kapitel 10 im MERG- {{:cbus:cbus-developer-6b-draft3.pdf}}**)).\\
 +Die 12VDC-Stromversorgung für angeschlossene CANGC*-Baugruppen kann mit einem __**[[:gca08-de|GCA-08]]**__ erfolgen. Siehe __**[[:cbus:overview-de#anschluss-kabel|Anschluss-Kabel]]**__ für mehr Information.\\ 
 + 
 + \\
 +
 +=====Documentation=====
 +  * https://en.wikipedia.org/wiki/SocketCAN (EN; etwas detaillierter als die DE-Seite)
 +  * https://de.wikipedia.org/wiki/SocketCAN (DE)
 +
 + \\
 +
 +===== Pi01CAN-Schnittstelle =====
 +  * __**[[:rocnet:pi01can-de|Pi01CAN]]**__
 +
 +[[https://wiki.rocrail.net/doku.php?id=rocnet:pi01can-de|{{rocnet:pi01can.jpg?400}}]]\\
 +//Die I2C-Bauteile können entfallen, falls der RocNet-Anschluss nicht benötigt wird. (Einfach eine Bemerkung schreiben, wenn bei GCA bestellt wird.)//\\
 + \\
 +
 +=====Raspi Einstellung===== 
 +
 +====config.txt====
 +Folgende Datei als Super-User - sudo - mit einem Text-Editor eigener Wahl editieren:\\
 +**/boot/config.txt**
 +<code>
 +Die Kommentierung '#' von dieser Zeile entfernen:\\
 +//vor Änderung//
 +<code>
 +#dtparam=spi=on
 +</code>
 +//nach Änderung//
 +<code>
 +dtparam=spi=on
 +</code>
 +<code>
 +dtparam=spi=on
 +; add
 +dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=25
 +dtoverlay=spi-bcm2835-overlay
 +</code>
 +====Neustart====
 +<code>
 +sudo shutdown -r now
 +</code>
 +====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.)
 +<code>
 +# 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
 +</code>
 +
 +:!: **Hinweis:** Bei neueren PiOS-Versionen eine Datei mit dem Namen **''/etc/network/interfaces.d/can0''** mit dem Inhalt von oben hinzufügen.\\
 +
 +====Prüfen====
 +<code>
 +dmesg | egrep -i "can|spi" 
 +[    3.998382] CAN device driver interface
 +[    4.051102] mcp251x spi0.0 can0: MCP2515 successfully initialized.
 +</code>
 + \\
 +
 +===== Rocrail Einstellung =====
 +{{:cbus:rcan-setup-en.png}}\\
 +  * 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:
 +<code>
 +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
 +</code>
 +
 + \\
 +===== CANService =====
 +Alternativ zum Betrieb von Rocrail auf dem Raspberry Pi ist es auch möglich, den __**[[:mbus:canservice-de|CANService]]**__ zu verwenden.\\
 +Er verhält sich wie ein GC1e.\\
 + \\
 +===== Alternative CAN-Platine =====
 +Dieses kostengünstige //[[https://www.az-delivery.de/en/products/mcp2515-can-bus-modul|AZDelivery MCP2515 CAN Bus Shield]]// kann als Alternative verwendet werden, wenn nur CAN benötigt wird:\\
 +{{:cbus:mcp2515_can_bus_modul_pinout.jpg?400}}\\
 +Das Raspberry __[[#raspi_setup|Software Setup]]__ ist gleich, wie beim Pi01-CAN, außer für den Oszillator:
 +<code>
 +oscillator=8000000
 +</code>
 +Auf der Platine überprüfen, welche Frequenz auf dem Quarz aufgedruckt ist:\\
 +{{:cbus:azdelivery-canshield.jpg?200}}\\
 +Dieses Beispiel zeigt 8000 kHz -> 8000000 Hz\\
 +Für CAN-Geschwindigkeiten über 125 kHz wird empfohlen, diesen Quarz durch einen [[https://www.reichelt.de/standardquarz-grundton-16-mhz-iqd-lfxtal003240-p245409.html?search=16+mhz|16MHz-Typ]] zu ersetzen. (oscillator=16000000)\\
 +\\
 +|< >|
 +|  Verdrahtung  ||||
 +^ Shield ^ Rpi ^ Rpi Stif-Nummer(n) ^ Bemerkung ^
 +| VCC | 5V |  2, 4  | mit 3,3 V kann es empgange, kann aber keine CAN-Pakete senden. |
 +| GND | Masse (Ground) |  6, 9, 20, 25, 30, 34, 39  |
 +| CS | GPIO 8 (CE0) |  24  |
 +| SO | GPIO 9 (MISO) |  21  |
 +| SI | GPIO 10 (MOSI) |  19  |
 +| SCK | GPIO 11 (SCLK) |  23  |
 +| INT | GPIO 25 |  22  |
 +
 +**Hinweis:**
 +  * Diese Platine ist __nicht isoliert__. (ISO1050)
 +  * Am Schraubanschluss fehlt eine Masseanschluss und es wird __dringend empfohlen, die Masse des CAN-Kabels mit dem GND-Stift dieser Platine zu verbinden__, um statische Spannungen zu vermeiden, die die Elektronik zerstören können.
 +
 +
  
cbus/socketcan-de.txt · Last modified: 2024/04/10 00:40 by 127.0.0.1