Kvaser CANopen Stack
Product code: Kvaser CANopen stack
The Kvaser CANopen stack is a user friendly API designed for high performance CANopen networks.
Kvaser CANopen stack is very memory efficient. The stack is equipped with predefined compile parameters that offers the possibility to ignore support for unused CANopen optional functionality for the specific CANopen node to save even more memory if necessary to suit the wide range of needed complexity of an CANopen protocol implementations that you may have. Within the code, related blocks of functionality are grouped together in easily maintainable modules.
- CANopen CiA-301 Compliant, version 4.2.0
- Runs on any system, from 8 to 64bits, big or little endian
- Fully configurable for small footprint or more features
Kvaser CANopen stack supports CANopen node functions:
- NMT protocols (start, stop, reset, enter pre-operational, enter
- operational, reset communication)
- Both node guarding and heartbeat protocol
- Synchronization Object (SYNC)
- Synchronous Window Length
- Time Stamp Object (TIME)
- Emergency Object (EMCY)
- SDO Client/Server (expedited transfers and segmented transfers,
- configurable message buffers and unlimited number of active SDOs)
- PDO: Syncronous and asynchronous, event and timer driver, RTR.
- Supports the maximum of 512 TPDO and 512 RPDO
- PDO inhibit time
- RPDO Timout monitoring
- Dynamic PDO mapping
- A Local Object dictionary
- Store/Restore parameters
- LSS (Layer Setting Services)
Kvaser CANopen stack support CANopen master functions:
- NMT Master (module control service, reset node service, error
- control service, node guarding service, life guard event, heart beat event,
- boot up services)
- Bootup according to DS-302
- Heartbeat Consumer
- Nodeguarding Master
- SDO Client (expedited and segmented transfer)
- SYNC Master
Communication between the CANopen Slave/Master and the application process takes place through easy-to-use and CPU-time efficient application communication functions described in the KVASER CANopen API documentation.
Kvaser CANopen code stack is portable code that can run on any 8, 16, 32 or 64bit MCU as long as it has a standard compliant C compiler, a timer and a CAN driver. There is a standard API for integrating the stack with your CAN driver, timer and application.
Fully Standard Compliant
The Kvaser CANopen Stack has been used to make CANopen nodes that have passed the official CiA conformance test and received official CANopen certification from CAN in Automation (CiA). The following standards are supported.
- CiA-301 v 4.2.0 All mandatory and most optional features
- CiA-302 NMT Master Boot
- CiA-305 Layer Setting Services (LSS)
- CiA-401 Joystick example code included
The Kvaser CANopen stack has been successfully used in projects on 8 bit platforms, like the PIC18F67K22, on 16 bit systems, like the Renesas M16C, on µC/OS, on embedded Linux, with socketCAN, on Android, in a Qt environment, on Windows 7 and XP, in both 32bit and 64bit configurations.
The Kvaser CANopen stack is successfully used in tiny bare-metal systems with no operating system. It is also used with Real-Time Operating Systems (RTOS) and with desktop opearating systems, like Windows.
The Kvaser CANopen stack is used in trains, cranes, measuring equipment, radio remote controls, battery management, simulations, PDA tools, network masters, with Wifi and more.
TKE also provides design and development services in case you want to outsource all or part of your CANopen project. TKE can help you with:
- Create Hardware Abstraction Layer (HAL) for your hardware
- Design the object dictionary for your application
- Design of Device Profile (CiA401, CiA406, CiA410 etc) support for your CANopen node
- Pre-compliance testing of your CANopen node to pass CiA-301 conformance test
- Performance, device profile, hardware and compativility review and testing of your CANopen node.
- Complete CANopen support for your node
The stack is delivered in source code format with support for the Kvaser CANlib on a Windows PC.