Network Management Interface
Learn how NM (Network Management Interface) coordinates ECU networks to sleep synchronously, abstracting the bus NM modules
Generic Network Management (or NM, as we know it) is an Autosar module situated in between Communication Manager (ComM) and the bus-specific network management modules, with the purpose of providing interoperability between multiple types of network management modules, such as FlexRay NM or CAN NM. Aside from this, it also provides support for legacy NM modules, namely, OSEK NM but also OEM-specific NM.
Some of its key features are:
-
Abstraction - Provide a bus-independent network management interface to the ComM, and connect with the underlying bus-specific NM. Therefore, the NM algorithm is bus-independent
-
NM coordinator - Optionally, NM can use a coordination algorithm to control the shutdown of NM on all nodes or specific subsets of the ECU network. This coordinator algorithm needs to be able to handle a topology where multiple coordinated buses are connected to a single NM coordinator. There can be multiple NM coordination clusters but each bus is only allowed to be part of one or to no coordination cluster, and the coordination is only present when the networks are awake. When a network is in bus-sleep mode, it can only be monitored, not coordinated.
There are 3 types of PNC (Partial Network Cluster) coordinators: top-level, which is an ECU that acts as a PNC gateway and handles at least one PNC as actively coordinated in all channels. Then, the intermediate PNC coordinator, that differs from the top-level PNC coordinator by handling at least one PNC as passively coordinated (meaning, it receives its indications from a top-level coordinator) on at least one assigned channel. Lastly, there is a subbordinated PNC node, which is an ECU without a PNC gateway and processes the PN (Partial Network) shutdown message as a regular NM message.
One functionality provided by the NM coordination is to keep the coordinated buses alive, as long as there is a node in the coordination bus not ready to go to sleep. So, if either a node on the coordination bus or the NM coordinator itself is not ready to sleep, the other nodes (even if they are ready to go to sleep) in the network and the network itself shall remain awake.
Another, is to handle the shutdown of the coordinated buses, as specified by the algortihm in the figure:
NM coordinated shutdown, as per Autosar specification
In the figure, we can see that when all networks and the coordinator are ready to go to sleep, each network gets assigned a timer and gets released when the timer expired. When all networks are asleep, then the bus is signaled to sleep, by the NM.
Lastly, the NM coordinator also supports the coordination of nested buses, by building a coordination hierarchy. In it, the NM coordinator on top initiates the coordinated shutdown for all other coordinators. All the other nested coordinators will receive this indication from its passively configured channels and provide the information along via its actively coordinated channels.
-
Synchronized PNC (Partial Network Cluster) shutdown - Cooperation between ComM, NM and the bus-specific NM in order to shutdown the PNC around the same point in time throughout the whole PN, in a synchronized manner. The synchronized PNC shutdown is handled by ECUs with the role of top-level and intermediate PNC coordinators, where the PNC gateway is enabled. It starts when the ComM of a top-level PNC coordinator detects that a PNC is released, then requesting a PNC shutdown to NM, which forwards the request to the bus-specific NM. An intermediate PNC coordinator will process the message on a bus-specific NM and indicate the PN shutdown, to then forward the indication to the ComM, which will request a synchronized PNC shutdown. Lastly, when a subordinated PNC node receives the top-level PNC coordinator frame, it will handle it the same way as a NM message, by updating the local PN info and reset the PN reset time.
-
Wakeup and abort the coordinated shutdown - Although the NM is not responsible for the normal wakeup of a node or ECU network (this is handled by the ComM), it will still forward the wakeup indications from the bus-specific networks to the ComM, which then decides to wakeup the network back to the NM. This is known as external network wakeup. The NM can also take part in a coordinated wakeup, as the ComM can start all networks of a NM coordination cluster based on the wakeup indication of a single network.
Lastly, if NM coordination is active and the coordinated shutdown has started on a NM coordination cluster, it usually takes some time before each bus is actually released. Depending on the timing, race conditions can occur and one node can change state and start requesting the network before the process is completed. In this case, NM aborts the network shutdown and start requesting the networks again. Although, all networks that have gone into the bus-sleep mode can only be restarted by the ComM, just like in the external network wakeup.
With this small overview of NM, we hope you now understand better the exchanges within your ECU networks and where the NM comes in on the network wakeup and sleep process!
Author: Micael Coutinho (opens in a new tab)
References:
© AutosarToday —@LinkedIn