Linux CAN Driver

can4linux / CANopen Driver
Produktfinder »
Linux CAN can4linux / CANopen Driver

Der Linux Geräte Treiber can4linux unterstützt eine Vielzahl von CAN Interfacekarten. Die AT-CAN-MINI Karte von port wird unterstützt. Der Sourcekode lässt sich auf Kerneln der Versionen 2.0, 2.2 2.4 und 2.6 übersetzen.

Von diesem Treiber existiert auch eine abgeleitete Version zum Einsatz auf Embedded Linux Geräten für unterschiedlichste Prozessoren mit integriertem CAN oder externem Stand-Alone CAN. Diese Version wird während der Kompilation auf die Zielhardware optimiert.

Übersicht

Der can4linux ist ein universeller Linux Gerätetreiber und dient zur Steuerung von CAN-Bus Interface Baugruppen. Die unter der GPL stehenden Sourcen unterstützen verschiedene CAN Controller (Philips SJA1000, Intel 82527, Infineon SAK82C900, Motorola FlexCAN, Infineon TwinCAN) und sind mit den Kernel-Versionen 2.4 bis 2.6 übersetzbar. (Ältere Versionen für kernel 2.0-2.2 auf Nachfrage)

Anwendung

Das can4linux Projekt wurde 1997 in Zusammenarbeit mit dem LINUX™ LLP Project zur Steuerung von Laborgeräten unter CAN entwickelt. Von diesem Treiber wurde die neue Versionslinie 2.x zum Einsatz auf Embedded LINUX™ Geräten abgeleitet. Hier wird der Treiber während der Kompilierung für die Zielhardware optimiert. Ursprünglich nur mit Support für SJA1000, wird die unterstützte CAN Controller Hardware Basis ständig erweitert. Neben dem Intel 82527 und dem Infineon TwinCAN entstand im Rahmen des uClinux Projektes eine Version für den Motorola FlexCAN Controller.

Treiber-Interface

Der Treiber selbst ist durch das Interface zum /proc-Dateisystem des Kernels in hohem Maße konfigurierbar. Die Steuerung des Gerätetreibers erfolgt über die Standard Geräteinterfacefunktionen open(), close(), read(), write() und ioctl().
Es können beliebig viele CAN Schnittstellen über die Gerätedateien /dev/can0 ... /dev/cann angesprochen werden. can4linux benutzt die Geräte major Nummer 91.

Hardware

Der Treiber unterstützt auch verschiedene ein- und zweikanalige Standard PC-Einsteckkarten mit ISA-, PCI- und PC-104-Interface:

  • port AT-CAN-MINI (PeliCAN mode 29bit)
  • EMS CPC-PCI
  • IXXAT PCI03 (only SJA1000)
  • Advantech Pcm-3680 (PC 104)
  • DIL-NET TRM/816
  • DigiTec PCMatic® Feldbusmodul FC-CAN
  • ESD PC104/200
  • Blackfin BF534/536

Ursprünglich war der Treiber nur für Intel basierende PCs verfügbar. Inzwischen wurden vielfältige Erfahrungen bei der Portierung des Treibers auf andere Plattformen, inklusive Embedded LINUX™, gesammelt. Eine der neu unterstützten Architekturen ist der Motorola PowerPC 863e mit zwei Intel 82527 CAN Controllern, oder die ARM CPU mit externem SJA1000 CAN Controller, der XC164CS mit dem TwinCAN Controller sowie auch der NetARM 150 mit seinen vier internen CAN Controllern.

Verfügbare Produkte

Der can4linux kann auch mit verschiedenen Produkten von port verwendet werden. Dazu stehen teilweise auch Demo-Versionen zum Download www.port.de/shop.html zur Verfügung.

Zum Senden und Anzeigen von CAN-Nachrichten steht die einfache Anwendung horch als CAN Layer-2 Server zur Verfügung. Sie kann interaktiv in einem xterm oder als TCP/IP Server gestartet werden. Dafür ist auch die grafische und programmierbare Analyzer-Anwendung CAN-REport verfügbar.

Für den Einsatz in CANopen Netzwerken steht die ANSI-C CAN- open Library für die Erstellung von eigenen Applikationen zur Verfügung. Basierend auf diesem Sourcecode ist der fertig übersetzte und konfigurierte CANopen Server m4d erhältlich, der ebenfalls interaktiv oder über die Bedienoberfläche des CANopen Device Monitor genutzt werden kann.

 

Systemanforderung

Der can4linux Gerätetreiber ist unter GPL frei verfügbar und kann für die Kernel-Versionen 2.0 bis 2.6 auf verschiedenen Hardwareplattformen übersetzt werden.

Bestellinformation

  • 0530/13    can4linux Device Driver

Datenblatt

Laden Sie das Datenblatt herunter.

Download Information

Overview

The can4linux Project started already in 1997 with version 0.1. Goal of the development was a generic CAN driver which can be configured at run-time for different CAN interfaces. Mainly used in desktop systems, the resulting overhead was accepted. The development was based on the Linux Device Driver Kit LDDK by Clausi Schröter from the Linux Lab Project.

This older universal Linux device driver can4linux supports Philips 82c200/SJA1000 and Intel 82527 based I/O interfaces. The AT-CAN-MINI is supported. The source code can be compiled for kernels 2.0., 2.2 and 2.4. This driver is no longer maintained. The last available version is 1.4.

Derived from this driver is the new can4linux version line 2.x and follow-up. The last available version is 3.3. The newer versions can be compiled for Linux and uClinux kernel 2.4 and later (including 2.6 at the moment.) Designed to be used in embedded applications (as well as still on the desktop) this version is configured at compile time for the right hardware. Originally with support only for SJA1000 there is now support fo Intels 82527 again available. Within the scope of the uClinux project a version supporting Freescales FlexCAN and Infineons TwinCAN and the Analog Devices BlackFin CAN was created.

Today the following CAN controllers are supported

  • NXP (Philips) SJA1000
  • Microchip MCP2515
  • Analog Devices BlackFin BF537
  • ATMEL AT91SAM9263
  • Freescale FlexCAN for Coldfire (5282)
  • Freescale FlexCAN for i.MX

can4linux is available as kernel 2.6 compatible driver for some of the supported hardware targets. Recently one custumer was succesful using it on the latest kernel 3.0. Please ask at service@port.de 

Download

can4linux is available for free. Latest versions are available for download on SourceForge Read the CHANGELOG to see the latest version.

The GPLed Sources V3.5.4 for kernel 2.6 and kernel 2.4 can be downloaded here (updated 18.06.2009). Future versions will not anymore have support for kernels 2.4.x.

Read the CHANGELOG or take a closer look into the manual.

Supported Boards

The drivers supports some ISA boards and some PCI boards:

  • BSKY PCM9890 PC104 board (SJA1000)
  • Advantech Pcm-3680 (PC 104)
  • ARCOM Single Channel Opto-Isolated CAN interface modules supporting the Philips SJA1000 Controller AIM104-CAN
  • only Version 2.x: port AT-CAN-MINI (alt: 11 bit basic CAN mode)
  • Analog Devices BF537 STAMP board
  • ATMEL AT91SAM9263-EK board (included in can4linux since V 3.5.3)
  • ATMEL AT91SAM9263 board with external Microchip MCP2515 (included in can4linux since V 3.5.3) TARGET=SSV_MCP2515
  • ATMEL AT91SAM9260 board with three external NXP SJA1000 (included in can4linux since V 3.5.3) TARGET=MMC_SJA1000
  • ATMEL AT91SAM9G45 board with external MCP2515 (included in can4linux since svn V59)
  • Contemporary Controls CANPCI-CO and CANPCI-DN (SJA1000)
  • DigiTec PCMatic® Feldbusmodul FC-CAN (SJA1000)
  • DIL-NET TRM/816
  • EMS CPC-PCIe, PCI-Express board with up to 2 galvanically decoupled CAN channels (NXP SJA1000)
  • EMS CPC-PCI, PCI board with up to 2 galvanically decoupled CAN channels (SJA1000)
  • EMS CPC-PCI V2, PCI board with up to 4 galvanically decoupled CAN channels (SJA1000)
  • EMS CPC-XT (Intel 82527)
  • EMS CPC-104, PC104 board with one galvanically decoupled CAN channel (SJA1000)
  • EMS CPC-104M, PC104 board with four galvanically decoupled CAN channels (SJA1000)
  • Freescale iMX35 PDK (included in can4linux since V 3.5.7)
  • JANZ AG PCI-L, PCI boards with SJA1000
  • I+ME ACTIA SlimLine
  • IGW900 (ColdFire FlexCAN)
  • IXXAT PCI03 (only SJA1000)
  • Ka-Ro TX25 Modul using i.MX25 on Starterkit-5
  • Kvaser PCIcan, PCI board with 4 galvanically decoupled CAN channels (SJA1000)
  • MPL VCMA9 Linux komplett Rechner mit ARM9 CPU Linux compact board with ARM9 CPU
  • port AT-CAN-MINI (PeliCAN mode 29bit)
  • RTD Embedded Technologies, Inc; ECAN1000 PC104 Board
  • In preparation: ESD PC104/200.

For all interested in CANopen a demo version of the CANopen Server m4d is available here. The m4d is bundled with our CANopen Device Monitor.

 

version info OS file
V3.5.4 for kernel 2.6 and kernel 2.4 updated 18.06.2009 fileadmin/user_upload/Dateien_IST_fuer_Migration/can4linux-3.5.4.tgz

Ähnliche Produkte

ANSI-C CANopen Library
ANSI-C CANopen Library
ANSI-C CANopen Treiberpakete
ANSI-C CANopen Trei...
CANopen Modules and Profiles
CANopen Modules and...
CANopen Bootloader
CANopen Bootloader
m4d – CANopen Gateway Server CiA 309-3
m4d – CANopen Gat...
CANopen Starter Kit
CANopen Starter Kit
youCAN
youCAN
Linux CAN can4linux / CANopen Driver
Linux CAN can4linux...
USB/CAN-Interface CPC-USB
USB/CAN-Interface C...
CPC-PCI/PCIe CAN Interface
CPC-PCI/PCIe CAN In...
PCI Intellican CAN Interface
PCI Intellican CAN...
Janz CAN-PCI Interface
Janz CAN-PCI Interface
IGW/900 - ist im Abkündigungsprozess
IGW/900 - ist im Ab...
EtherCAN
EtherCAN
CAN Analyzer CANREport
CAN Analyzer CANREport
CANobserver
CANobserver
CANwatch
CANwatch
Industrial Communication Creator - ICC (CANopen Design Tool)
Industrial Communic...
CANopen Device Monitor
CANopen Device Monitor
CANopen Configuration Manager
CANopen Configurati...
USB/CAN-Interface BASIC+ XS
USB/CAN-Interface B...
CANopen Master / Slave DLL
CANopen Master / Sl...
CANopen Evaluation Software
CANopen Evaluation...
Device Driver für VxWorks
Device Driver für...
Janz CAN-USB Interface
Janz CAN-USB Interface
Janz PC-Card Interface
Janz PC-Card Interface
Janz CAN-PC104 Interface
Janz CAN-PC104 Inte...
J1939 Protocol Stack
J1939 Protocol Stack
NetGen für SAE J1939
NetGen für SAE J1939
CANopen Mini Bootloader PAULUS
CANopen Mini Bootlo...
Treiber für Renesas RL Familie
Treiber für Renesa...
Gateway EtherCAN / EtherCANopen CI-ARM9
Gateway EtherCAN /...
USB/CAN Interface CPCUSB/embedded
USB/CAN Interface C...
CAN LWL Transceiver CTrans OL
CAN LWL Transceiver...
Janz CAN-USB Interface
Janz CAN-USB Interface
USB/CAN-Interface BASIC+ XS
USB/CAN-Interface B...
USB/CAN-Interface CPC-USB
USB/CAN-Interface C...
USB/CAN Interface CPCUSB/embedded
USB/CAN Interface C...