Autosar网络管理:网络问题QA 世界实时
发布时间:2023-06-21 15:32:52
来源:个人图书馆-新用户3849ayns
【资料图】
Q1:CanNmImmediateRestartEnabled使能,NM PDU的外发行为?
A1:先说CanNmImmediateRestartEnabled的作用,在PBSM(Prepare-Bus-Sleep mode)模式下,收到总线的通信请求(比如:KL15硬线唤醒),使能NM-PDU的发送,即:进入RMS状态。NM-PDU的发送行为如下所示:上图可以看出,进入RMS模式以后,以正常的发送周期发送NM-PDU。对于此问题,Autosar要求:“CanNmImmediateRestartEnabled = true then CanNmImmediateNmTransmissions = 0”,意思是说,使能CanNmImmediateRestartEnabled,就没有快发模式;“CanNmPnHandleMultipleNetworkRequests == True" then "CanNmImmediateNmTransmissions > 0”,意思是说,使能PN功能以后,需要快发模式。可以看出,上述两点在实现时,只能使能其中一个。Q2:NM-Timeout何时重置?
A2:不讨论PN功能时。当节点收到/发送NM-PDU时,NM-Timeout重置,假设,某CAN网段内存在三个节点:ECU1、ECU2、ECU3,各个节点的NM-Timeout重置时机和网络状态如下所示:提示:NO(Normal Operation)、RS(Ready Sleep)、PBSM(Prepare-Bus-Sleep mode)。黑色实心表示发送NM-PDU,黑色空心表示接收NM-PDU。
上图可以看出:每个节点释放网络的时机不确定,每个节点的网络释放时机,取决于节点的上层实现。注意,不是进入RS状态重置NM-Timeout。节点释放网络的时候,NM-Timeout继续递减,不会重置。当网段内没有节点发送网络管理报文,且NM-Timeout走完,所有节点一起进入PBSM模式。
Q3:如何理解CAN通信的串行通信?
A3:串行通信,就是用一个Pin发送/接收Bit位流信息。如下图:对于发送节点(uC1),通过Controller的Tx Pin发送Bit位流信息,即:uC1发送报文。同时,uC1通过Controller的Rx Pin,回读自身发送的信息是否正确。对于同网段内的其他节点(uC2),通过Rx Pin接收uC1的发送信息,即:接收报文。