Comparison of CANopen Development Solutions
When developing a CANopen node, engineering can choose between several options on how to get CANopen functionality into their system. The software handling the CANopen protocol could be developed from scratch or using a commercial source code package. Other options include the integration of CANopen hardware, such as the CANopenIA chips or modules. Another solution is using a CANopen binary that implements one or multiple CANopen device profiles for a specific microcontroller.
The following table compares the methods of developing the software from scratch with using CANopenIA solutions.
Development and Design Criteria | Do It Yourself Development | Use CANopenIA Solutions |
---|---|---|
one-time purchases | high (tools and possibly code) | low or none |
learning curve | in-depth knowledge required | only basic CANopen knowledge required |
hardware development | in-depth knowledge required | minimal |
software development | in-depth knowledge required | minimal or none |
CANopen features | high flexibility and customizability | configurable, customization through ESAcademy |
future change of physical layer | use of CAN-FD or Ethernet requires new HW design | possibly by exchange of chip or module |
real-time behaviour | must be ensured by custom application software | ensured by CANopenIA implementation |
security | must be ensured by custom application software | increased due to separation of CANopen software and application |
In summary a CANopen development using CANopen own or purchased source code should only be considered for high-volume applications where the large number of systems sold justifies the high start-up costs and long development cycles. In all other cases, CANopenIA offers drastically shortened development cycles and reduced one-time purchases.