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.
The 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
|
|
|
IXXAT
|
|
|
EMS Thomas Wünsche
|
|
|
Kvaser Advanced CAN Solutions PCIcan HS
PCIcanx HS
PCIEcan HS
|
|
|
esd - electronic system design CAN-PCI CAN-PCI
CAN-PCIe
CAN-PCI-104
CPCI-CAN
PMC-CAN
|


