Network management (NMT)

All CANopen CC devices must support the CANopen CC network management (NMT) state machine. The NMT state machine defines the communication behavior of a CANopen CC device. The CANopen NMT state machine consists of the NMT initialization state, NMT pre-operational state, NMT operational state, and NMT stopped state. After power-on or reset, the device enters the NMT initialization state.

After the device initialization is finished, the device automatically transits to the NMT 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 the NMT pre-operational state can start to transmit SYNC (synchronization), time stamp, or heartbeat messages if these services are supported and configured in the right way. In contrast to PDO (process data object) communication that has to be disabled in this state, the device can communicate via SDO (service data object). PDO communication is only possible in the NMT operational state. During the NMT operational state, the device can use all supported communication objects. A device that was switched to the NMT stopped state only reacts to received NMT commands. In addition, the device indicates the current NMT state by supporting the error control protocol during the NMT stopped state. 

NMT initilization state

The NMT 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 reset 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 or default values. After this state, the NMT initialization state is left.

NMT protocol

The NMT protocol is transmitted by the active NMT manager 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-ID 0, the highest prior CAN identifier in a CAN-based system.