CAN/CANopen Overview

CAN/CANopen Technology CANopen has been the standard for open CAN based networks for nearly twenty years by now. It started as bus system for manufacturing cells in the automation and is now used in many different CANopen based systems as medical applications, lifts, mobile construction machinery, maritime applications, automation of laboratories and many others. The…

CAN/CANopen Technology

CANopen has been the standard for open CAN based networks for nearly twenty years by now. It started as bus system for manufacturing cells in the automation and is now used in many different CANopen based systems as medical applications, lifts, mobile construction machinery, maritime applications, automation of laboratories and many others. The most recent field of application is the networking of components in pedelecs or Light Electric Vehicles (LEV). Although the standard is meant for a broader field the CiA profile is called „Energy Management Systems“. It covers not only mobile but also stationary installations that have to manage energy resources for several power consumers.

All this shows that the CANopen technology is fully developed. To apply CANopen is in most cases possible without any risks as long as requirements for the bandwidth are fulfilled.

And the experts?

There are meanwhile more than 50 standards available for the application of CANopen. But you are not left alone in this number of standards. You don’t need to read all those approximately 10,000 pages of specifications. And also understand them. There are a number of experts and service providers available for this.The staff of emotas embedded communication GmbH have been involved into the specification of CANopen from the beginning. That is why they do have a deep knowledge about the CANopen profiles and know why they are defined the way they are and how to use them. You can profit from emotas’ know how and experience.

We divided our knowledge and made two business fields of it: software products and consulting. We are proud of the completeness of our range of products. We do not only offer a comprehensive CANopen protocol stack but also the tools needed to develop your products fast and easily. The CANopen DeviceDesigner as one of these tools, allows to create object dictionaries by use of databases.

Whatever you are planning with CANopen – emotas will assist you with design, development and implementation.

Features of the CANopen Stack

The emotas CANopen Stack includes all basic services that are required for a NMT Slave or Master according to CiA 301. In addition several extension modules for special communication services are available, e.g. for Safety or Redundancy. The CANopen Device Designer provides support for CiA device profiles. The broad conformity to MISRA-C is another important feature that is offered by very few stack providers.

And hardware?

CANopen Stack and Frameworks for EnergyBus are written independent of hardware and so are applicable with different micro controllers and CAN controllers. A driver is needed for the use with a real micro controller. These drivers fulfill the high demands for data throughput and safety. They are much more than the code that is usually offered in the Application Notes of chip manufacturers.

Following chip manufacturers and their families are supported at the moment:

Manufacturer Types
AMD x86 Architecture
BOSCH C_CAN
Freescale msCAN12
Fujitsu FM3 (ARM Coortex-M3
Infineon XMC4000 (ARM Cortex-M4, MultiCAN), XMC1400 (Cortex-M0)
Intel x86 Architecture
NXP LPC11xx
ST Microelectronics STM32 (ARM Cortex-M3, Cortex-M4, bxCAN)
Texas Instruments TMS320, C2000 (DSP), ARM Stellaris LM4F, TMS570 (Hercules), Tiva TM4C129

The table only lists the families. All providers offer within each family a large number of “family members” that differ in periphery, maximum clock rate or size of housing. In consequence the number of pins and pin assignment also differ.

Experienced developers that have often worked with controllers and IDE can do such adoptions in relatively short time. For others or in case there are no resources available, emotas can do the adaption to the micro controller. Telling emotas the exact manufacturer type and order number is the only important task for a smooth integration.

Of course, we don’t support every CAN controller. That is impossible. There are too many. CAN Wiki lists at the moment 29 providers of micro controllers and stand alone CAN controllers. The most common are listed here once again: Analog Devices, Bosch, Freescale, Fujitsu, Infineon, Intel, Microchip, NEC, NXP, Renesas, SiLabs, ST Microelectronics, Texas Instruments, Toshiba, Xilinx

Each of these manufacturers offers several families. That leads to round about 50 different CAN controller implementations on the market.

Your CAN controller is not yet supported?

„We can do it“ is the pointed sentence of our expert for drivers, Steffen Rose. An adaption of CANopen software to not yet supported processors is realized by our experts within some days up to some weeks on the basis of a generic driver. Precondition is the good documentation of all registers and behavior. For further information click on: Service .

Operating Systems

Even „simple“ embedded applications are getting more complex. It is not always the integrated web server, but often enough. Then an operating system is needed with the further libraries or protocol stacks. Some operating systems are well established in the embedded field. They are divided into two groups. The „high end“ group includes fully equipped OS and the embedded group those with only low need of resources. Windows and Linux belong to the first group, followed by QNX and VxWorks. FreeRTOS, uc/OS as small ones freely available. CMX and embOS represent small footprint commercial software. Also operating systems that are by the manufacturers only allowed to be used on their processors royalty free belong to the second group. These are for example Freescales MQX and Texas Instruments DSPBIOS. Because of being scalable and license free Linux established in the embedded field. Many chip manaufacturers like ST Microelctronics, Atmel, Texas Instruments or Freescale maintain a Linux version by there own. CAN driver for can4linux and SocketCAN are available in most cases.

The CANopen Stack is also designed for use with operating systems. When you are planning to use the CANopen Stack with an OS: Feel free to contact us.

What can you do in all other cases?

Emotas will help you then. All those who know the company also know that we will not leave you alone. To be fast and unproblematic is our credo. There is a wide range of help. From support by phone up to joint trouble shooting or implementation on site.

before it comes so far

Before urgent help is needed that is time and cost intensive what about having us as a partner for your project from the beginning? Our very good knowledge of CANopen, that we got through our work on CiA standards and numerous customer projects, makes us the ideal partner during the development of a project, for creating the requirements specification and all following tasks. In case CANopen know how is needed in your company, we also offer tailored In-house seminars. Detailed with hands-on exercises on our tools for the development of application are included.

Overview of the CAN controller by manufacturer and family (incomplete)

  • Altera
    • FPGA IP
  • Analog Devices
    • BlackFin ADSP-BF60x
  • Atmel
    • AT90CAN,
    • SAM3A
    • SAM4E
    • SAMA5
    • SAM7X
    • AT91SAM9x
  • Bosch
    • FPGA IP: C_CAN, D_CAN. M_CAN
    • Stand Alone CC750, CC770
  • Freescale
    • Coldfire MCF
    • i.MX (FlexCAN)
    • HCS12 (msCAN)
    • Kinetis
    • MPC5200
    • Qorivva
    • Vybrid
    • DSP: MC56F8323, DSP56F807, MC56F8037, …
  • Fujitsu
    • MB9BF506A, MB9B520M, MB9A420L/120L, FM3, FM4, FCR4, MB90
  • Hilscher
    • netX
  • HMS
    • Anybus NP40
  • Hynix
    • HMS30C/202
  • Inicore
    • FPGA IP iniCAN
  • Infineon
    • MultiCAN (XMC4000, XMC1400, TriCore)
    • TwinCAN (C167, XC166, XE166)
    • Stand Alone 82C900, 81C90
  • Intel
    • EG20T
    • Stand Alone 82527
  • Microchip
    • PIC16, PIC18, PIC24, PIC32
    • dsPIC33,
    • Stand Alone MCP2515
  • Micronas
    • CDC 32xxG
  • NEC
    • V850, 78K0
  • nuvoton
    • NUC130, NUC140
  • NXP
    • LPC11xx
    • LPC23xx, LPC24xx
    • LPC40xx
    • Stand Alone SJA1000 (82C200)
    • OKITMP86C
    • Stand Alone ML9620
  • Renesas
    • RL78
    • RX600
    • R-Car
    • R-IN32
    • RZ
  • Samsung
    • S3FMA2G
    • Scaleo
    • easyCAN4-F1M-32
  • SiLabs
    • C8051
  • ST Microelectronics
    • ST10
    • STM32F1, STM32,F2, STM32F4, STM32F0
    • SPEAr
    • SPC56, SPC57
  • TI Texas Instruments (Luminary)
    • AM335x
    • Hercules RM42, RM46
    • LM3S
    • LM4F
    • Tiva C
    • Concerto F28M3x
    • TMS320F2812, TMS320F2808, TMS320F283xx (C2000)
    • TMS470
  • Toshiba
    • TMP86
    • TMP92
    • TX4961
  • XILINX
    • FPGA IP xcan
    • Zynq, xcanps