CanNm产品参考手册

缩写词注解

缩写词

英文全称

中文解释

API

Application Programming Interface

应用程序接口

BSW

Basic Software

基础软件模式管理

CanIf

Can Interface

Can接口模块

DEM

Diagnostic Event Manager

诊断事件管理模块

DET

Default Error Tracer

默认错误检测模块

NM

Network Management

网络管理

PDU

Protocol Data Unit

协议数据单元

SDU

Service Data Unit

服务数据单元

PNI

Partial Network Information

部分网络信息

PN

Partial Network

部分网络

PNC

Partial Network Cluster

部分网络集群

ERA

External Request Array

外部请求集合

EIRA

External and Internal Request Array

外部和内部请求集合

CanNm

Can Network Management

Can网络管理

CBV

Control Bit Vector

控制位向量

CWU

Car Wakeup

车辆唤醒

简介

CanNm模块的核心功能是协调网络正常运行和总线睡眠模式之间的转换,除此之外,还提供了可选功能,例如检测当前节点或检测其他所有节点是否准备休眠等。

CanNm提供网络管理接口(Nm)和CanIf模块之间的适配。CanNm通过调用CanIf模块的发送API来传输数据,并提供接收API给CanIf用于接收下层网络管理报文。Nm模块调用CanNm模块API来更改CanNm的当前状态机状态,CanNm的状态机模式切换需要通知给Nm模块。

image1

图1-1CanNm在AUTOSAR中的位置

CanNm模块的主要功能为:

1、协调网络正常运行和总线睡眠模式之间的转换

2、可选功能

1)检测远程睡眠指令功能

2)用户数据功能

3)被动模式功能

4)NM PDU Rx指示功能

5)状态变化通知功能

6)通讯控制功能

7)NM协调器同步支持功能

  1. 减负载功能

3、局部联网功能

4、车辆唤醒功能

参考资料

[1] AUTOSAR_SWS_ CANInterface.pdf,R19-11

[2] AUTOSAR_SWS_CANNetworkManagement.pdf,R19-11

[3] AUTOSAR_SWS_PDURouter.pdf,R19-11

[4] AUTOSAR_SWS_NetworkManagementInterface.pdf,R19-11

[5]AUTOSAR_SWS_COMManager.pdf,R19-11

功能描述

AUTOSAR CanNm基于分散的直接网络管理策略,这意味着每个网络节点仅根据在通信系统内接收和/或发送报文,执行自给自足的活动。

AUTOSAR CanNm协调算法基于周期性的NM数据包,集群中的所有节点都通过广播传输接收这些数据包。接收到NM数据包表明发送节点要保持NM集群处于唤醒状态。如果任何节点准备好进入总线睡眠模式,它将停止发送NM数据包,但是只要接收到来自其他节点的NM数据包,它就会推迟过渡到总线睡眠模式。如果在专用计时器超时前都未接收到NM数据包,则每个节点都会启动到总线休眠模式的转换。CanNm通过状态机切换和各状态定时器管理来完成协调算法。

状态机切换

模式介绍

首先介绍AUTOSAR CanNm协调算法的三种操作模式:

  • Network Mode 网络模式

  • Prepare Bus-Sleep Mode准备总线睡眠模式

  • Bus-Sleep Mode总线睡眠模式

当本节点的操作模式发生变化的时候,需要通知上层Nm。

image2

图2-1 CanNm状态机

Network Mode

Network Mode下包括三种内部状态:

  • Repeat Message State重复消息状态

  • Normal Operation State正常运行状态

  • Ready Sleep State就绪睡眠状态

下面对这三种状态分别说明:

  1. Repeat Message State

当节点配置为Passive Mode的节点,意味着该节点只能接受报文而不能传输任何报文,关于Passive Mode具体的将在下面章节中进行说明。

对于非Passive Mode的节点,Repeat Message State可确保从Bus-Sleep或Prepare Bus-Sleep到Network Mode的任何过渡对于网络上的其他节点都是可见的。此外,它确保所有节点在CanNmRepeatMessageTime(配置参数)内保持活动状态。当CanNmRepeatMessageTime配置为0,表示未配置Repeat Message State。这意味着Repeat Message State是瞬态的,在进入后立即离开,因此无法保证启动稳定性,并且无法执行节点检测过程。当CanNmRepeatMessageTime超时后,节点将离开Repeat Message State而切至其他状态。若当前网络状态为请求,切换到Normal Operation State,若当前网络状态为释放,切换到Ready SleepState。

当非Passive Mode的节点从Bus-SleepMode, Prepare-Bus-Sleep Mode,Normal Operation State或Ready Sleep State进入Repeat Message State时,传输功能应该被重启,为了防止总线数据爆发,降低负载,每次进入Repeat Message State时,都要延迟CanNmMsgCycleOffset(配置参数)段时间后,再开始传输数据,若配置CanNmImmediateNmTransmissions并且网络被请求则不需要延迟CanNmMsgCycleOffset时间。

(2)Normal Operation State

Normal Operation State可确保只要需要网络功能,任何节点都可以使NM集群保持唤醒状态。当处于Normal Operation State,节点按照CanNmMsgCycleTime周期发送报文,当网络释放后,CanNm进入ReadySleep state。

(3)Ready Sleep State

Ready Sleep State可确保NM群集中的任何节点都在等待过渡到Prepare Bus-Sleep Mode。

当进入Ready Sleep State,本节点就不再传输数据。当节点接收到其他节点传输的报文时,会将NM-Timeout定时器重置,当NM-Timeout定时器超时且处于Ready Sleep State时,网络管理进入Prepare Bus-Sleep Mode。其中NM-Timeout定时器的时间是由CanNmTimeoutTime(配置参数)决定的。

Prepare Bus Sleep Mode

Prepare Bus Sleep state目的是确保所有节点都有时间在进入总线休眠状态之前停止其网络活动,使总线活动平静下来,最后在“准备总线睡眠模式”下总线上没有任何活动。

当本节点进入Prepare Bus-Sleep Mode,CanNmWaitBusSleepTime(配置参数)定时器被启动,当CanNmWaitBusSleepTime定时器超时,当前状态将由Prepare Bus-Sleep Mode切换至Bus-Sleep Mode。

如果在Prepare Bus-Sleep Mode接收到其他节点传输的网络管理报文时,当前CanNm状态将由Prepare Bus-Sleep Mode切换至Network Mode,默认情况下,将进入Repeat Message State。

如果在Prepare Bus-Sleep Mode接收到网络请求时,当前状态将由Prepare Bus-Sleep Mode切换至Network Mode,默认情况下,将进入Repeat Message State。如果CanNmImmediateRestartEnabled(配置参数)被设置为TRUE,那么在这种情况下会立刻触发一次传输,这样做的理由是:集群中的其他节点仍处于Prepare Bus-Sleep Mode,在这种特殊情况下,应避免过渡到Bus-Sleep Mode,并应尽快恢复总线通信。由于CanNm中网络管理PDU的传输偏移导致,处于Repeat Message State的第一个网络管理PDU的传输可能会大大延迟。为了避免延迟重新启动网络可以立即请求发送网络管理PDU。

Bus-Sleep Mode

Bus-Sleep state的目的是在不交换任何消息时降低节点的功耗。将通信控制器切换到睡眠模式,激活相应的唤醒机制,最后将功耗降低到总线睡眠模式下的适当水平。

当CanNm处于Bus-Sleep Mode接收到网络管理报文时,此时CanNm不会切换至Network Mode,而是通知Nm模块,由上层模块做决策。

当CanNm处于Bus-Sleep Mode接收到被动请求或网络请求时,当前状态将由Bus-Sleep Mode切换至Network Mode,默认情况下,将进入Repeat Message State。

PDU格式

网络管理的报文有特定的格式要求,报文数据段格式如图:

image3

图2-2NM PDU默认格式

其中CBV(ControlBitVector)字节对应的bit位标识如下

image4

图2-3 CBV格式

对于CBV中的bit说明如下:

Bit 0重复消息请求

0:未请求进入Repeat Message State

1:请求进入Repeat Message State

Bit 1,2:保留位,当配置项CanNmCoordinatorEnabled使能时,该位等于配置的CanNmCoordinatorId的值

Bit 3 NM协调器休眠位
0:主协调器不要求启动同步休眠
1:主协调员请求启动同步休眠
Bit 4主动唤醒位
0:节点尚未唤醒网络
1:节点唤醒了网络

Bit 6局部网络信息位(PNI)

0:NM消息不包含局部网络请求信息
1:NM消息包含局部网络请求信息,该位由配置决定,运行阶段不改变

Bit5 Bit7为保留位

NmPdu中的UserData可以通过CanNm的配置引用EcuC中的Pdu。未使用的情况下默认全0xFF,通过Nm的接口去抓取当前接收与发送的UserData。

可选功能

CanNm可以通过使能配置参数来使用以下可选功能。

检测远程睡眠指令功能

远程睡眠指示应用于一种情况,当处于NormalOperation State的节点发现集群中的所有其他节点都准备睡眠,但处于Normal Operation State状态的节点仍将保持总线苏醒。为了避免这种情况,可以使能远程睡眠指示功能。

如果当前CanNm状态为Normal Operation State,并且在CanNmRemoteSleepIndTime(配置参数)定时器内未收到其他节点发送的网络管理报文,则通知上层Nm模块集群内的其他节点均已准备睡眠。

如果CanNm已通知上层Nm模块,而在Normal Operation State或Ready Sleep State下又收到了网络管理报文,或者CanNm从Normal Operation State切换至Repeat Message State,CanNm需要通知上层Nm模块集群中的某些节点不再准备睡眠。

用户数据功能

使用CanNmUserDataEnabled开关(配置参数)对NM用户数据的支持进行静态配置。

当用户数据功能使能,可以调用CanNm_SetUserData,该函数可以设置总线上接下来发送的NM数据包的NM用户数据。也可以调用CanNm_GetUserData,该函数可以提供包含在最近接收到的NM PDU的有效载荷中的NM用户数据。

如果CanNmComUserDataSupport(配置参数)配置为使能,CanNm将在每次请求发送相应的NM消息之前从引用的NM I-PDU收集NM用户数据,并将用户数据与其他NM字节合并。此时就不能再通过CanNm_SetUserData函数设置用户数据。

被动模式功能

在被动模式下,节点仅接收NM消息,但不发送任何NM消息。被动模式应使用CanNmPassiveModeEnabled开关(配置参数)进行静态配置。

NM PDU Rx指示功能

若CanNmPduRxIndicationEnabled(配置参数)使能,在成功接收NM PDU时,CanNm应通过调用Nm_PduRxIndication通知上层。

状态变化通知功能

如果CanNmStateChangeIndEnabled(配置参数)使能,则CanNm需要将CanNm状态的所有更改通知上层Nm。

通讯控制功能

使用CanNmComControlEnabled开关(配置参数),可以静态配置通信控制。当CanNm_DisableCommunication函数被调用,CanNm模块NM报文的传输能力将被停止,直到调用CanNm_EnableCommunication,CanNm的nm报文传输能力被恢复。

当CanNm_DisableCommunication函数被调用,CanNm的NM-Timeout定时器将被停止,调用函数CanNm_EnableCommunication,NM-Timeout定时器将被恢复。若一直未调用CanNm_EnableCommunication,CanNm会一直处在Ready Sleep State中无法进入休眠状态,在这种情况下,AutoSar规定,当网络被释放后,CanNm将从Ready Sleep State切换至Prepare Bus-Sleep Mode。

NM协调器同步支持功能

当有多个协调器连接到同一条总线时,在CBV中,NmCoordinatorSleepReady位用于指示主协调器请求启动关闭,有关CBV的概念见2.2章。

当CanNm处于网络模式,接收网络管理报文的CBV中NmCoordinatorSleepReady=1,则CanNm通知上层协调睡眠功能被请求。

当CanNm已通知上层协调睡眠功能被请求,接收网络管理报文的CBV中NmCoordinatorSleepReady=0,则CanNm通知上层协调睡眠功能请求被取消。

减负载功能

当CanNmBusLoadReductionEnabled参数配置为TRUE时,CanNm应该支持总线负载降低机制,当从其他状态进入Repeat Message State状态时,关闭总线负载降低机制,当从其他状态进入Normal Operation State状态时,打开总线负载降低机制。

当总线负载降低机制启动后,CanNm_RxIndication()被调用后,使用CanNmMsgReducedTime参数重装CanNm Message Cycle Timer,当总线负载降低机制启动后,当成功发送NM PDU后,用CanNmMsgCycleTime参数重装CanNm Message Cycle Timer。

PN功能

Autosar4.x版本开始支持PN功能,Pn功能的目的是基于功能划分网络,形成局域网;这种功能的划分由整车设计完成,对于各节点只需要关心自身存在的网段。只有在CanNmGlobalPnSupport(配置参数)和各通道下的CanNmPnEnabled(配置参数)使能的情况下,Pn功能才能正常工作。

如果CanNmPnEnabled(配置参数)为FALSE,则CanNm将执行正常的Rx指示处理,并且应禁用Pn功能。如果CanNmPnEnabled为TRUE,接收到的NM-PDU CBV中的PNI位为0,则CanNm模块应执行常规的Rx指示处理,从而省去了Pn功能的扩展。如果CanNmPnEnabled为TRUE并且接收到的NM-PDU CBV中的PNI位为1,则CanNm模块处理NM-PDU的Pn信息。

如果CanNmPnEnabled为TRUE,则CanNm模块应将CBV中发送的PNI位的值设置为1,要使用Pn,则必须使用CBV。

如果CanNmPnEnabled为FALSE,则CanNm模块应将CBV中已发送的PNI位的值始终设置为0。

Pn信息的位置位于网络管理报文的用户数据部分中,具体的位置通过CanNmPnInfoOffset和CanNmPnInfoLength来确定。

例如当CanNmPnInfoOffset = 3,CanNmPnInfoLength = 2,代表NM消息只有字节3和字节4包含PN请求信息。

PN过滤

PNC是Partial Network Cluster的缩写,它是指为了在车辆网络中支持一个或多个车辆功能而由多个ECU构成的集群。PNC的编号我们称为PNC ID,范围8~63,整车网络统一编号,关于PNC id与CanNmPdu映射关系说明:PNC ID对应CanNmPdu中的一个bit,例如PNC ID=8,对应CanNmPduByte1的bit0;PNC ID=63,对应Byte7的bit7;PNC ID对应的bit数值为1,则表示当前PN网络被请求,为0则表示网络释放。

通过配置参数CanNmPnFilterMaskByte,CanNm可以检测到哪个PN与ECU相关,而哪个与PN不相关。

CanNmPnFilterMaskByte的每个位具有以下含义:

0 PN请求与本ECU无关。如果接收的NM PDU中将该位置设置为1,也无法使ECU的通讯栈处于唤醒状态,因为该位的请求与本ECU是无关的。

1 PN请求与本ECU有关。如果已在接收的NM-PDU中将该位置设置为1,则ECU的通信堆栈将保持唤醒状态。

如果至少有一位与本ECU相关的PN请求,那么这条Nm PDU对于CanNm来说就是有用的,需要进行处理,如果没有一位与本ECU相关的PN请求,那么这条NM PDU将被忽略。

ERA与EIRA

ERA是指ECU外部的PN请求的聚合,当CanNmPnEraCalcEnabled使能(配置参数),表示支持ERA功能。而EIRA是指ECU内部和外部Pn请求的聚合,当CanNmPnEiraCalcEnabled使能(配置参数),表示支持EIRA功能。

ERA是在网关节点才使用,此时没有内部的请求,只有不同的Channel对Pn的外部请求,ERA会为每个channel的每个PN位都设置一个监测的定时器,当CanNmPnResetTime(配置参数)时间内未请求PN,则将该PN的请求状态设置为未请求,每次请求状态有变化的时候都会通知上层PduR,由PduR模块进行转发。

EIRA体现了当前节点与网络上其他节点对某一个PNC的请求与释放情况;EIRA不区分物理Channel,只针对不同的PN。EIRA会为每个PN位都设置一个监测的定时器,当CanNmPnResetTime(配置参数)时间内未请求PN,则将该PN的请求状态设置为未请求,每次请求状态有变化的时候都会通知上层PduR,由PduR模块进行转发。

自发传输

如果网络被请求并且CanNmPnHandleMultipleNetworkRequest(配置参数)设置为TRUE,无论CanNm处于Ready Sleep State,Normal Operation State或Repeat Message State,CanNm应更改为或重新启动为Repeat Message State。并且,CanNm会传输CanNmImmediateNmTransmissions(配置参数)数量的报文,其中第一条报文立即传输,其他报文按CanNmImmediateNmCycleTime传输(配置参数)。

车辆唤醒功能

当CanNmCarWakeUpRxEnabled(配置参数)使能时,车辆唤醒功能被启用,目前暂时没有使用场景。如果任何接收到的NM-PDU中的Car Wakeup位为1,都会通知上层Nm。

当CanNmCarWakeUpRxEnabled(配置参数)使能,CanNmCarWakeUpFilterEnabled(配置参数)也使能时,只有收到NodeId等于CanNmCarWakeUpFilterNodeId的报文时,才会通知上层。

源文件描述

表3-1CanNm组件文件描述

文件

说明

CanNm_Cfg.h

定义CanNm模块预编译时用到的配置参数。

CanNm_Cfg.c

定义CanNm模块生成的配置参数。

CanNm.h

CanNm模块头文件, 包含了API函数的扩展声明并定义了配置的数据结构。

CanNm.c

CanNm模块源文件,包含了API函数的实现。

CanNm_Cbk.h

包含CanNm供SoAd调用的API函数的声明

CanNm_Internal.h

包含CanNm内部的变量和数据结构的定义

CanNm_MemMap.h

CanNm编译抽象文件

image5

图3-1 CanNm组件文件交互关系图

API接口

类型定义

CanNm_ConfigType类型定义

名称

CanNm_ConfigType

类型

Structure

范围

描述

此类型应包含容器CanNm_GlobalConfig及其子容器的参数。

输入函数描述

输入模块

API

Det

Det_ReportError

Nm

Nm_CarWakeUpIndication

Nm_CoordReadyToSleepCancellation

Nm_CoordReadyToSleepIndication

Nm_PduRxIndication

Nm_RemoteSleepCancellation

Nm_RemoteSleepIndication

Nm_StateChangeNotification

Nm_TxTimeoutException

Nm_RepeatMessageIndication

Nm_BusSleepMode

Nm_NetworkMode

Nm_NetworkStartIndication

Nm_PrepareBusSleepMode

PduR

PduR_CanNmRxIndication

PduR_CanNmTriggerTransmit

PduR_CanNmTxConfirmation

CanIf

CanIf_Transmit

CanSM

CanSM_TxTimeoutException

静态接口函数定义

CanNm_Init函数定义

函数名称:

CanNm_Init

函数原型:

void CanNm_Init(

const CanNm_ConfigType * CanNmConfigPtr

)

服务编号:

0x00

同步/异步:

同步

是 否可重入:

不可重入

输入参数:

CanNmConfigPtr

值域:

指向初始化结构体的指针

输 入输出参数:

输出参数:

返回值:

功能概述:

初始化 完整的CanNm模块, 即初始化在配置时 激活的所有通道。

CanNm_DeInit函数定义

函数名称:

CanNm_DeInit

函数原型:

void CanNm_DeInit (

void

)

服务编号:

0x10

同步/异步:

同步

是 否可重入:

不可重入

输入参数:

输 入输出参数:

输出参数:

返回值:

功能概述:

反初始化CanNm模块

CanNm_PassiveStartUp函数定义

函数名称:

Can Nm_PassiveStartUp

函数原型:

FUN C(Std_ReturnType, CANNM_CODE) CanN m_PassiveStartUp(

NetworkHandleType nmChannelHandle

)

服务编号:

0x01

同步/异步:

非同步

是 否可重入:

可重入(同 一通道不可重入)

输入参数:

nmChannelHandle

值域:

NM通道Id

输 入输出参数:

输出参数:

返回值:

E_OK: 被动启动 CanNm网络管理成功

E_NOT_OK: 被动启动 CanNm网络管理失败

功能概述:

被动启动CanNm模块

CanNm_NetworkRequest函数定义

函数名称:

Can Nm_NetworkRequest

函数原型:

Std_ReturnType CanN m_NetworkRequest(

NetworkHandleType nmChannelHandle

)

服务编号:

0x02

同步/异步:

非同步

是 否可重入:

可重入(同 一通道不可重入)

输入参数:

nmChannelHandle

值域:

NM通道Id

输 入输出参数:

输出参数:

返回值:

E_OK: 请求被接受

E_NOT_OK: 请求被拒绝

功能概述:

由于 ECU 需要在总线上通 信,因此请求网络

CanNm_NetworkRelease函数定义

函数名称:

Can Nm_NetworkRelease

函数原型:

Std_ReturnType CanN m_NetworkRelease(

NetworkHandleType nmChannelHandle

)

服务编号:

0x03

同步/异步:

非同步

是 否可重入:

可重入(同 一通道不可重入)

输入参数:

nmChannelHandle

值域:

NM通道Id

输 入输出参数:

输出参数:

返回值:

E_OK: 请求被接受

E_NOT_OK: 请求被拒绝

功能概述:

由于EC U不需要在总线上通 信,因此释放网络

CanNm_DisableCommunication函数定义

函数名称:

CanNm_Dis ableCommunication

函数原型:

Std_ReturnType CanNm_Disa bleCommunication(

NetworkHandleType nmChannelHandle

)

服务编号:

0x0c

同步/异步:

非同步

是 否可重入:

可重 入(仅限不同通道)

输入参数:

nmChannelHandle

值域:

NM通道Id

输 入输出参数:

输出参数:

返回值:

E_OK: 请求成功

E_NOT_OK :请求关闭通信失败

功能概述:

用于ISO14229的 28服务,关闭通信

CanNm_EnableCommunication函数定义

函数名称:

CanNm_E nableCommunication

函数原型:

Std_ReturnType CanNm_En ableCommunication(

NetworkHandleType nmChannelHandle

)

服务编号:

0x0d

同 步/异步:

非同步

是 否可重入:

可重入( 同一通道不可重入)

输入参数:

nmChannelHandle

值域:

NM通道Id

输入 输出参数:

输出参数:

返回值:

E_OK: 请求成功

E_NOT_OK: 请求使能通信失败

功能概述:

用于ISO14229 的28服务,使能通信

CanNm_SetUserData函数定义

函数名称:

CanNm_SetUserData

函数原型:

Std_ReturnType C anNm_SetUserData(

NetworkHandleType nmChannelHandle

const uint8* nmUserDataPtr

)

服务编号:

0x04

同 步/异步:

同步

是 否可重入:

不同通道可重入

输入参数:

nmChannelHandle

值域:

NM通道Id

nmUserDataPtr

值域:

指向 要设置的用户数据的指针

输入 输出参数:

输出参数:

返回值:

E_OK: 设置用户数据成功

E_NOT_OK: 设置用户数据失败

功能概述:

设置总 线上接下来发送的 NM消息的用户数据

CanNm_GetUserData函数定义

函数名称:

CanNm_GetUserData

函数原型:

Std_ReturnType C anNm_GetUserData(

NetworkHandleType nmChannelHandle

uint8* nmUserDataPtr

)

服务编号:

0x05

同步/异步:

同步

是 否可重入:

可重入

输入参数:

nmChannelHandle

值域:

请求获取用户数据的通道

输 入输出参数:

输出参数:

nmUserDataPtr

值域:

指向用于输 出用户数据的内存的指针

返回值:

E_OK: 请求用户数据成功

E_NOT_OK: 请求用户数据失败

功能概述:

从最近收到的NM PDU中获取用户数据

CanNm_Transmit函数定义

函数名称:

CanNm_Transmit

函数原型:

Std_ReturnType CanNm_Transmit(

PduIdType TxPduId,

const PduInfoType* PduInfoPtr

)

服务编号:

0x49

同步/异步:

同步

是 否可重入:

对不 同的TxPduId可重入

输入参数:

TxPduId

值域:

要发送的Pdu的Id

PduInfoPtr

值域:

要发 送的数据长度和数据指针

输 入输出参数:

输出参数:

返回值:

E_OK: 成功接收传输请求

E_NOT_O K:传输请求被拒绝

功能概述:

请 求发送一帧NM报文

CanNm_GetNodeIdentifier函数定义

函数名称:

CanNm_ GetNodeIdentifier

函数原型:

Std_ReturnType CanNm_G etNodeIdentifier(

NetworkHandleType nmChannelHandle,

uint8* nmNodeIdPtr

)

服务编号:

0x06

同步/异步:

同步

是 否可重入:

可重入

输入参数:

nmChannelHandle

值域:

获取NodeId的通道号

输 入输出参数:

输出参数:

nmNodeIdPtr

值域:

指向 存储NodeId的变量的指针

返回值:

E_OK: 获取成功

E_NOT_OK: 获取失败

功能概述:

获取 最近接收到的NM报 文中的节点标识符

CanNm_GetLocalNodeIdentifier函数定义

函数名称:

CanNm_GetLo calNodeIdentifier

函数原型:

Std_ReturnType CanNm_GetLoc alNodeIdentifier(

NetworkHandleType nmChannelHandle,

uint8* nmNodeIdPtr

)

服务编号:

0x07

同步/异步:

同步

是 否可重入:

可重入

输入参数:

nmChannelHandle

值域:

获取NodeId的通道号

输 入输出参数:

输出参数:

nmNodeIdPtr

值域:

指向 存储NodeId的变量的指针

返回值:

E_OK: 获取成功

E_NOT_OK: 获取失败

功能概述:

获取配置的该通道 的本地节点标识符

CanNm_RepeatMessageRequest函数定义

函数名称:

CanNm_Rep eatMessageRequest

函数原型:

Std_ReturnType CanNm_Repe atMessageRequest(

NetworkHandleType nmChannelHandle

)

服务编号:

0x08

同步/异步:

非同步

是 否可重入:

可重入(同 一通道不可重入)

输入参数:

nmChannelHandle

值域:

需要置位Repeat Message Request Bit的通道

输 入输出参数:

输出参数:

返回值:

E_OK:设置成功

E_NOT_OK:设 置重复标志位失败 或未配置此网络。

功能概述:

为总线 上接下来发送的NM PDU设 置重复消息请求位

CanNm_GetPduData函数定义

函数名称:

CanNm_GetPduData

函数原型:

Std_ReturnType CanNm_GetPduData(

NetworkHandleType nmChannelHandle,

uint8* nmPduDataPtr

)

服务编号:

0x0a

同步/异步:

同步

是 否可重入:

可重入

输入参数:

nmChannelHandle

值域:

NM通道Id

输 入输出参数:

输出参数:

nmPduDataPtr

值域:

获取到的 NMPdu数据要被存放的地址

返回值:

E_OK: 获取成功

E_NOT_OK: 获取数据失 败或未配置此网络

功能概述:

从最近接收到的NM PDU 中获取整个PDU数据

CanNm_GetState函数定义

函数名称:

CanNm_GetState

函数原型:

Std_ReturnType CanNm_GetState(

NetworkHandleType nmChannelHandle,

Nm_StateType* nmStatePtr,

Nm_ModeType* nmModePtr

)

服务编号:

0x0b

同步/异步:

同步

是 否可重入:

可重入

输入参数:

nmChannelHandle

值域:

NM通道Id

输 入输出参数:

输出参数:

nmStatePtr

值域:

存放CanNm状态的地址

nmModePtr

值域:

存放CanNm模式的地址

返回值:

E_OK: 获取成功

E_NOT_OK: 获取失败

功能概述:

获取CanN m当前的状态和模式

CanNm_GetVersionInfo函数定义

函数名称:

Can Nm_GetVersionInfo

函数原型:

void CanN m_GetVersionInfo(

Std_ VersionInfoType* Versioninfo

)

服务编号:

0xf1

同步/异步:

同步

是 否可重入:

可重入

输入参数:

输 入输出参数:

输出参数:

versioninfo

值域:

指向存储 版本信息的buffer的地址

返回值:

功能概述:

获取版本信息

CanNm_RequestBusSynchronization函数定义

函数名称:

CanNm_RequestB usSynchronization

函数原型:

Std_ReturnType CanNm_RequestBu sSynchronization(

NetworkHandleType nmChannelHandle

)

服务编号:

0xc0

同步/异步:

非同步

是 否可重入:

不可重入

输入参数:

nmChannelHandle

值域:

NM通道Id

输 入输出参数:

输出参数:

返回值:

E_OK: 请求成功

E_NOT_OK: 请求失败

功能概述:

请求总线同步

CanNm_CheckRemoteSleepIndication函数定义

函数名称:

CanNm_CheckRemo teSleepIndication

函数原型:

Std_ReturnType CanNm_CheckRemot eSleepIndication(

NetworkHandleType nmChannelHandle,

boolean* nm RemoteSleepIndPtr

)

服务编号:

0xd0

同步/异步:

同步

是 否可重入:

可重入

输入参数:

nmChannelHandle

值域:

NM通道Id

输 入输出参数:

输出参数:

nm RemoteSleepIndPtr

值域:

检测是否发生远 程睡眠通知结果存储地址

返回值:

E_OK: 检查成功

E_NOT_OK: 获取指示失败

功能概述:

检查是否 发生远程睡眠通知

CanNm_SetSleepReadyBit函数定义

函数名称:

CanNm _SetSleepReadyBit

函数原型:

Std_ReturnType CanNm_ SetSleepReadyBit(

NetworkHandleType nmChannelHandle,

boolean nmSleepReadyBit

)

服务编号:

0x17

同步/异步:

同步

是 否可重入:

不同通道可重入

输入参数:

nmChannelHandle

值域:

NM通道Id

nmSleepReadyBit

值域:

ReadySleep Bit要设置的的值

输 入输出参数:

输出参数:

返回值:

E_OK: 设置成功

E_NOT_OK: 设置失败

功能概述:

在 控制位向量中设置N M协调器睡眠就绪位

CanNm_TxConfirmation函数定义

函数名称:

Can Nm_TxConfirmation

函数原型:

void CanN m_TxConfirmation(

PduIdType TxPduId

)

服务编号:

0x40

同步/异步:

同步

是 否可重入:

不同PduId可重入

输入参数:

TxPduId

值域:

发送成功的PduId

输 入输出参数:

输出参数:

返回值:

功能概述:

底层通信模块 确认成功发送报文

CanNm_RxIndication函数定义

函数名称:

C anNm_RxIndication

函数原型:

void Ca nNm_RxIndication(

PduIdType RxPduId,

const PduInfoType* PduInfoPtr

)

服务编号:

0x42

同步/异步:

同步

是 否可重入:

不同PduId可重入

输入参数:

RxPduId

值域:

接收报文的PduId

PduInfoPtr

值域:

接收报文 的长度和指向报文的指针

输 入输出参数:

输出参数:

返回值:

功能概述:

底层通信模 块调用该函数通知 CanNm接收到NM报文

CanNm_ConfirmPnAvailability函数定义

函数名称:

CanNm_Conf irmPnAvailability

函数原型:

void CanNm_Conf irmPnAvailability (

NetworkHandleType nmChannelHandle

)

服务编号:

0x16

同步/异步:

同步

是 否可重入:

可重入( 仅限不同channel)

输入参数:

nmChannelHandle

值域:

NM通道Id

输 入输出参数:

输出参数:

返回值:

E_OK: 设置成功

E_NOT_OK: 设置失败

功能概述:

在指定的NM channe l上启用PN滤波功能

CanNm_TriggerTransmit函数定义

函数名称:

CanN m_TriggerTransmit

函数原型:

Std_ReturnType CanN
m_TriggerTransmit

(

PduIdType TxPduId,
PduInfoType* PduInfoPtr

)

服务编号:

0x41

同步/异步:

同步

是 否可重入:

不同PduId可重入

输入参数:

TxPduId

值域:

发送PduId

输 入输出参数:

PduInfoPtr

值域:

下层模块提 供的用于存储发送数据的 buffer地址和buffer大小 。返回时将实际拷贝的数 据长度赋值给sduLength。

输出参数:

返回值:

E_OK: 从 CanNm获取数据成功

E_NOT_OK: 从 CanNm获取数据失败

功能概述:

下层 模块在发送数据时 调用该函数从CanN m获取要发送的数据

CanNm_MainFunction函数定义

函数名称:

CanNm_MainFunction

函数原型:

void CanNm_MainFunction(

void

)

服务编号:

0x13

功能概述:

CanNm模块周期调度函数

可配置函数定义

无。

配置

CanNmGlobalConfig

image6

图5‑1CanNmGlobalConfig容器配置图

表5‑1CanNmGlobalConfig属性描述

UI名称

描述

CanNmGloba lPnSupport

取值范围

STD_ON,STD_OFF

默认取值

参数描述

用于 全局启用部分网络支 持的预处理器开关。

依赖关系

CanNmBus LoadReduct ionEnabled

取值范围

STD_ON,STD_OFF

默认取值

参数描述

预处理器开关,用于 启用总线减负载支持

依赖关系

如果 CanN mPassiveModeEnabled == true 或 C anNmGlobalPnSupport == true,那么CanNmBusL oadReductionEnabled = false

CanNmBusSy nchronizat ionEnabled

取值范围

STD_ON,STD_OFF

默认取值

参数描述

预处 理器开关,用于启用 总线同步支持,此功 能仅适用于网关节点

依赖关系

如果(CanN mPassiveModeEnabled == False), 那么等于(NmBusSyn chronizationEnabled )否则等于(False)

Ca nNmComCont rolEnabled

取值范围

STD_ON,STD_OFF

默认取值

参数描述

预处理器开关,用 于启用通信控制支持

依赖关系

如果(CanN mPassiveModeEnabled == False),那么等于( NmComControlEnabled )否则等于(False)

Can NmComUserD ataSupport

取值范围

STD_ON,STD_OFF

默认取值

参数描述

用于启用Com用户 数据的预处理器开关

依赖关系

如果CanN mPassiveModeEnabled == True则 CanN mComUserDataSupport = False

CanNmCo ordinatorS yncSupport

取值范围

STD_ON,STD_OFF

默认取值

参数描述

启用/禁 用协调器同步支持。

依赖关系

如果将CanNmPas siveModeEnabled设置 为TRUE,则必须将Ca nNmCoordinatorSyncS upport设置为FALSE。

CanNmDevE rrorDetect

取值范围

STD_ON,STD_OFF

默认取值

参数描述

启用或者禁用DET报错

依赖关系

CanNmImm ediateRest artEnabled

取值范围

STD_ON,STD_OFF

默认取值

参数描述

预处理 器开关,用于在准备 总线休眠模式下根据 总线通信请求启用NM PDU立即传输

依赖关系

如果定义了 CanNmPassiveModeEn abled,则不能定义它

CanNmIm mediateTxc onfEnabled

取值范围

STD_ON,STD_OFF

默认取值

参数描述

启用 /禁用立即发送确认。

依赖关系

如果Can NmPasiveModeEnabled 已启用,则不应启用 CanNmImmed iateTxconfEnabled。

Can NmMainFunc tionPeriod

取值范围

0.001 .. 0.255

默认取值

参数描述

各个实例的CanNm_Mai nFunction的调用周期 ,以秒为单位指定。

依赖关系

取值需要大于0

Can NmPassiveM odeEnabled

取值范围

STD_ON,STD_OFF

默认取值

参数描述

预处理器开关 ,用于支持被动模式

依赖关系

依赖于NmIf模块的N mPassiveModeEnabled

CanNmPd uRxIndicat ionEnabled

取值范围

STD_ON,STD_OFF

默认取值

参数描述

用于启用PDU R x指示的预处理器开关

依赖关系

依 赖于NmIf模块的NmPdu RxIndicationEnabled

Ca nNmPnEiraC alcEnabled

取值范围

STD_ON,STD_OFF

默认取值

FALSE

参数描述

指定CanNm是否 计算内部外部请求的 PN请求信息(EIRA)

依赖关系

仅当C anNmGlobalPnSupport == true时可配置

CanNmP nResetTime

取值范围

0.001~65.535

默认取值

参数描述

以秒为单位指定 重置定时器的运行时 间。该复位时间对EI RA和ERA中的PN请求复 位有效。每个通道的 值应该相同。因此它 是一个全局配置参数

依赖关系

仅当C anNmGlobalPnSupport == true时可配置

CanNmPnResetTime> CanNmMsgCycleTime

CanNmPnResetTime <CanNmTimeoutTime

CanNmR emoteSleep IndEnabled

取值范围

STD_ON,STD_OFF

默认取值

参数描述

预处理器开关,支持 远程睡眠指示,此功 能仅适用于网关节点

依赖关系

如果(CanN mPassiveModeEnabled == False),那么等于( NmComControlEnabled )否则等于(False)

CanNmS tateChange IndEnabled

取值范围

STD_ON,STD_OFF

默认取值

参数描述

用 于启用CanNM状态更改 通知的预处理器开关

依赖关系

依赖于NmS tateChangeIdEnabled

CanNmUserD ataEnabled

取值范围

STD_ON,STD_OFF

默认取值

参数描述

预处理器开关 ,用于支持用户数据

依赖关系

依赖 于NmUserDataEnabled

CanNmVers ionInfoApi

取值范围

STD_ON,STD_OFF

默认取值

参数描述

启用 或者禁用版本获取API

依赖关系

CanNmPnEir aRxNSduRef

取值范围

Reference to [ Pdu ]

默认取值

参数描述

引 用COM-Stack中Pdu。 C anNm只需要一个SduRe f,因为EIRA是所有以 太网通道上的聚合。

依赖关系

仅当Can NmPnEiraCalcEnabled == true 时可配,引用的PDU需 要在PDUR中进行关联

CanNmChannelConfig

image7

image8

图5‑2CanNmChannelConfig容器配置图

表5‑2CanNmChannelConfig属性描述

UI名称

描述

C anNmStayIn PbsEnabled

取值范围

STD_ON,STD_OFF

默认取值

参数描述

如 果禁用此参数,则在 Ca nNmWaitBusSleepTime 后离开Prepare Bus-Sleep 模式。如果启 用此参数,则只有在 ECU 断电或任何重新启动 原因适用时才能离开 Prepare BusSleep 模式。

CanNmAc tiveWakeup BitEnabled

取值范围

STD_ON,STD_OFF

默认取值

FALSE

参数描述

在CanNm模块中 启用/禁用处理Active Wakeup Bit

依赖关系

此参数仅在 CanNmPassiveModeEna bled为False时可配置

CanNmAl lNmMessage sKeepAwake

取值范围

STD_ON,STD_OFF

默认取值

FALSE

参数描述

指定 CanNm 是否丢弃不相关的 NM PDU。

依赖关系

仅当 Can NmPnEiraCalcEnabled == true 或

Ca nNmPnEraCalcEnabled == true时有效

CanNmBu sLoadReduc tionActive

取值范围

STD_ON,STD_OFF

默认取值

参数描述

该参数定义了 各自NM通道的总线减 负载功能是否启用。

依赖关系

如果CanNmBusL oadReductionEnabled == false则CanNmBus LoadReductionActive = false

CanNm CarWakeUpB itPosition

取值范围

0 .. 7

默认取值

参数描述

指定CWU在NM PDU中的Bit位置。

依赖关系

仅当 CanN mCarWakeUpRxEnabled == TRUE 时可用

CanNmC arWakeUpBy tePosition

取值范围

0 .. 7

默认取值

参数描述

指定CWU在NM PDU中的Byte位置。

依赖关系

仅当 CanN mCarWakeUpRxEnabled == TRUE 时可用,CanNmCa rWakeupBytePosition ≥ 启用的系统字节数 (CBV,NID)

CanNmCa rWakeUpFil terEnabled

取值范围

STD_ON,STD_OFF

默认取值

参数描述

如果 支持CWU过滤,则仅NM PDU中具有源节 点标识符CanNmCarWa keUpFilterNodeId的C WU位被视为CWU请求。

依赖关系

CanNmCarW akeUpRxEnabled=TRUE

CanNmC arWakeUpFi lterNodeId

取值范围

0~255

默认取值

参数描述

CWU过滤的源节点标 识符。如果支持CWU过 滤,则只有具有源节 点标识符CanNmCarWak eUpFilterNodeId的NM PDU中的 CWU位被视为CWU请求

依赖关系

CanNmCarWakeU pFilterEnabled=TRUE

Can NmCarWakeU pRxEnabled

取值范围

STD_ON,STD_OFF

默认取值

FALSE

参数描述

启 用或禁用在接收的NM PDU中支持CarWakeUp bit评估

依赖关系

依赖于NmIf模块的N mCarWakeUpRxEnabled

CanNm ImmediateN mCycleTime

取值范围

0.001 .. 65.535

默认取值

参数描述

定义用于CanNmImmed iateNmTransmissions NM PDU 立即传输的循环 时间,以秒为单位。

依赖关系

此参数 仅在以下情况下有效

CanNmImmediate NmTransmissions>1。

CanNmImme diateNmTra nsmissions

取值范围

0 .. 255

默认取值

参数描述

定义应立即传输的NM PD U的数量。如果该值为 零,则不会立即发送 NM PDU。立即传输 NM PDU 的循环时间由 CanNmI mmediateNmCycleTime 定义。

依赖关系

如果 CanNmImme diateRestartEnabled = true 那么

CanNmImmed iateNmTransmissions = 0

如果 CanNmPnHandleMult ipleNetworkRequests == True” 那么

“CanNmImmed iateNmTransmissions > 0

CanNmMsgC ycleOffset

取值范围

0~65.535

默认取值

参数描述

周期性传输节 点中的时间偏移。它 决定了传输的启动延 迟。以秒为单位指定

依赖关系

参数值<CanM sgCycleTime此参数仅 在CanNmPassiveModeE nabled为False时有效

CanNmMs gCycleTime

取值范围

0.001~65.535

默认取值

参数描述

NM PDU的周 期以秒为单位。它确 定周期性速率,并且 是传输调度的基础。

依赖关系

当“CanNmPassiveM odeEnabled”为“False ”时,此参数才有效。

CanNmMsgR educedTime

取值范围

0.001~65.535

默认取值

参数描述

减负载的周期传输 时间,以秒为单位。

依 赖关系·

0,5 * CanNmMsgCycleTime ≤ CanNmMsgReducedTime < CanNmMsgCycleTime

此参数 仅在以下情况下有效

CanNmBusL oadReductionEnabled == True 和

CanNmBus LoadReductionActive == True 和

CanN mPassiveModeEnabled == False

否则不使用此参数。

CanNmMsgT imeoutTime

取值范围

0.001~65.535

默认取值

参数描述

当使用部分网络并 定义此超时时,CanNm 会监控 NM-PDU 在此传输超 时时间内成功传输, 否则提供错误通知。

依赖关系

CanNmMsgTimeoutTime < CanNmMsgCycleTime

此参数仅在 CanN mPassiveModeEnabled 和 CanNmImm ediateTxConfEnabled 设置为 FALSE 且 CanNmPnEnabled 设置为 TRUE 时有效。

C anNmNodeId

取值范围

0~255

默认取值

参数描述

本地节点标志符

依赖关系

此参数仅在 CanNmNodeIdEnabled == True 时有效

CanNmPduC bvPosition

取值范围

CANNM_PDU_BYTE_0

CANNM_PDU_BYTE_1

CANNM_PDU_OFF

默认取值

参数描述

定义NM PDU内控制位向量的位 置。参数的值表示NM PDU中控制位 向量的位置(CanNmPd uByte0表示字节0,Ca nNmPduByte1表示字节 1,CanNmPduOff表示 源节点标识符不是NM PDU的一部分)

依赖关系

如果CanNmNod eDetectionEnabled== true,那么Can NmPduCbvPosition!= CANNM_PDU_OFF

如果(CANNM_ PDU_CBV_POSITION!= CA NNM_PDU_OFF&&CANNM_ PDU_NID_POSITION!= CANN M_PDU_OFF)则CANNM_ PDU_CBV_POSITION!= CAN NM_PDU_NID_POSITION

如果(CANNM_ PDU_CBV_POSITION!= CANNM_PDU_OFF&&CAN NM_PDU_NID_POSITION ==CANNM_PDU_OFF)则 CANNM_PDU_CBV_POSIT ION=CANNM_PDU_BYTE0

CanNmPduN idPosition

取值范围

CANNM_PDU_BYTE_0

CANNM_PDU_BYTE_1

CANNM_PDU_OFF

默认取值

参数描述

定义NM PD U中源节点标识的位置 。该参数的值表示NM PD U中源节点标识的位置

依赖关系

如果C anNmNodeIdEnabled== true,那么Can NmPduNidPosition!= CANNM_PDU_OFF

如果(CANNM_ PDU_NID_POSITION!= CANNM_PDU_OFF&& CANNM_ PDU_CBV_POSITION!= CANN M_PDU_OFF)则CANNM_ PDU_NID_POSITION!= CAN NM_PDU_CBV_POSITION

如果(CANNM_ PDU_NID_POSITION!= CANNM_PDU_OFF&& CANNM _PDU_CBV_POSITION== CA NNM_PDU_OFF)则CANN M_PDU_NID_POSITION= CANNM_PDU_BYTE0

CanN mPnEnabled

取值范围

STD_ON,STD_OFF

默认取值

参数描述

使能或者禁用PN

依赖关系

仅当 C anNmGlobalPnSupport == true 时有效,同时 需要配置CanNmPnInfo

C anNmPnEraC alcEnabled

取值范围

STD_ON,STD_OFF

默认取值

FALSE

参数描述

指定CanNm是否计算外 部请求的PN请求信息

依赖关系

仅当 C anNmGlobalPnSupport == true 时有效

CanNmP nHandleMul tipleNetwo rkRequests

取值范围

STD_ON,STD_OFF

默认取值

FALSE

参数描述

指定CanNm是否执行 从网络模式到重复消 息状态(true)或不 (false)的附加转换

依赖关系

仅当 C anNmGlobalPnSupport == true 时有效

Can NmRemoteSl eepIndTime

取值范围

0.001~65.535

默认取值

参数描述

远程睡 眠指示超时。它定义 了需要多长时间才能 识别所有其他节点已 准备好进入睡眠状态

依赖关系

CanNm RemoteSleepIndTime≥ CanNmMsgCycleTi me且CanNmRemoteSlee pIndTime仅在CanNmRe moteSleepIndEnabled = true时是必需的

Ca nNmRepeatM essageTime

取值范围

0~65.535

默认取值

参数描述

重复消息状态 超时。它以秒为单位 定义了NM应该停留在 重复消息状态的时间

依赖关系

CanNm RepeatMessageTime=n *CanNmMsgCycleTime;

CanNmRepeatMes sageTime>CanNmImmed iateNmTransmissions *CanNmI mmediateNmCycleTime

CanNmRetr yFirstMess ageRequest

取值范围

STD_ON,STD_OFF

默认取值

参数描述

指定 CanNm 中的第一个消息 请求是否重复直到被 CanIf 接受。

依赖关系

如果CanNmPassive ModeEnabled=true,则

CanNmRetryFirstM essageRequest=false

CanNmT imeoutTime

取值范围

0.002~65.535

默认取值

参数描述

NM PDU的网络超 时。它表示在转换到

Prepare Bus-Sleep 模式启动 之前,NM需要停留在

R eadySleep状态的时间

依赖关系

CanNmTimeoutTime > CanNmMsgCycleTime

C anNmWaitBu sSleepTime

取值范围

0.001~65.535

默认取值

参数描述

表 示在转换到总线休眠 模式之前,NM应停留 在准备总线休眠模式 的时间,以秒为单位

依赖关系

它 应该对群集中的所有 节点都是相等的。它 应该足够长,使所有T x缓冲区都为空,如果 Ca nNmStayInPbsEnabled 被禁用,这个参 数应该是强制性的。

CanNm NodeDetect ionEnabled

取值范围

STD_ON,STD_OFF

默认取值

参数描述

预编译时间切换 以启用节点检测功能

依赖关系

仅当 CanNmNodeIdEnabled 设置为 TRUE 时有效

如果 CanN mPassiveModeEnabled == True 那么 CanNmNodeDetection = False

CanNmNod eIdEnabled

取值范围

STD_ON,STD_OFF

默认取值

参数描述

用于启用源节点 标识的预处理器开关

依赖关系

依赖于NmIf模 块的NmNodeIdEnabled

CanN mRepeatMsg IndEnabled

取值范围

STD_ON,STD_OFF

默认取值

参数描述

启用/ 禁用已收到RepeatMes sageRequest位的通知

依赖关系

如果CanN mPassiveModeEnabled == False则等于 NmRepeatMsgIndEna bled,否则等于False

CanNmPnEr aRxNSduRef

取值范围

Reference to [ Pdu ]

默认取值

参数描述

参考COM堆栈中的Pdu 。每个CanNm通道都需 要SduRef,因为每个 channel都会报告ERA

依赖关系

仅当 Ca nNmPnEraCalcEnabled == true 时有效,引用的PDU需 要在PDUR中进行关联

CanNm ComMNetwor kHandleRef

取值范围

Reference to [ ComMChannel ]

默认取值

参数描述

此引用指 向由ComMChannel定义 的唯一通道,并提供 对ComMChannelId中唯 一通道索引值的访问

依赖关系

CanNmRxPdu

image9

图5-3CanNmRxPdu容器配置图

表5‑3 CanNmRxPdu属性描述

UI名称

描述

Ca nNmRxPduId

取值范围

0 .. 65535

默认取值

C ANNM_RX_PD U_index(x)

参数描述

此参数定义与此 CanNm 通道关联的 CanIf L-PDU 范围的 Rx PDU ID。

依赖关系

配置的PDU顺序

Can NmRxPduRef

取值范围

Reference to [ Pdu ]

默认取值

参数描述

对此 CanNm 通道使用的全局 PDU 的引用。

依赖关系

依 赖于ECUC里面配置的 PDU,与CanNmTxPduRef 、CanNmTxUse rDataPduRef不能相同

CanNmTxPdu

仅当 CanNmPassiveModeEnabled 为 false 时,此容器的配置有效。

image10

图5-4CanNmTxPdu容器配置图

表5‑4 CanNmTxPdu属性描述

UI名称

描述

CanN mTxConfirm ationPduId

取值范围

0 .. 65535

默认取值

C ANNM_TX_PD U_index(x)

参数描述

下 层的TxConfirmatio n使用的TxPdu的ID。

依赖关系

配置的PDU顺序

Can NmTxPduRef

取值范围

Reference to [ Pdu ]

默认取值

参数描述

引用AUTOSAR ECU 配置规范中描述的全 局PDU结构中的PDU。 CanNm模块将使 用此参考来导出PDU ID。

依赖关系

依赖 于ECUC里面配置的PD U,与CanNmRxPduRef 、CanNmTxUser DataPduRef不能相同

CanNmUserDataTxPdu

image11

图5-5CanNmUserDataTxPdu容器配置图

表5‑5CanNmUserDataTxPdu属性描述

UI名称

描述

CanNmTxUse rDataPduId

取值范围

0 .. 65535

默认取值

CAN NM_USER_TX _PD U_index(x)

参数描述

此参数定义NM用户 数据I-PDU的Handle ID。

依赖关系

配置的PDU顺序

C anNmTxUser DataPduRef

取值范围

Reference to [ Pdu ]

默认取值

参数描述

在全 局PDU集合中引用NM User Data I-PDU I-PDU。

依赖关系

依赖 于ECUC里面配置的PD U,与CanNmRxPduRef 、CanNmTxPduRef 不能相同,该PDU需要 在PDUR模块中有引用

CanNmPnInfo

image12

图5-6CanNmPnInfo容器配置图

表5‑6CanNmPnInfo属性描述

UI名称

描述

CanNmPn InfoLength

取值范围

1 .. 7

默认取值

参数描述

指定NM消息中 PN请求信息的长度。

依赖关系

仅当 Ca nNmGlobalPnSupport == true 时有效

CanNmPn InfoOffset

取值范围

1 .. 7

默认取值

参数描述

指定NM消息中PN 请求信息的偏移量。

依赖关系

仅当 Ca nNmGlobalPnSupport == true 时有效

CanNmPnFilterMaskByte

image13

图5-7CanNmPnFilterMaskByte容器配置图

表5‑7CanNmPnFilterMaskByte属性描述

** UI名称**

描述

Ca nNmPnFil terMaskB yteIndex

取值范围

0 .. 6

默认取值

参数描述

过滤掩码 字节的索引。指定过滤 掩码字节数组中的位置

依赖关系

仅当 CanNmGlobalPnSupport == true 时有效CanNmPn FilterMaskByteIndex< CanNmPnInfoLength

Ca nNmPnFil terMaskB yteValue

取值范围

0 .. 255

默认取值

参数描述

用于配置 过滤掩码字节的参数。

依赖关系

仅当 CanNmGlobalPnSupport == true 时有效