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.
 
										