Kithara Real-Time CAN

Real-Time Automation with CAN under Windows

When using CAN communication, a safe and fast data exchange as well as a fast and immediate reaction to external events are demanded. At this point the usual Windows drivers fail, because they are only usable from within the execution context and do not support real-time. The CAN module closes this gap and makes a real-time CAN communication possible.

tl_files/kithara_software_gmbh/img/ixxat_pc-i_04_pci.jpgThe CAN Module of the »RealTime Suite« collection from the Berlin company Kithara Software gives developers of industrial applications the opportunity to use real-time CAN communication to the hardware. The function library is used by developers who require a time critical handling with CAN messages for example machine builder and computer control companies.

CAN messages can be sent and received through a simple and intuitive API. Sufficiently sized buffers for sending and receiving ensure loss-less transmission of CAN messages. Custom-made real-time message filters as well as exception-handling routines can be installed as well. The Listen-Only-Mode is also supported. For easy diagnosis Kithara upgraded the »Kernel Tracer« with the result that you can capture all CAN data streams in a resolution of microseconds. The programming languages C/C++ or Delphi can be used. Even the .NET environment using e.g. C# is supported. If the user wants real-time capabilities, a DLL programmed in native C++ can be embedded into C#.

For maximal flexibility when selecting applicable CAN cards there are real-time drivers for common CAN card families from multiple vendors, which allow hardware-neutral programming.

Description of the Kithara CAN Module

  • Realization of real-time on the basis of CAN fieldbus (CAN 2.0B protocol compatible)
  • Vendor-independent API for accessing the CAN hardware
  • Immediately sending and reaction to incoming mails possible
  • React instantly to error situations by using callback functions
  • No messages get lost because of sending and receiving buffer, even at high baud rates and high bus traffic
  • Create your own filter routines, which are executed directly at receive time on the kernel-level
  • "Listen-Only" mode is supported, which allows to realize analyzing solutions, where the CAN interface must be completely passive on the CAN bus
  • If the hardware is fitted with SJA1000 CAN controllers, the "Error Code Capture" register can be read—further information for error analyzation are provided

Characteristics of the CAN Module

  • CAN message transfer in real-time
  • Immediate transmitting without any time delay (if bus is free)
  • Instant reaction when receiving CAN messages
  • Sending and receiving also possible on the kernel-level
  • User-defined filter routines with kernel callback functions
  • Multiple modes for receiving of CAN messages: in a callback directly in interrupt context or on user-level, as well as polling for messages received so far
  • Transmit and receive functions can be used from real-time context
  • Operating systems: Windows 7, Vista, Server 2003, XP, 2000 and NT

 

 

CAN (Controller Area Network)

CAN is a multi-master serial bus system where each node can access the bus simultaneously. The decision if a node finally gets the real bus access for transmission is made whilst the nodes are already transmitting their messages. This system defined in ISO 11898 is real time capable and is using the two bottom layers of the ISO/OSI-Layer-Model. There is no direct addressing of nodes or endpoints in CAN networks in ordinary sense, but the messages are transmitted using a priority system based on the message contents itself. A sending node is transmitting theirs message to each CAN-node within the network whereas these nodes can decide to ignore it based on the identifier of the message. This identifier is also the essential part for the priority system.

The main criterias for the uses of CAN are:

  • low costs
  • reliable function, also with extreme environmental conditions
  • excellent real-time capability and good usability

Supported controllers

At present the CAN Module supports PCI-based cards with 1, 2 and 4 port/channels from PEAK, IXXAT, Kvaser , EMS Dr. Wünsche and esd (see hardware compability list). Gladly we support your used card.

 

Peak System

Peak System

  • PCAN-PCI single channel
  • PCAN-PCI dual channel
  • PCAN-PCI single channel opto-decoupled
  • PCAN-PCI dual channel opto-decoupled

PCAN-PCI Express

  • PCAN-PCI Express single channel
  • PCAN-PCI Express dual channel
  • PCAN-PCI Express single channel opto-decoupled
  • PCAN-PCI Express dual channel opto-decoupled

PCAN-miniPCI

  • PCAN-miniPCI single channel
  • PCAN-miniPCI dual channel
  • PCAN-miniPCI single channel opto-decoupled
  • PCAN-miniPCI dual channel opto-decoupled

PCAN-cPCI

  • PCAN-cPCI dual channel opto-decoupled
  • PCAN-cPCI four channel opto-decoupled
  • PCAN-USB
  • PCAN-USB opto-decoupled
  • PCAN-USB Hub

 

IXXAT

IXXAT

  • PC-I 04/PCI (dual channel)

 

EMS

EMS Thomas Wünsche

CPC-PCI, CPC-PCIe and CPC-104P

  • CAN-Einsteckkarte CPC-PCIe (single- and dual channel)
  • CAN-Einsteckkarte CPC-PCIe (single-, dual- and four channel) with a SJA1000

 

Kvaser

Kvaser Advanced CAN Solutions

PCIcan HS

PCIcanx HS

PCIEcan HS

 

ESD

esd - electronic system design CAN-PCI

CAN-PCI

  • CAN-PCI/200 opto-decoupled (single- and dual channel)
  • CAN-PCI/266 opto-decoupled (single- and dual channel)

CAN-PCIe

  • CAN-PCIe/200 opto-decoupled (single- and dual channel)
CAN-PCI-104
  • CAN-PCI-104/200 opto-decoupled (single- and dual channel)
CPCI-CAN
  • CPCI-CAN/200 opto-decoupled (single- and dual channel)
PMC-CAN
  • PMC-CAN/266 opto-decoupled (single- and dual channel)