Network management (NMT)
All CANopen devices must support the CANopen network management (NMT) slave state machine. The NMT state machine defines the communication behavior of a CANopen device. The CANopen NMT state machine consists of an Initialization state, a Pre-operational state, an Operational state, and a Stopped state. After power-on or reset, the device enters the Initialization state.
After the device initialization is finished, the device automatically transits to Pre-operational state and indicates this transition by sending the boot-up message. This way the device indicates that it is ready to work. A device that stays in Pre-operational state can start to transmit SYNC-, Time Stamp- or Heartbeat messages if these services are supported and configured in the right way. In contrast to PDO communication that has to be disabled in this state, the device can communicate via SDO. PDO communication is only possible in the Operational state. During Operational state, the device can use all supported communication objects. A device that was switched to the Stopped state only reacts to received NMT commands. In addition, the device indicates the current NMT state by supporting the error control protocol during Stopped state.
The Initialization state covers the three substates Initialising, Reset Application, and Reset Communication. During Initialising, the device starts up and initializes its internal parameters. The two substates Reset Application and Communication were introduced to enable partial reset commands. During Reset Application all parameters in the object dictionary range from 2000h to 9FFFh are set to the power-on or default values. After setting the power-on values, the NMT substate Reset Communication is entered autonomously. During the Reset Communication substate, the parameters of the communication profile (Index range 1xxxh) are set to their power-on/default values. After this state, the Initialization state is left.
The NMT protocol is transmitted by the active NMT master in a CANopen network. The reception of the NMT protocol forces the CANopen device to transit to the commanded NMT state. The NMT protocol comes in a single CAN frame with a data length of 2 byte. The first byte contains the command specifier and the second contains the Node-ID of the device that has to perform the command (if this value is equal to 0, all nodes have to perform the commanded state transition). The NMT protocol comes with the CAN-Identifier 0, the highest prior CAN-ID in a CAN-based system.