Vlado Dimitrieski (2010) Implementation of a CANopen node in an embedded system. EngD thesis.
The use of the CAN and CANopen protocols is very common in embedded systems today, since they were designed to work in real time systems where high reliability is imperative. The CAN protocol is serial, robust, fast and very reliably network technology, used for interconnection of microcontrollers. As a result of the above, the CAN protocol is typically used in automobile industry. Lately we are witnesses of the expansion in the use of CAN in myriad embedded systems. The CANopen protocol on the other hand, alleviates the communication in more complex networks, where the necessity of more complex paradigms of communication, with respect to higher level of security, is inevitable. Moreover, with the introduction of its standardized device profiles, CANopen circumvents the vendor dependency of similar devices. The typical CANopen node consists of adequate hardware equipment running the suitable software on top of it. The CANopen node, using a micro-controller, a CAN transceiver and proper drivers for the hardware, has to guarantee faultless communication over the CAN network. The presented work provides the fundamentals of CAN and CANopen protocols, needed when developing a new CANopen node. Followed by the introduction of the open source framework CanFestival, the reader is provided with enough tools for development of a new node. Next we present the modern embedded platform LUX, its hardware components and all the necessary settings of the software(the Linux operating system and the SocketCan drivers), with one goal in our minds, integration of all the components in one flawless system. At the end follows a thorough presentation of the developed node, which replaces a commercial CANopen master node. That itself is a sufficient proof that a minimal set of CANopen functionalities were successfully implemented in an actual system with applications in the real world.
Actions (login required)