foreword

ifThe current node has network management, the answer I gave is very clear, no! The reason why I want to write this topic is because in actual work, many engineers who are in contact with these two concepts are a little confused, so this article talks about these two concepts. Note that the discussion in this article is based on the premise that the nodes have network management.

Autosar EcuM

Autosar’s modules are very finely divided, and the division of labor is also very clear, which is why the software has layers, that is, layers. At the same time, it also makes the abstract module have better cross-platform portability.

Let’s talk about the EcuM module here. This article does not talk about the EcuM function, but why mention EcuM? EcuM is Ecu Manager, so we should be clear, EcuM is to manage Ecu. In Autosar, EcuM uses Phase, Mode, and State to represent the various states of Ecu. Each level has different internal and external visibility. The EcuM state diagram is as follows:

Can you see anything from the picture above? This is what we often say”

Node wakes up

To be more specific, the node wakes up when EcuM switches to Run Phase. If you want to wake up from the external evaluation node, it means that the peripheral function is powered and works normally, and you can see that the current in the power supply reaches the normal working current. But is the network awake at this time?

Autosar xxNM

Here xx refers to the bus type, CAN/Flexray/Ethernet, etc. This example takes CANNM as an example to discuss. Just mentioned that EcuM enters the RUN Phase phase, which is what we often call “node wake-up”, is it equivalent to network wake-up? At this point, we should all be clear that this is not the same thing. A wake-up on a node cannot be considered as a wake-on-LAN. And Autosar also gave us a very clear answer, otherwise why would CANNM be forked?

As shown in the figure above, is this answer clearer? CANNM and EcuM do not do the same thing, so they cannot be equivalent. As can be seen from the above figure, when the EcuM is powered on, the network needs to have additional conditions to switch from Bus Sleep Mode to Network Mode. Generally, one of the following two conditions is satisfied. The first is an active network request (CanNm_NetworkRequest()), and the second network There is a passive wakeup request (CanNm_PassiveStartup()). If there is no external request, the network will stay in the Bus Sleep Mode state all the time. If you use devices such as Canoe to monitor, you can see that the current node does not send any messages to the bus, but can only receive bus messages (when EcuM is in the RUN Phase phase ).

To sum up, it is a sufficient and necessary condition for the network to enter the Network Mode that the EcuM is in the RUN Phase. Instead, what we often say is:

Wake-on-node is a necessary and sufficient condition for Wake-on-LAN

Speaking of which, we should have a certain understanding of these two concepts. If the current node has network management and receives a network management message to wake up the network, then the bus must first have a frame message to wake up Ecu, and Ecu enters the RUN Phase stage , the received network management message can be sent to the upper-layer module (such as EcuM, BswM, ComM, NM, etc.), and then the upper-layer can decide to open the communication, and the message can be sent to the bus. If a non-network management message is received, the Ecu will wake up. It can also be understood that the Ecu is powered (the main program is scheduled periodically), because it is not an effective wake-up source, and then the Ecu goes through the power-off process. How long the Ecu keeps the Ecu awake after receiving the non-network management message depends on the system requirements.


Reviewing Editor: Liu Qing

Leave a Reply

Your email address will not be published.