In this article we will discuss about the NM(Network Management) interface and the CAN bus specific NM module which are a part of the Services layer of the AUTOSAR Layered Software Architecture.
Network Management Interface :
Network Management Interface is a module between the ComM and the Bus Specific NM module, in this article we will consider CANNM as the bus specific NM. NM interface has two functionalities,
Basic Functionality – is to act as an adaptation module between the Bus Specific NM module and the ComM module. The interfaces for communication between the NM interface and the ComM module are independent of the underlying Bus Specific module.
NM Coordinator – used by gateway ECU’s to synchronously shut down the communication buses. It uses an NM coordination algorithm to shutdown the buses on which an ECU is connected. An ECU using NM Coordinator functionality is referred as NM Coordinator.
Shutdown shall be coordinated on the network which is awake and not in ‘Bus-Sleep Mode’. Network which are in ‘Bus-Sleep mode’ shall only be monitored. As long as one bus in the coordination cluster (NM Cluster – Set of NM nodes coordinated with use of the NM algorithm) is awake the NM coordinator shall still keep the network alive.
When the coordination algorithm is started, a shutdown delay timer is started forthe currently active channels in the coordination network. When the Shutdown Delay timer expires, NM should release the NM network. When all networks have been released and all networks are in ‘bus-sleep mode’, the coordinated shutdown is completed.
CAN Network Management :
CANNM is to coordinate the transition between normal operation and bus-sleep mode of the network. It can also be used to detect all present nodes or all to detect whether all nodes are ready to sleep in the network.
CANNM for every ECU needs to performs activities self-sufficient depending on the Network management PDU’s only that are received or transmitted within the communication system.
The CANNM algorithm is based on periodic Network Management PDU’s, which are received by all nodes in the cluster via broadcast transmission. Reception of Network Management PDU’s indicates that sending nodes want to keep the network management cluster awake. If any node is ready to go to the Bus-Sleep Mode, it stops sending Network Management PDU’s, but as long as Network Management PDU’s from other nodes are received, it postpones transition to the Bus-Sleep Mode. Finally, if a dedicated timer elapses because no Network Management PDU’s are received anymore, every node initiates transition to the Bus-Sleep Mode.
If any node in the network management cluster requires bus-communication, it can wake-up the network management cluster from the Bus-Sleep Mode by transmitting Network Management PDU’s.
Concept of CANNM relies on:
- Network node in the NM cluster should periodically transmit NM messages till it needs access to the Bus otherwise it should not transmit any NM PDU.
- If bus communication in a CanNm cluster is released and there are no Network Management PDU’s on the bus for a configurable amount of time determined by CANNM_TIMEOUT_TIME + CANNM_WAIT_BUS_SLEEP_TIME (both configuration parameters) transition into the Bus-Sleep Mode shall be performed.
The different states in the CANNM State Machine:
Repeat Message State : Each ECU transmits its own NM message cyclically till a configurable timer expires.
Ready Sleep : ECU is ready to sleep, no NM message transmission, timeout timer is restarted when an NM message is received.
Normal : NM message transmission and restart of timeout timer on message transmission and reception.
Prepare Sleep : If the configured timer expires and no NM message has been transmitted or received .
Bus-Sleep : After a configured timer the network transitions to Bus-Sleep mode wherein no communication happens on the bus.