emtas CANopen FD stack
Software package for the development of CiA1301 CANopen FD-devices
The stack is developed in ANSI-C and it is MISRA-conform. CANopen FD compliant devices can be quickly and easily developed or extended with our CANopen FD Software Stack.
- ANSI-C compatible CANopen FD source code stack
- Supports all CANopen services of CiA1301
- Layer Setting Service (LSS) included
- Extensions for further standards available
- Available for many CAN FD-controllers and CPU types
- Comfortable user interface
- Widely configurable and scalable
CANopen FD is the successor of CANopen and it is specified in the CiA specification 1301, which has been released in September 2017. CANopen FD maintains the basic principles of CANopen, but the services are adopted to make full use of the CAN FD messages, that may now have a length of up to 64 bytes. Additionally, the SDO service as been replaced by the more powerful USDO service which also supports broadcast and routing through multiple CANopen FD networks.
A flexible user interface provides functions to evaluate the received data and to use the CANopen FD services in the network.
A flexible user interface provides functions to evaluate the received data and to use the CANopen FD services in the network. To connect the CANopen FD Stack to multiple CAN controllers and CPU types, a well-defined driver interface is used. Using this driver interface the CANopen FD stack can also easily be adapted to new CAN controllers or CPU types. Also it is possible to substitute hardware platforms with only little effort.
The CANopen Slave Stack can be used with various Realtime Operating Systems such as ThreadX, FreeRTOS, Keil RTX oder TI-RTOS ,and as well with Linux (SocketCAN, can4linux) or QNX and also with Real time extensions for Windows.
Besides the function API there is also an Mailbox API available for an easy use with multiple tasks resp. threads. Messages between application modules and CANopen FD stack are send via mailboxes instead of function calls. This secures a non-blocking communication. An application may consist of several tasks that use the CANopen Stack in parallel.
To save resources the CANopen FD Stack is widely configurable and scalable. The settings for these features are supported by the graphical configuration tool, CANopen DeviceDesigner, which also allows the creation of the object directory and EDS file using a built-in database. As a consequence, changes can be realized fast and easy.
Using the unique CANopen DeviceDesigner valuable development time is saved.
Easy start up
Many ready-to-run examples are provided to make the start with the CANopen FD stack as easy as possible. Additionally a user manual, which describes principles and use cases and a reference manual, which describes each API function in detail belongs to the scope of delivery. The stack is constantly tested with the CANopen Conformance Test for compliance with the specification.
Supported processors and IDEs
For this CANopen FD Stack, target hardware with CAN FD controller is required. The CANopen FD Stack can be used with for example compilers or IDEs of GCC / GNU, Keil, IAR, Crossworks, Atollic True Studio, Tasking and the specific development environments of the various chip manufacturers.
Ask for the specific possibilities of a specific controller / IDE combination.
The CANopen FD Stack is delivered as source code in the form of a one-time Project or Site License. The distinction between them is as follows:
- Project license
The software (source code) may be used at one defined development location for one defined project. The default support period is 6 months.
- Site license
The software (source code) may be used on one development site / location, by various developers at this location, for an unlimited number of products. The standard support period is 24 months.
There are no run-time fees or royalties on the generated object code.
|Contents of delivery|
|- Source code in C|
|- Example code in C|
|- Software user license|
|- Programming manual|
|- CANopen DeviceDesigner (named-user license)|
|- Technical support (time limited)|