如何理解CAN通信的串行通信呢?

通信网络

648人已加入

描述

最近和一些读者讨论了一些Autosar网络管理相关问题,有几个问题做了一下梳理,再此和大家分享一下。

Q1:CanNmImmediateRestartEnabled使能,NM PDU的外发行为?

A1:先说CanNmImmediateRestartEnabled的作用,在PBSM(Prepare-Bus-Sleep mode)模式下,收到总线的通信请求(比如:KL15硬线唤醒),使能NM-PDU的发送,即:进入RMS状态。NM-PDU的发送行为如下所示:

CAN总线

上图可以看出,进入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重置时机和网络状态如下所示:

CAN总线

提示: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的发送信息,即:​接收报文。

CAN总线


审核编辑:刘清
 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
评论(0)
发评论
五代雄介 2022-10-20
0 回复 举报
您好,我想问一下这个CanNmImmediateRestartEnabled的使能后,是决定的是进入RMS的第一帧NM PDU能够快速的发送吗,如果不设置这个使能,它还会进入RMS吗?如果是正常进入RMS时,原来的NM PDU还能发送,只不过第一帧不会那么靠前? 收起回复

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分