3.5NM配置项
3.5.1NmGlobalConstants
NmNumberOfChannels
Nm管理几个Can通信,通信我们只有智能进入网需要网络管理,因此一般这里只需要填1。
NmNumberOfClusters
如果NM需要与几个CanNm进行协同处理的话,那需要把这些配置为Cluster,即组合在一起。到时就可以同时休眠,同时唤醒。这种一般用于网关的管理,一般的系统用不上。
NmRxIndicationCallback
这里用户可填入用户的callback函数, 当Can总线上有收到NM数据包时,用户callback函数会被调用。
NmRxCallbackHeader
这里用户可填入NmRxIndicationCallback用户callback的头文件名称:xxx.h。
NmStateChangeCallback
这里用户可填入用户的callback函数, 当CanNm的状态(即BusSleep, PreBusSleep等状态)改变时,用户callback函数会被调用。
要使能NmStateChangeCallback, 下图中的这项NmStateChangeCallback也必须配置为使能。同时CanNm中的对应的项也要配置为使能。
3.5.2NmGlobalFeatures
CanNmBusSynchronizationEnabled
是否开启总线同步,所谓同步就是同步休眠、同步唤醒,这种一般用于网关。普通网络节点不涉及。
CarWakeupCallout / CanNmCarWakeUpRxEnabled
当接收到NM PUD,并且PDU的整车唤醒位为1时(下图中bit4),而且CanNmCarWakeUpRxEnabled为TRUE,而且CanNmCarWakeUpFilterEnabled为FALSE,则Nm_CarWakeUpIndication被调用,然后在Nm_CarWakeUpIndication中再调用用户的CarWakeupCallout函数。
NmComControlEnabled
是否允许通过BswM去控制NM,即是否允许BswM去使能通信和关闭通信。
NmCorordinatorSupportEnabled / NmCorordinatorSyncSupport
是否使能协同处理,这是网关才有的功能。
NmNodeDectectionEnable
是否在NM PDU中传输Node Id,即下图中的信息。
NmPassiveModeEnabled
是否允许使能被动模式,在被动模式下,Can节点只能接收NM PDU,不发送NM PDU。这是为特别节点设置的。
NmPduRxIndicationEnable
是否要接收NM PDU.
NmRepeatMsgIndEnabled
是否需要在RepeatMessage中使用回调函数。
NmStateChangeIndEnable
当Nm的状态发生变化时,需要要使能通知回调函数。
NmUserDataEnabled
是否要使能NM PDU中的用户字段。即下图中的红框字段。
更多详细信息,请查看下面的文章。