CanIf¶
缩写词注解
缩写词 |
英文全称 |
中文解释 |
DLC |
Data Length Code |
L-PDU中表示报文长度的部分 |
HRH |
CAN hardware receive handle |
CAN驱动层接收硬件单元的抽象 |
HTH |
CAN hardware transmit handle |
CAN驱动层发送硬件单元的抽象 |
HOH |
CAN hardware object handle |
CAN硬件抽象单元(HRH+HTH) |
I-PDU |
Interaction Layer Protocol Data Unit |
交互层协议数据单元 |
L-PDU |
Data Link Layer Protocol Data Unit |
数据链路层协议数据单元 |
DET |
Default Error Tracer |
开发错误检测 |
CAN FD |
Controller Area Network Flexible Data-Rate |
相比传 统CAN,其波特率及负载都更高 |
简介¶
CanIf模块将底层不同的Can驱动,CanTrcv驱动抽象化,方便上层模块统一通过CanIf模块进行访问。在AUTOSAR架构中,其上层模块主要为PduR,CanTp,J1939Tp,CanNm,CanSm等。CanIf主要功能包含L-PDU的接收指示,L-PDU的发送及发送确认等通信功能,以及Can Controller/Trcv的模式控制,波特率切换,睡眠唤醒等其它功能栈功能。
图 CanIf模块层次图
CanIf模块处于AUTOSAR架构中的通信硬件抽象层,其下层模块为CanDrv/CanTrcv驱动模块,上层模块可能为PduR,CanTp,CanNm,CanSM,EcuM,Xcp,J1939Tp,J1939Nm,CDD。
CanIf实现了与上下层模块间基于PDU的发送/接收,实现了对硬件单元模式的控制以及模式切换通知,实现了对睡眠/唤醒机制的支持。
参考资料¶
[1] AUTOSAR_SWS_CANInterface.pdf, R19-11和4.2.2
[2] AUTOSAR_SWS_CANDriver.pdf,R19-11和4.2.2
[3] AUTOSAR_SWS_CANTransceiverDriver.pdf,R19-11和4.2.2
[4] AUTOSAR_SWS_PDURouter.pdf,R19-11和4.2.2
[5] AUTOSAR_SWS_COM.pdf,R19-11和4.2.2
[6] AUTOSAR_SRS_COM.pdf,R19-11和4.2.2
功能描述¶
模式控制功能¶
模式控制功能介绍¶
1.CanIf模块的状态机控制,包括未初始化和已初始化状态,除了CanIf_Init 和CanIf_GetVersionInfo之外,都需要在已初始化状态下才能正常调用。
2.Controller模式控制,分为STOPPED,STARTED,SLEEP三种,只有在START状态下Controller才能正常通信。
3.Trcv模式控制,分为NORMAL,STANDBY,SLEEP三种,只有在NORMAL状态下Trcv才能正常通信。
4.Controller的Pdu模式控制,分为OFFLINE,TX_OFFLINE,TX_OFFLINE_ACTIVE,ONLINE四种,ONLINE模式下允许正常收发通信,TX_OFFLINE模式下只能接收不能发送,TX_OFFLINE_ACTIVE模式下允许接收和虚拟发送,OFFLINE模式下不允许收发通信。
模式控制功能实现¶
1.上电之后CanIf处于CANIF_UNINIT状态,正确调用CanIf_Init(参数为CanIf模块PB配置参数指针)之后状态切换到CANIF_INITED。
2.CanIf_Init初始化之后,Controller模式为STOPPED,调用接口CanIf_SetControllerMode切换Controller模式,调用CanIf_GetControllerMode获取当前Controller模式。当Controller发生BusOff事件时,Controller模式切换到STOPPED。
3.调用CanIf_SetTrcvMode切换Trcv模式,调用CanIf_GetTrcvMode获取Trcv当前模式。
4.CanIf_Init初始化之后,Pdu模式为OFFLINE,调用CanIf_SetPduMode切换Pdu模式,调用CanIf_GetPduMode获取当前Controller的Pdu模式。其中TX_OFFLINE_ACTIVE模式需要在配置项CanIfTxOfflineActiveSupport使能时才支持。当Controller发生BusOff事件时,Pdu模式切换到TX_OFFLINE。
TxPdu发送功能¶
TxPdu发送功能介绍¶
当模块初始化成功,Controller模式及其Pdu模式,Trcv模式均处于允许发送状态时,可通过CanIf两种发送机制来发送L-Pdu:
方式一:上层模块调用CanIf_Transmit请求TxPdu的发送,发送时机由上层决定;
方式二:下层驱动调用CanIf_TriggerTransmit请求TxPdu的发送数据,发送时机由下层决定;
TxPdu发送成功后,下层驱动调用CanIf_TxConfirmation进行发送确认。
TxPdu发送功能实现¶
当上层模块调用CanIf_Transmit请求TxPdu发送,并传入L-PDU的SDU及可能存在的MetaData数据时,CanIf根据Static/Dynamic CanId策略计算出该TxPdu当前对应的CanId,调用Can_Write由配置的HTH进行发送。
CAN总线通常不支持TriggerTransmit进行发送,该机制通常用于LIN总线。
当驱动层TxPdu发送成功后,调用CanIf_TxConfirmation,CanIf调用<User_ TxConfirmation>通知上层模块。
对于TxPdu发送,可以配置TxBuffer机制(CanIfBufferSize>0)来降低因发送邮箱BUSY而导致丢帧的概率。需注意的是配置项CanIfBufferSize决定该HTH最多缓存的不同TxPdu帧数,对于每个TxPdu最多只能缓存一帧。
RxPdu接收功能¶
RxPdu接收功能介绍¶
当模块初始化成功,Controller模式及其Pdu模式,Trcv模式均处于允许接收状态时,将从驱动层接收到的报文,传递到上层模块。
RxPdu接收功能实现¶
当驱动层邮箱收到报文后,调用CanIf_RxIndication将接收数据传递到CanIf模块,CanIf通过接收的HRH以及CanId,查询匹配到接收RxPdu,调用关联上层模块的<User_ RxIndication>将接收RxPdu数据传递给上层模块。
RxPdu上层模块由配置项CanIfRxPduUserRxIndicationUL决定,<User_ RxIndication>由配置项CanIfRxPduUserRxIndicationName决定。
睡眠唤醒功能¶
睡眠唤醒功能介绍¶
上层模块可以通过CanIf来将Controller/Trcv设置为SLEEP模式,支持Controller/Trcv唤醒源检测,Controller/Trcv唤醒确认,Trcv唤醒原因获取,Trcv唤醒标志位检测/清除,Trcv唤醒模式设置。
睡眠唤醒功能实现¶
CanIf提供CanIf_SetControllerMode/CanIf_SetTrcvMode来设置Controller/Trcv的模式(包含SLEEP模式),当发生唤醒事件后可通过调用CanIf_CheckWakeup来检测是否由Controller/Trcv导致的唤醒事件,可通过CanIf_CheckValidation来检测唤醒成功确认(唤醒确认条件为接收到任意Pdu/NM Pdu,参见配置项CanIfPublicWakeupCheckValidByNM是否勾选)。
源文件描述¶
表 CanIf组件文件描述
文件 |
说明 |
CanIf_Cfg.h |
定义CanIf模块PC配置的宏定义。 |
CanIf_Cfg.c |
定义CanIf模块PC配置的结构体参数。 |
CanIf_PBcfg.h |
定义CanIf模块PB配置的宏定义。 |
CanIf_PBcfg.c |
定义CanIf模块PB配置的结构体参数。 |
C anIf_Internal.h |
声明CanIf模块内 部功能所必须的local函数,local宏定义,local变量。 |
C anIf_Internal.c |
实现CanIf模块内 部功能所必须的local函数,local宏定义,local变量。 |
CanIf.h |
声明CanIf模块的全部外 部接口(除了回调函数),以及配置文件中的全局变量。 |
CanIf.c |
作为CanIf模块的核心文 件,实现CanIf模块全部对外接口,以及实现CanIf模块功 能所必须的local函数,local宏定义,local变量定义。 |
CanIf_Types.h |
定义CanIf模 块外部/内部类型,包括AUTOSAR标准定义的类型,以及P B/PC配置参数结构体类型,以及内部运行时结构体类型。 |
CanIf_CanTrcv.h |
声明CanIf 模块提供给 CanTrcv 模块的回调函数。 |
CanIf_Can.h |
声明 CanIf 模块提供给 Can 模块的回调函数。 |
CanIf_Cbk.h |
包含CanIf模块全部回调函数的声明。 |
CanIf_MemMap.h |
声明CanIf模块内存布局。 |
图 CanIf组件文件交互关系图
API接口¶
类型定义¶
CanIf_ConfigType类型定义¶
名称 |
CanIf_ConfigType |
类型 |
struct |
范围 |
无 |
描述 |
CanIf模块PB配置结构体类型 |
CanIf_ControllerModeType类型定义¶
名称 |
CanIf_ControllerModeType |
类型 |
enum |
范围 |
CANIF_CS_UNINIT,CANIF_CS_STARTED ,CANIF_CS_STOPPED,CANIF_CS_SLEEP |
描述 |
CanIf模块中Can控制器模式类型 |
CanIf_PduModeType类型定义¶
名称 |
CanIf_PduModeType |
类型 |
enum |
范围 |
CANIF_OFFLINE, CANIF_TX_OFFLINE,CANIF_TX_OFFLINE_ACTIVE,CANIF_ONLINE |
描述 |
CanIf模块中Pdu通信模式类型 |
CanIf_NotifStatusType类型定义¶
名称 |
CanIf_NotifStatusType |
类型 |
enum |
范围 |
CANIF_NO_NOTIFICATION ,CANIF_TX_RX_NOTIFICATION |
描述 |
CanIf模块中Controller的PDU收发通知类型 |
输入函数描述¶
输入模块 |
API |
CanDrv |
Can_SetControllerMode |
Can_Write |
|
Can_CheckWakeup |
|
Can_SetBaudrate |
|
Can_SetIcomConfiguration |
|
SchM |
SchM_Enter_CanIf_<ExclusiveArea> |
SchM_Exit_CanIf_<ExclusiveArea> |
|
Det |
Det_ReportRuntimeError |
Det_ReportError |
|
CanTrcv |
CanTrcv_SetOpMode |
CanTrcv_GetOpMode |
|
CanTrcv_GetBusWuReason |
|
CanTrcv_SetWakeupMode |
|
CanTrcv_ClearTrcvWufFlag |
|
CanTrcv_CheckWakeFlag |
|
CanTrcv_CheckWakeup |
|
<Up_User> |
User_TriggerTransmit |
User_TxConfirmation |
|
User_RxIndication |
|
User_ValidateWakeupEvent |
|
User_ControllerBusOff |
|
User_ConfirmPnAvailability |
|
User_ClearTrcvWufFlagIndication |
|
User_CheckTrcvWakeFlagIndication |
|
User_ControllerModeIndication |
|
User_TrcvModeIndication |
静态接口函数定义¶
CanIf_Init函数定义¶
函数名称: |
CanIf_Init |
||
函数原型: |
void CanIf_Init(const CanIf_ConfigType* ConfigPtr) |
||
服务编号: |
0x01 |
||
同 步/异步: |
同步 |
||
是 否可重入: |
否 |
||
输入参数: |
ConfigPtr |
值 域: |
无 |
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
无 |
||
功能概述: |
CanIf模块初始化 |
CanIf_DeInit函数定义¶
函数名称: |
CanIf_DeInit |
函数原型: |
void CanIf_DeInit(void) |
服务编号: |
0x02 |
同步/异步: |
同步 |
是 否可重入: |
否 |
输入参数: |
无 |
输入 输出参数: |
无 |
输出参数: |
无 |
返回值: |
无 |
功能概述: |
CanIf模块反初始化 |
CanIf_SetControllerMode函数定义¶
函数名称: |
CanIf_ SetControllerMode |
||
函数原型: |
Std_ReturnType CanIf_S etControllerMode( uint8 ControllerId, Can_Co ntrollerStateType ControllerMode) |
||
服务编号: |
0x03 |
||
同步/异步: |
异步 |
||
是 否可重入: |
不同的Controll er可重入,相同的C ontroller不可重入 |
||
输入参数: |
ControllerId |
值域: |
无 |
ControllerMode |
值域: |
无 |
|
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
Std_ReturnType |
||
功能概述: |
Contr oller模式切换请求 |
CanIf_GetControllerMode函数定义¶
函数名称: |
CanIf_ GetControllerMode |
||
函数原型: |
Std_ReturnType CanIf_G etControllerMode( uint8 ControllerId, Can_Co ntrollerStateType * C ontrollerModePtr) |
||
服务编号: |
0x04 |
||
同步/异步: |
同步 |
||
是 否可重入: |
否 |
||
输入参数: |
ControllerId |
值域: |
无 |
输入 输出参数: |
无 |
||
输出参数: |
ControllerModePtr |
值域: |
无 |
返回值: |
Std_ReturnType |
||
功能概述: |
获取C ontroller当前模式 |
CanIf_Transmit函数定义¶
函数名称: |
CanIf_Transmit |
||
函数原型: |
Std_ReturnType CanIf_Transmit( PduIdType CanIfTxSduId, const PduInfoType* PduInfoPtr) |
||
服务编号: |
0x05 |
||
同步/异步: |
同步 |
||
是 否可重入: |
不同 的TxPdu可重入,相 同的TxPdu不可重入 |
||
输入参数: |
CanIfTxSduId |
值域: |
无 |
PduInfoPtr |
值域: |
无 |
|
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
Std_ReturnType |
||
功能概述: |
TxPdu发送请求 |
CanIf_ReadRxPduData函数定义¶
函数名称: |
Ca nIf_ReadRxPduData |
||
函数原型: |
Std_ReturnType Can If_ReadRxPduData( PduIdType CanIfRxSduId, PduInfoType* CanIfRxInfoPtr) |
||
服务编号: |
0x06 |
||
同步/异步: |
同步 |
||
是 否可重入: |
否 |
||
输入参数: |
CanIfRxSduId |
值域: |
无 |
输入 输出参数: |
无 |
||
输出参数: |
CanIfRxInfoPtr |
值域: |
无 |
返回值: |
Std_ReturnType |
||
功能概述: |
获取 RxPdu最新接收数据 |
CanIf_ReadTxNotifStatus函数定义¶
函数名称: |
CanIf_ ReadTxNotifStatus |
||
函数原型: |
CanI f_NotifStatusType CanIf_R eadTxNotifStatus( PduIdType CanIfTxSduId) |
||
服务编号: |
0x07 |
||
同步/异步: |
同步 |
||
是 否可重入: |
否 |
||
输入参数: |
CanIfTxSduId |
值域: |
无 |
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
CanI f_NotifStatusType |
||
功能概述: |
获取Tx Pdu的发送确认状态 |
CanIf_ReadRxNotifStatus函数定义¶
函数名称: |
CanIf_ ReadRxNotifStatus |
||
函数原型: |
CanI f_NotifStatusType CanIf_R eadRxNotifStatus( PduIdType CanIfRxSduId) |
||
服务编号: |
0x08 |
||
同步/异步: |
同步 |
||
是 否可重入: |
否 |
||
输入参数: |
CanIfRxSduId |
值域: |
无 |
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
CanI f_NotifStatusType |
||
功能概述: |
获取Rx Pdu的接收指示状态 |
CanIf_SetPduMode函数定义¶
函数名称: |
CanIf_SetPduMode |
||
函数原型: |
Std_ReturnType CanIf_SetPduMode( uint8 ControllerId, CanIf_PduModeType PduModeRequest) |
||
服务编号: |
0x09 |
||
同步/异步: |
同步 |
||
是 否可重入: |
否 |
||
输入参数: |
ControllerId |
值域: |
无 |
PduModeRequest |
值域: |
无 |
|
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
Std_ReturnType |
||
功能概述: |
Controller 的PduMode切换请求 |
CanIf_GetPduMode函数定义¶
函数名称: |
CanIf_GetPduMode |
||
函数原型: |
Std_ReturnType CanIf_GetPduMode( uint8 ControllerId, Ca nIf_PduModeType* PduModePtr) |
||
服务编号: |
0x0A |
||
同步/异步: |
同步 |
||
是 否可重入: |
不同Contro ller可重入,相同C ontroller不可重入 |
||
输入参数: |
ControllerId |
值域: |
无 |
输入 输出参数: |
无 |
||
输出参数: |
PduModePtr |
值域: |
无 |
返回值: |
Std_ReturnType |
||
功能概述: |
获取Contro ller的PduMode状态 |
CanIf_GetVersionInfo函数定义¶
函数名称: |
Can If_GetVersionInfo |
||
函数原型: |
void Can If_GetVersionInfo ( Std_ VersionInfoType* VersionInfo) |
||
服务编号: |
0x0B |
||
同步/异步: |
同步 |
||
是 否可重入: |
是 |
||
输入参数: |
无 |
||
输入 输出参数: |
无 |
||
输出参数: |
VersionInfo |
值域: |
无 |
返回值: |
无 |
||
功能概述: |
获取 CanIf模块软件版本 |
CanIf_SetDynamicTxId函数定义¶
函数名称: |
Can If_SetDynamicTxId |
||
函数原型: |
void Can If_SetDynamicTxId ( PduIdType CanIfTxSduId, Can_IdType CanId) |
||
服务编号: |
0x0C |
||
同步/异步: |
同步 |
||
是 否可重入: |
否 |
||
输入参数: |
CanIfTxSduId |
值域: |
无 |
CanId |
值域: |
无 |
|
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
无 |
||
功能概述: |
设置 动态TxPdu的CanId |
CanIf_SetTrcvMode函数定义¶
函数名称: |
CanIf_SetTrcvMode |
||
函数原型: |
Std_ReturnType CanIf_SetTrcvMode ( uint8 TransceiverId, Can Trcv_TrcvModeType TransceiverMode) |
||
服务编号: |
0x0D |
||
同步/异步: |
异步 |
||
是 否可重入: |
否 |
||
输入参数: |
TransceiverId |
值域: |
无 |
TransceiverMode |
值域: |
无 |
|
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
Std_ReturnType |
||
功能概述: |
请求设置Trcv模式 |
CanIf_GetTrcvMode函数定义¶
函数名称: |
CanIf_GetTrcvMode |
||
函数原型: |
Std_ReturnType C anIf_GetTrcvMode( CanTr cv_TrcvModeType* Tr ansceiverModePtr, uint8 TransceiverId) |
||
服务编号: |
0x0E |
||
同步/异步: |
同步 |
||
是 否可重入: |
否 |
||
输入参数: |
TransceiverId |
值域: |
无 |
输入 输出参数: |
无 |
||
输出参数: |
T ransceiverModePtr |
值域: |
无 |
返回值: |
Std_ReturnType |
||
功能概述: |
获取Trcv模式 |
CanIf_GetTrcvWakeupReason函数定义¶
函数名称: |
CanIf_Ge tTrcvWakeupReason |
||
函数原型: |
Std_ReturnType CanIf_Get TrcvWakeupReason( uint8 TransceiverId, CanTrcv_TrcvW akeupReasonType* TrcvWuReasonPtr) |
||
服务编号: |
0x0F |
||
同步/异步: |
同步 |
||
是 否可重入: |
否 |
||
输入参数: |
TransceiverId |
值域: |
无 |
输入 输出参数: |
无 |
||
输出参数: |
TrcvWuReasonPtr |
值域: |
无 |
返回值: |
Std_ReturnType |
||
功能概述: |
获 取Trcv的唤醒原因 |
CanIf_SetTrcvWakeupMode函数定义¶
函数名称: |
CanIf_ SetTrcvWakeupMode |
||
函数原型: |
Std_ReturnType CanIf_S etTrcvWakeupMode( uint8 TransceiverId, CanTrcv_T rcvWakeupModeType TrcvWakeupMode) |
||
服务编号: |
0x10 |
||
同步/异步: |
同步 |
||
是 否可重入: |
否 |
||
输入参数: |
TransceiverId |
值域: |
无 |
TrcvWakeupMode |
值域: |
无 |
|
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
Std_ReturnType |
||
功能概述: |
设置Trcv唤醒模式 |
CanIf_CheckWakeup函数定义¶
函数名称: |
CanIf_CheckWakeup |
||
函数原型: |
Std_ReturnType C anIf_CheckWakeup( EcuM _WakeupSourceType WakeupSource) |
||
服务编号: |
0x11 |
||
同步/异步: |
异步 |
||
是 否可重入: |
是 |
||
输入参数: |
WakeupSource |
值域: |
无 |
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
Std_ReturnType |
||
功能概述: |
唤 醒源检测(底层Can 驱动/CanTrcv驱动) |
CanIf_CheckValidation函数定义¶
函数名称: |
CanI f_CheckValidation |
||
函数原型: |
Std_ReturnType CanIf _CheckValidation( EcuM _WakeupSourceType WakeupSource) |
||
服务编号: |
0x12 |
||
同步/异步: |
同步 |
||
是 否可重入: |
是 |
||
输入参数: |
WakeupSource |
值域: |
无 |
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
Std_ReturnType |
||
功能概述: |
唤醒事件确认 |
CanIf_GetTxConfirmationState函数定义¶
函数名称: |
CanIf_GetTx ConfirmationState |
||
函数原型: |
CanI f_NotifStatusType CanIf_GetTxC onfirmationState( uint8 ControllerId) |
||
服务编号: |
0x19 |
||
同步/异步: |
同步 |
||
是 否可重入: |
不同Contro ller可重入,不同C ontroller不可重入 |
||
输入参数: |
ControllerId |
值域: |
无 |
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
CanI f_NotifStatusType |
||
功能概述: |
获取C ontroller是否已发 送报文成功(TxCon firmation已发生) |
CanIf_ClearTrcvWufFlag函数定义¶
函数名称: |
CanIf _ClearTrcvWufFlag |
||
函数原型: |
Std_ReturnType CanIf_ ClearTrcvWufFlag( uint8 TransceiverId) |
||
服务编号: |
0x1E |
||
同步/异步: |
异步 |
||
是 否可重入: |
不同Trcv可重入, 相同Trcv不可重入 |
||
输入参数: |
TransceiverId |
值域: |
无 |
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
Std_ReturnType |
||
功能概述: |
请求清 除Trcv唤醒标志位 |
CanIf_CheckTrcvWakeFlag函数定义¶
函数名称: |
CanIf_ CheckTrcvWakeFlag |
||
函数原型: |
Std_ReturnType CanIf_C heckTrcvWakeFlag( uint8 TransceiverId) |
||
服务编号: |
0x1F |
||
同步/异步: |
异步 |
||
是 否可重入: |
不同Trcv可重入, 相同Trcv不可重入 |
||
输入参数: |
TransceiverId |
值域: |
无 |
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
Std_ReturnType |
||
功能概述: |
检 测Trcv唤醒标志位 |
CanIf_SetBaudrate函数定义¶
函数名称: |
CanIf_SetBaudrate |
||
函数原型: |
Std_ReturnType C anIf_SetBaudrate( uint8 ControllerId, uint16 BaudRateConfigID) |
||
服务编号: |
0x27 |
||
同步/异步: |
同步 |
||
是 否可重入: |
不同的Controll er可重入,相同的C ontroller不可重入 |
||
输入参数: |
ControllerId |
值域: |
无 |
BaudRateConfigID |
值域: |
无 |
|
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
Std_ReturnType |
||
功能概述: |
切换 Controller波特率 |
CanIf_SetIcomConfiguration函数定义¶
函数名称: |
CanIf_Set IcomConfiguration |
||
函数原型: |
Std_ReturnType CanIf_SetI comConfiguration( uint8 ControllerId, IcomConfigIdType ConfigurationId) |
||
服务编号: |
0x25 |
||
同步/异步: |
异步 |
||
是 否可重入: |
不同的Controll er可重入,相同的C ontroller不可重入 |
||
输入参数: |
ControllerId |
值域: |
无 |
ConfigurationId |
值域: |
无 |
|
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
Std_ReturnType |
||
功能概述: |
切换Con troller的Icom配置 |
CanIf_TriggerTransmit函数定义¶
函数名称: |
CanI f_TriggerTransmit |
||
函数原型: |
Std_ReturnType CanIf _TriggerTransmit( PduIdType TxPduId, PduInfoType* PduInfoPtr) |
||
服务编号: |
0x41 |
||
同步/异步: |
同步 |
||
是 否可重入: |
不同 的TxPdu可重入,相 同的TxPdu不可重入 |
||
输入参数: |
TxPduId |
值域: |
无 |
输入 输出参数: |
PduInfoPtr |
值域: |
无 |
输出参数: |
无 |
||
返回值: |
Std_ReturnType |
||
功能概述: |
请求获 取TxPdu的报文数据 |
CanIf_TxConfirmation函数定义¶
函数名称: |
Can If_TxConfirmation |
||
函数原型: |
void CanI f_TxConfirmation( PduIdType CanTxPduId) |
||
服务编号: |
0x13 |
||
同步/异步: |
同步 |
||
是 否可重入: |
是 |
||
输入参数: |
CanTxPduId |
值域: |
无 |
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
无 |
||
功能概述: |
TxPdu发送确认 |
CanIf_RxIndication函数定义¶
函数名称: |
C anIf_RxIndication |
||
函数原型: |
void Ca nIf_RxIndication( const Can_HwType* Mailbox, const PduInfoType* PduInfoPtr) |
||
服务编号: |
0x14 |
||
同步/异步: |
同步 |
||
是 否可重入: |
是 |
||
输入参数: |
Mailbox |
值域: |
无 |
PduInfoPtr |
值域: |
无 |
|
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
无 |
||
功能概述: |
RxPdu接收指示 |
CanIf_ControllerBusOff函数定义¶
函数名称: |
CanIf _ControllerBusOff |
||
函数原型: |
void CanIf_ ControllerBusOff( uint8 ControllerId) |
||
服务编号: |
0x16 |
||
同步/异步: |
同步 |
||
是 否可重入: |
是 |
||
输入参数: |
ControllerId |
值域: |
无 |
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
无 |
||
功能概述: |
Controller发 生BusOff事件通知 |
CanIf_ClearTrcvWufFlagIndication函数定义¶
函数名称: |
CanIf_ClearTrcv WufFlagIndication |
||
函数原型: |
void CanIf_ClearTrcvW ufFlagIndication( uint8 TransceiverId) |
||
服务编号: |
0x20 |
||
同步/异步: |
同步 |
||
是 否可重入: |
是 |
||
输入参数: |
TransceiverId |
值域: |
无 |
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
无 |
||
功能概述: |
Trcv唤醒标 志位清除成功通知 |
CanIf_CheckTrcvWakeFlagIndication函数定义¶
函数名称: |
CanIf_CheckTrcvW akeFlagIndication |
||
函数原型: |
void CanIf_CheckTrcvWa keFlagIndication( uint8 TransceiverId) |
||
服务编号: |
0x21 |
||
同步/异步: |
同步 |
||
是 否可重入: |
是 |
||
输入参数: |
TransceiverId |
值域: |
无 |
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
无 |
||
功能概述: |
Trcv唤醒标 志位检测完成通知 |
CanIf_ControllerModeIndication函数定义¶
函数名称: |
CanIf_Control lerModeIndication |
||
函数原型: |
void CanIf_Controll erModeIndication( uint8 ControllerId, Can_Co ntrollerStateType ControllerMode) |
||
服务编号: |
0x17 |
||
同步/异步: |
同步 |
||
是 否可重入: |
是 |
||
输入参数: |
ControllerId |
值域: |
无 |
ControllerMode |
值域: |
无 |
|
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
无 |
||
功能概述: |
Contr oller模式变化通知 |
CanIf_TrcvModeIndication函数定义¶
函数名称: |
CanIf_T rcvModeIndication |
||
函数原型: |
void CanIf_Tr cvModeIndication( uint8 TransceiverId, Can Trcv_TrcvModeType TransceiverMode) |
||
服务编号: |
0x22 |
||
同步/异步: |
同步 |
||
是 否可重入: |
是 |
||
输入参数: |
TransceiverId |
值域: |
无 |
TransceiverMode |
值域: |
无 |
|
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
无 |
||
功能概述: |
Trcv模式改变通知 |
CanIf_CurrentIcomConfiguration函数定义¶
函数名称: |
CanIf_Current IcomConfiguration |
||
函数原型: |
void CanIf_CurrentI comConfiguration( uint8 ControllerId, IcomConfigIdType ConfigurationId, Ico mSwitch_ErrorType Error) |
||
服务编号: |
0x26 |
||
同步/异步: |
同步 |
||
是 否可重入: |
不同的Controll er可重入,相同的C ontroller不可重入 |
||
输入参数: |
ControllerId |
值域: |
无 |
ConfigurationId |
值域: |
无 |
|
Error |
值域: |
无 |
|
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
无 |
||
功能概述: |
Controller的 Icom配置改变通知 |
可配置函数定义¶
无。
配置¶
CanIfPublicCfg¶
图 CanIfPublicCfg
表 CanIfPublicCfg
UI名称 |
描述 |
|||
CanIfPublicCtrlDrvVersion |
取值范围 |
AUTOSAR422/ AUTOSAR431/ AUTOSAR440 |
||
参数描述 |
表示Can驱动的Autosar版本 |
|||
依赖关系 |
依赖于Can驱动的Autosar版本 |
|||
CanIfBusMirroringSupport |
取值范围 |
true/false |
默认取值 |
FALSE |
参数描述 |
是否使能总线镜像功能 |
|||
依赖关系 |
当前不支持 |
|||
CanIfDevErrorDetect |
取值范围 |
true/false |
默认取值 |
FALSE |
是否使能开发错误检测和通知 |
||||
依赖于Det |
||||
CanIfMetaDataSupport |
true/false |
默认取值 |
FALSE |
|
是否使能MetaData机制 |
||||
当CanIfMetaDataSupport使能,CanIf关联的ECUC中Pdu才能配置MetaDataTypeRef |
||||
CanIfPublicCancelTransmitSupport |
取值范围 |
true/false |
||
参数描述 |
是否使能TxPdu发送取消机制(该机制已不支持) |
|||
依赖关系 |
无 |
|||
CanIfPublicCddHeaderFile |
取值范围 |
string |
||
参数描述 |
模块与CDD交互时,需要包含的头文件,填写规则必须为“xxx.h” |
|||
依赖关系 |
根据CDD具体实现的头文件名 |
|||
CanIfPublicHandleTypeEnum |
取值范围 |
UINT16/UINT8 |
||
参数描述 |
决定Can_HwHandleType的定义 |
|||
依赖关系 |
当CAN hardware units超过255时,该项需配置为UNIT16 |
|||
CanIfPublicCanIdTypeEnum |
取值范围 |
UINT16/UINT32 |
默认取值 |
UINT32 |
参数描述 |
根据Can_IdType的定义设定 |
|||
依赖关系 |
当驱动Can_IdType定义为uint16时,该项需配置为UNIT16;当驱动Can_IdType定义为uint32时,该项需配置为UNIT32 |
|||
CanIfPublicIcomSupport |
取值范围 |
true/false |
默认取值 |
FALSE |
参数描述 |
是否使能Pretended Network |
|||
依赖关系 |
该功能依赖于CAN驱动对虚拟网络功能的支持 |
|||
CanIfPublicMultipleDrvSupport |
取值范围 |
true/false |
默认取值 |
TRUE |
参数描述 |
是否支持多CAN驱动 |
|||
依赖关系 |
限制CanIfCtrlDrvCfg的配置数目 |
|||
CanIfPublicPnSupport |
取值范围 |
true/false |
默认取值 |
FALSE |
参数描述 |
是否使能Partial Network,依赖于Trcv驱动的配置 |
|||
依赖关系 |
限制TxPdu的CanIfTxPduPnFilterPdu配置 |
|||
CanIfPublicReadRxPduDataApi |
取值范围 |
true/false |
默认取值 |
FALSE |
参数描述 |
是否使能CanIf_ReadRxPduData |
|||
依赖关系 |
无 |
|||
CanIfPublicReadRxPduNotifyStatusApi |
取值范围 |
true/false |
默认取值 |
FALSE |
参数描述 |
是否使能CanIf_ReadRxNotifStatus |
|||
依赖关系 |
无 |
|||
CanIfPublicReadTxPduNotifyStatusApi |
取值范围 |
true/false |
默认取值 |
FALSE |
参数描述 |
是否使能CanIf_ReadTxNotifStatus |
|||
依赖关系 |
无 |
|||
CanIfPublicSetDynamicTxIdApi |
取值范围 |
true/false |
默认取值 |
FALSE |
参数描述 |
是否使能CanIf_SetDynamicTxId |
|||
依赖关系 |
无 |
|||
CanIfPublicTxBuffering |
取值范围 |
true/false |
默认取值 |
FALSE |
参数描述 |
是否使能CanIf发送Buffer机制 |
|||
依赖关系 |
无 |
|||
CanIfPublicTxConfirmPollingSupport |
取值范围 |
true/false |
默认取值 |
TRUE |
参数描述 |
是否使能CanIf_GetTxConfirmationState |
|||
依赖关系 |
无 |
|||
CanIfPublicWakeupCheckValidByNM |
取值范围 |
true/false |
默认取值 |
FALSE |
参数描述 |
是否使能通过NM RxPdu来确认唤醒 |
|||
依赖关系 |
依赖于唤醒确认的使能 |
|||
CanIfPublicWakeupCheckValidSupport |
||||
CanIfPublicWakeupCheckValidSupport |
取值范围 |
true/false |
默认取值 |
FALSE |
参数描述 |
是否使能唤醒确认 |
|||
依赖关系 |
依赖于CanIfWakeupSupport的使能 |
|||
CanIfSetBaudrateApi |
取值范围 |
true/false |
默认取值 |
FALSE |
参数描述 |
是否使能CanIf_SetBaudrate |
|||
依赖关系 |
依赖于CAN驱动的支持 |
|||
CanIfTriggerTransmitSupport |
取值范围 |
true/false |
默认取值 |
FALSE |
参数描述 |
是否使能CanIf_TriggerTransmit |
|||
依赖关系 |
无 |
|||
CanIfTxOfflineActiveSupport |
取值范围 |
true/false |
默认取值 |
FALSE |
参数描述 |
是否使能TxPdu的模拟发送模式 |
|||
依赖关系 |
无 |
|||
CanIfVersionInfoApi |
取值范围 |
true/false |
默认取值 |
FALSE |
参数描述 |
是否使能CanIf模拟版本Api |
|||
依赖关系 |
无 |
|||
CanIfWakeupSupport |
取值范围 |
true/false |
默认取值 |
TRUE |
参数描述 |
是否使能唤醒机制 |
|||
依赖关系 |
依赖于CanDrv和CanTrcv的支持 |
CanIfPrivateCfg¶
图 CanIfPrivateCfg
表 CanIfPrivateCfg
UI名称 |
描述 |
|||
C anIfFixedBuffer |
取值范围 |
true(固定配置) |
默认取值 |
true |
参数描述 |
对于数据长度 <8字节的报文,分 配固定8字节Buffer |
|||
依赖关系 |
无 |
|||
CanIfPrivate DataLengthCheck |
取值范围 |
true/false |
默认取值 |
true |
参数描述 |
选 择是否支持DLC检测 |
|||
依赖关系 |
无 |
|||
CanIfPrivateSof twareFilterType |
取值范围 |
LINEAR/BINARY |
默认取值 |
LINEAR |
参数描述 |
HRH接收到的报文 →RxPdu的匹配算法 在配置为BIN ARY时,在下面情况 下按照二分法查找 RxPdu,其它情况按 照线性查找RxPdu。 ①该HRH关联的 RxPdu均未配置CanI fRxPduCanIdMask; ②该HRH关联的RxPd u均配置了相同的Ca nIfRxPduCanIdMask 且 这些RxP du全部未配置CanIf RxPduCanIdRange; |
|||
依赖关系 |
无 |
|||
Ca nIfSupportTTCAN |
取值范围 |
false(固定配置) |
默认取值 |
false |
参数描述 |
定义是否支持TTCAN |
|||
依赖关系 |
无 |
CanIfDispatchCfg¶
图 CanIfDispatchCfg
表 CanIfDispatchCfg
UI名称 |
描述 |
|||
CanIfDispatchUserCheckTrcvWakeFlagIndicationName |
取值范围 |
string |
默认取值 |
无 |
参数描述 |
<User_CheckTrcvWakeFlagIndication>的接口名 |
|||
依赖关系 |
接口名依赖于 |
|||
CanIfDispatchUserCheckTrcvWakeFlagIndicationUL的选择; |
||||
该配置的使能依赖于CanIfPublicPnSupport的使能; |
||||
CanIfDispatchUserCheckTrcvWakeFlagIndicationUL |
取值范围 |
CAN_SM |
默认取值 |
无 |
CDD |
||||
参数描述 |
CheckTrcvWakeFlagIndication通知到上层的模块 |
|||
依赖关系 |
该配置的使能依赖于CanIfPublicPnSupport的使能 |
|||
CanIfDispatchUserClearTrcvWufFlagIndicationName |
取值范围 |
string |
默认取值 |
无 |
参数描述 |
<User_ClearTrcvWufFlagIndication>的接口名 |
|||
依赖关系 |
接口名依赖于 |
|||
CanIfDispatchUserClearTrcvWufFlagIndicationUL; |
||||
该配置的使能依赖于CanIfPublicPnSupport的使能; |
||||
CanIfDispatchUserClearTrcvWufFlagIndicationUL |
取值范围 |
CAN_SM |
默认取值 |
无 |
CDD |
||||
参数描述 |
ClearTrcvWufFlagIndication通知到上层的模块 |
|||
依赖关系 |
该配置的使能依赖于CanIfPublicPnSupport的使能 |
|||
CanIfDispatchUserConfirmPnAvailabilityName |
取值范围 |
string |
默认取值 |
无 |
参数描述 |
<User_ConfirmPnAvailability>的接口名 |
|||
依赖关系 |
接口名依赖于 |
|||
CanIfDispatchUserConfirmPnAvailabilityUL; |
||||
该配置的使能依赖于CanIfPublicPnSupport的使能; |
||||
CanIfDispatchUserConfirmPnAvailabilityUL |
取值范围 |
CAN_SM |
默认取值 |
无 |
CDD |
||||
参数描述 |
ConfirmPnAvailability通知到的上层模块 |
|||
依赖关系 |
该配置的使能依赖于CanIfPublicPnSupport的使能; |
|||
CanIfDispatchUserCtrlBusOffName |
取值范围 |
string |
默认取值 |
CanSM_ControllerBusOff |
参数描述 |
<User_ControllerBusOff>的接口名 |
|||
依赖关系 |
接口名依赖于 |
|||
CanIfDispatchUserCtrlBusOffUL; |
||||
CanIfDispatchUserCtrlBusOffUL |
取值范围 |
CAN_SM |
默认取值 |
CAN_SM |
CDD |
||||
参数描述 |
ControllerBusOff事件通知的上层模块 |
|||
依赖关系 |
依赖于CanSM或者CDD模块的实现 |
|||
CanIfDispatchUserCtrlModeIndicationName |
取值范围 |
string |
默认取值 |
CanSM_ControllerModeIndication |
参数描述 |
<User_ControllerModeIndication>的接口名 |
|||
依赖关系 |
接口名依赖于 |
|||
CanIfDispatchUserCtrlModeIndicationUL; |
||||
CanIfDispatchUserCtrlModeIndicationUL |
取值范围 |
CAN_SM |
默认取值 |
CAN_SM |
CDD |
||||
参数描述 |
CtrlModeIndication事件通知到的上层模块 |
|||
依赖关系 |
无 |
|||
CanIfDispatchUserTrcvModeIndicationName |
取值范围 |
string |
默认取值 |
无 |
参数描述 |
<User_TrcvModeIndication>的接口名 |
|||
依赖关系 |
接口名依赖于 |
|||
CanIfDispatchUserTrcvModeIndicationUL; |
||||
依赖于模块配置了至少一个CanTrcv驱动; |
||||
CanIfDispatchUserTrcvModeIndicationUL |
取值范围 |
CAN_SM |
默认取值 |
无 |
CDD |
||||
参数描述 |
<User_TrcvModeIndication>的接口名 |
|||
依赖关系 |
依赖于模块配置了至少一个CanTrcv驱动; |
|||
CanIfDispatchUserValidateWakeupEventName |
取值范围 |
string |
默认取值 |
无 |
参数描述 |
<User_ValidateWakeupEvent>的接口名 |
|||
依赖关系 |
接口名依赖于 |
|||
CanIfDispatchUserValidateWakeupEventUL; |
||||
依赖于配置项 |
||||
CanIfPublicWakeupCheckValidSupport的使能; |
||||
CanIfDispatchUserValidateWakeupEventUL |
取值范围 |
ECUM |
默认取值 |
无 |
CDD |
||||
参数描述 |
<User_ValidateWakeupEvent>的接口名 |
|||
依赖关系 |
依赖于配置项 |
|||
CanIfPublicWakeupCheckValidSupport的使能; |
CanIfCtrlDrvCfg¶
图 CanIfCtrlDrvCfg
表 CanIfCtrlDrvCfg
UI名称 |
描述 |
|||
CanIfCtrlDrv InitHohConfigRef |
取值范围 |
关联 到[CanIfInitHohCfg] |
默 认取值 |
无 |
参数描述 |
该CanDrv关 联的HOH(多个CanDrv 可关联到同一个HOH) |
|||
依赖关系 |
无 |
|||
Can IfCtrlDrvNameRef |
取值范围 |
关联 到CanDrv中驱动Name |
默 认取值 |
无 |
参数描述 |
用于获 取CanIf模块需要调用 的CanDrv功能接口名 |
|||
依赖关系 |
依赖于CanDrv的配置 |
CanIfCtrlCfg¶
图 CanIfCtrlCfg
表 CanIfCtrlCfg
UI名称 |
描述 |
|||
CanIfCtrlId |
取值范围 |
string |
默认取值 |
FALSE |
参数描述 |
该Controller在CanIf模块中的Index(宏定义) |
|||
依赖关系 |
宏名根据CanIfCtrlCfg名自动生成 |
|||
CanIfCtrlWa keupSupport |
取值范围 |
true/false |
默认取值 |
FALSE |
参数描述 |
表示该Controller是否支持唤醒机制 |
|||
依赖关系 |
依赖于CanIfWakeupSupport的使能 |
|||
CanIfCtrlCanCtrlRef |
取值范围 |
关联到CanDrv中Controller |
默认取值 |
无 |
参数描述 |
开启或关闭读取软件版本信息API开关TRUE:启用读取软件版本信息API开关FALSE:关闭读取软件版本信息API开关 |
|||
依赖关系 |
无 |
|||
EepWriteCycleReduction |
取值范围 |
TRUE/FALSE |
默认取值 |
FALSE |
参数描述 |
依赖于Can驱动中Controller的配置。若Can驱动为第三方工具无法查询CanIf的配置参数,无法获知CanIf和CanController的映射关系,通常需要CanIf与Can中Controller的Id要配置一样,否则需要定制化转换 |
|||
依赖关系 |
无 |
|||
EepWriteCycleReduction |
取值范围 |
关联到EcuC中EcucPartition |
默认取值 |
无 |
参数描述 |
该参数引用EcuC模块中EcucPartition信息(只做同步 显示,不可手动配置修改) |
|||
依赖关系 |
依赖于ComM模块中ComMChannel的ComMChannelPartitionRef信息。若ComM中对于该CanIfCtrl未配置分区信息,则显示为空;若ComM中对于该CanIfCtrl存在配置分区信息,则显示为ComM中配置的分区信息 |
CanIfTrcvCfg¶
图 CanIfTrcvCfg
表 CanIfTrcvCfg
UI名称 |
描述 |
|||
CanIfTrcvId |
取值范围 |
string |
默认取值 |
无 |
参数描述 |
该Trcv在 CanIf模块中的I ndex(宏定义) |
|||
依赖关系 |
宏 名根据CanIfTrc vCfg名自动生成 |
|||
CanIfTrcvWa keupSupport |
取值范围 |
true/false |
默认取值 |
false |
参数描述 |
表示该Trcv是 否支持唤醒机制 |
|||
依赖关系 |
依 赖于CanIfWakeu pSupport的使能 |
|||
CanIfTrc vCanTrcvRef |
取值范围 |
引用Trcv收发器 |
默认取值 |
无 |
参数描述 |
该参数引用Can Trcv模块中Trcv |
|||
依赖关系 |
依赖于C anTrcv中Trcv的 配置。若CanTr cv驱动为第三方 工具无法查询C anIf的配置参数 ,通常需要CanI f与CanTrcv驱动 中Trcv的Id要配 置一样,否则需 要定制化转换。 |
|||
CanIfTrcvP artitionRef |
取值范围 |
关联到EcuC中 EcucPartition |
默认取值 |
无 |
参数描述 |
该 参数引用EcuC模 块中EcucParti tion信息(只做 同步显示,不可 手动配置修改) |
|||
依赖关系 |
依赖于ComM模 块中ComMChanne l的ComMChannel PartitionRef信 息。若ComM中对 于该CanIfCtrl 未配置分区信息 ,则显示为空; 若ComM中对于该 CanIfCtrl存在 配置分区信息, 则显示为ComM中 配置的分区信息 |
CanIfTxPduCfg¶
图 CanIfTxPduCfg
表 CanIfTxPduCfg
UI名称 |
描述 |
|||
CanIf TxPduCanId |
取值范围 |
0 x0…0x1fffffff/0x7ff |
默认取值 |
0x0 |
参数描述 |
表示T xPdu的CanId(11位用 于标准CAN标识符… 29位 用于扩展CAN标识符) |
|||
依赖关系 |
依赖于 CanIfTxPduCanIdType |
|||
CanIfTxPd uCanIdMask |
取值范围 |
0 x0…0x1fffffff/0x7ff |
默认取值 |
0x1fffffff |
参数描述 |
用于MetaDa ta机制动态更改CanId |
|||
依赖关系 |
依 赖于CanIfTxPduType 和C anIfMetaDataSupport |
|||
CanIfTxPd uCanIdType |
取值范围 |
EXTENDED_CAN EXTENDED_FD_CAN STANDARD_CAN STANDARD_FD_CAN |
默认取值 |
无 |
参数描述 |
CanId类型选择 |
|||
依赖关系 |
CanIfTxPduCanIdTyp e为EXTENDED,CanIfT xPduCanId和CanIfTxP duCanIdMask配置范围 ≤0x1fffffff;CanIf TxPduCanIdType为STA NDARD,CanIfTxPduCa nId和CanIfTxPduCanI dMask配置范围≤0x7ff |
|||
Ca nIfTxPduId |
取值范围 |
string |
默认取值 |
无 |
参数描述 |
表示TxPd u在CanIf中的Index号 |
|||
依赖关系 |
根据CanIfTxPduRef 关联的Pdu名自动生成 |
|||
C anIfTxPduP nFilterPdu |
取值范围 |
true/false |
默认取值 |
false |
参数描述 |
表示该Tx Pdu是否能通过PN过滤 |
|||
依赖关系 |
依赖于CanIfPu blicPnSupport的使能 |
|||
CanIfT xPduReadNo tifyStatus |
取值范围 |
true/false |
默认取值 |
false |
参数描述 |
表示该TxPdu是否支 持读取发送通知状态 |
|||
依赖关系 |
依赖 于CanIfPublicReadT xPduNotifyStatusApi |
|||
CanIf TxPduTrigg erTransmit |
取值范围 |
true/false |
默认取值 |
false |
参数描述 |
表示该TxPdu是否 支持TriggerTransmit |
|||
依赖关系 |
依 赖于CanIfTriggerTr ansmitSupport的使能 |
|||
CanIfTxPdu Truncation |
取值范围 |
true/false |
默认取值 |
true |
参数描述 |
启用/禁用超 过配置大小的pdu的截 断功能(暂不支持) |
|||
依赖关系 |
无 |
|||
CanI fTxPduType |
取值范围 |
DYNAMIC STATIC |
默认取值 |
STATIC |
参数描述 |
表 示该TxPdu的CanId是 否支持动态改变,当 CanIf中Pdu关联的ECU C中Pdu配置了MetaDat a时,其CanIfTxPduTy pe必须配置为DYNAMIC |
|||
依赖关系 |
无 |
|||
Can IfTxPduUse rTriggerTr ansmitName |
取值范围 |
string |
默认取值 |
无 |
参数描述 |
表示 上层模块<User_Trigg erTransmit>的接口名 |
|||
依赖关系 |
依赖于该 TxPdu的CanIfTxPduTr iggerTransmit使能; 依赖 于CanIfTxPduUserTxC onfirmationUL选择; |
|||
Ca nIfTxPduUs erTxConfir mationName |
取值范围 |
string |
默认取值 |
无 |
参数描述 |
表示上层模块< User_TxConfirmation >的接口名 |
|||
依赖关系 |
依赖 于CanIfTxPduUserTxC onfirmationUL选择; |
|||
CanIfTxPdu UserTxConf irmationUL |
取值范围 |
CAN_NM CAN_TP CAN_TSYN CDD J1939NM J1939TP PDUR XCP |
默认取值 |
无 |
参数描述 |
表示发 送该TxPdu的上层模块 |
|||
依赖关系 |
无 |
|||
CanIfTxPd uBufferRef |
取值范围 |
引用[ CanIfBufferCfg] |
默认取值 |
无 |
参数描述 |
表示 该TxPdu关联的TxBuff er(间接关联到HTH) |
|||
依赖关系 |
无 |
|||
Can IfTxPduRef |
取值范围 |
关联ECUC中Pdu |
默认取值 |
无 |
参数描述 |
通过ECUC中Pdu索引 ,明确Pdu的路由路径 |
|||
依赖关系 |
依赖 于ECUC中Pdu的配置, CanIf中CanIfTxPduR ef关联的ECUC中Pdu必 须要被别的模块关联 |
CanIfBufferCfg¶
图 CanIfBufferCfg
表 CanIfBufferCfg
UI名称 |
描述 |
|||
CanIf BufferSize |
取值范围 |
0..255 |
默认取值 |
0 |
参数描述 |
表示关联的HTH的Buf ferSize(用于缓存通 过该HTH发送的TxPdu 报文),配置为0表示 该HTH不支持发送缓存 |
|||
依赖关系 |
依赖于配置Can IfPublicTxBuffering |
|||
CanIfBu fferHthRef |
取值范围 |
引用CanIfHthCfg |
默认取值 |
无 |
参数描述 |
关联HTH(间接将T xPdu与HTH关联起来) |
|||
依赖关系 |
与CanIfHth Cfg为一一对应的关系 |
CanIfHthCfg¶
图 CanIfHthCfg
表 CanIfHthCfg
UI名称 |
描述 |
|||
CanIfHthCa nCtrlIdRef |
取值范围 |
引用CanIfCtrlCfg |
默认取值 |
无 |
参数描述 |
关联到CanIf模块 中配置的Controller |
|||
依赖关系 |
关联到 配置项CanIfCtrlCfg |
|||
CanIfH thIdSymRef |
取值范围 |
引用 CanDrv中HTH硬件单元 |
默认取值 |
无 |
参数描述 |
关联到Can驱 动中硬件发送单元HTH |
|||
依赖关系 |
依赖于Can驱动中硬 件发送单元HTH的配置 |
CanIfRxPduCfg¶
图 CanIfRxPduCfg
表 CanIfRxPduCfg
UI名称 |
描述 |
|||
CanIfRxPduCanId |
取值范围 |
0x0 .. 0x1FFFFFFF |
||
参数描述 |
标准帧:0x0-0x7FF;扩展帧:0x0-0x1FFFFFFF |
|||
依赖关系 |
依赖于CanIfRxPduCanIdType |
|||
CanIfRxPduCanIdMask |
取值范围 |
0x0 .. 0x1FFFFFFF |
默认取值 |
0x1FFFFFFF |
参数描述 |
接收报文CanId的掩码,用于接收过滤 |
|||
依赖关系 |
依赖于CanIfRxPduCanIdType |
|||
CanIfRxPduCanIdType |
取值范围 |
EXTENDED_CAN |
默认取值 |
无 |
EXTENDED_FD_CAN |
||||
EXTENDED_NO_FD_CAN |
||||
STANDARD_CAN |
||||
STANDARD_FD_CAN |
||||
STANDARD_NO_FD_CAN |
||||
参数描述 |
表示接收CAN报文类型 |
|||
依赖关系 |
无 |
|||
CanIfRxPduDataLength |
取值范围 |
0..64 |
默认取值 |
8 |
参数描述 |
RxPdu的DLC长度(用于DLC检测) |
|||
依赖关系 |
依赖于配置CanIfPrivateDataLengthCheck |
|||
CanIfRxPduDataLengthCheck |
取值范围 |
true/false |
默认取值 |
无 |
参数描述 |
接收时检查该Pdu的长度(暂不支持修改) |
|||
依赖关系 |
依赖于配置CanIfPrivateDataLengthCheck |
|||
CanIfRxPduId |
取值范围 |
string |
默认取值 |
无 |
参数描述 |
表示该RxPdu在CanIf模块中的Index,由其关联的Pdu名自动生成宏名 |
|||
依赖关系 |
根据CanIfRxPduRef关联的Pdu名自动生成 |
|||
CanIfRxPduReadData |
取值范围 |
true/false |
默认取值 |
FALSE |
参数描述 |
表示该RxPdu是否支持CanIf_ReadRxPduData获取接收数据 |
|||
依赖关系 |
依赖于CanIfPublicReadRxPduDataApi,当RxPdu支持CanIfRxPduReadData时,接收报文CanId必须为唯一值(CanIfRxPduCanIdRange配置不能是一个范围) |
|||
CanIfRxPduReadNotifyStatus |
取值范围 |
true/false |
默认取值 |
FALSE |
参数描述 |
表示该RxPdu是否支持CanIf_ReadRxNotifStatus获取接收状态 |
|||
依赖关系 |
依赖于CanIfPublicReadRxPduNotifyStatusApi |
|||
CanIfRxPduUserRxIndicationName |
取值范围 |
string |
默认取值 |
无 |
参数描述 |
表示<User_RxIndication>的接口名,由工具自动生成(CanIfRxPduUserRxIndicationUL配置为CDD时可手动更改) |
|||
依赖关系 |
依赖于CanIfRxPduUserRxIndicationUL |
|||
CanIfRxPduUserRxIndicationUL |
取值范围 |
CAN_NM |
默认取值 |
无 |
CAN_TP |
||||
CAN_TSYN |
||||
CDD |
||||
J1939NM |
||||
J1939TP |
||||
PDUR |
||||
XCP |
||||
OSEK_NM |
||||
参数描述 |
表示该RxPdu接收数据传递到上层的模块 |
|||
依赖关系 |
无 |
|||
CanIfRxPduHrhIdRef |
取值范围 |
引用CanIfHrhCfg |
默认取值 |
无 |
参数描述 |
表示该RxPdu通过关联的HRH 接收 |
|||
依赖关系 |
依赖于CanIf模块中CanIfHrhCfg |
|||
CanIfRxPduRef |
取值范围 |
关联ECUC中Pdu |
默认取值 |
无 |
参数描述 |
通过ECUC中Pdu索引,明确Pdu的路由路径 |
|||
依赖关系 |
依赖于ECUC中Pdu |
CanIfRxPduCanIdRange¶
图 CanIfRxPduCanIdRange
表 CanIfRxPduCanIdRange
UI名称 |
描述 |
|||
CanIfRxPdu CanIdRange LowerCanId |
取值范围 |
0x0 .. 0x1FFFFFFF |
默认取值 |
0x0 |
参数描述 |
表示该R xPdu过滤的CanId下限 |
|||
依赖关系 |
依赖于CanIfR xPduCanIdType,CanI fRxPduCanIdRangeLow erCanId≤CanIfRxPduC anIdRangeUpperCanId |
|||
CanIfRxPdu CanIdRange UpperCanId |
取值范围 |
0x0 .. 0x1FFFFFFF |
默认取值 |
0x0 |
参数描述 |
表示该R xPdu过滤的CanId上限 |
|||
依赖关系 |
依赖于CanI fRxPduCanIdType;Ca nIfRxPduCanIdRangeL owerCanId≤CanIfRxPd uCanIdRangeUpperCan Id;CanIfRxPduCanId Type为STANDARD,Can IfRxPduCanIdRangeUp perCanId配置范围≤0x 7ff;CanIfRxPduCanI dType为EXTENDED,Ca nIfRxPduCanIdRangeU pperCanId配置范围≤0 x1fffffff;CanIfHrh RangeRxPduRangeCanI dType为STANDARD,Ca nIfHrhRangeRxPduUpp erCanId配置范围≤0x7 ff;CanIfHrhRangeRx PduRangeCanIdType为 EXTENDED,CanIfHrhR angeRxPduUpperCanId 配置范围≤0x1fffffff |
CanIfHrhCfg¶
图 CanIfHrhCfg
表 CanIfHrhCfg
UI名称 |
描述 |
|||
Ca nIfHrhSoft wareFilter |
取值范围 |
true/false |
默认取值 |
true |
参数描述 |
表示该 HRH是否使能软件滤波 |
|||
依赖关系 |
依赖 于关联的CAN驱动中HR H的类型(配置为Full Can不需要软件滤波) |
|||
CanIfHrhCa nCtrlIdRef |
取值范围 |
引用CanIfCtrlCfg |
默认取值 |
无 |
参数描述 |
表示该HRH关联的CanI f中配置的Controller |
|||
依赖关系 |
依赖于CanIfCtrlCfg |
|||
CanIfH rhIdSymRef |
取值范围 |
引用CAN驱 动中硬件接收单元HRH |
默认取值 |
无 |
参数描述 |
Ca nIf中HRH与CAN驱动中 硬件接收单元的关联 |
|||
依赖关系 |
依赖于CAN驱动中 硬件接收单元的配置 |
CanIfHrhRangeCfg¶
图 CanIfHrhRangeCfg
表 CanIfHrhRangeCfg
UI名称 |
描述 |
|||
CanIfHrhR angeBaseId |
取值范围 |
0x0-0x1FFFFFFF |
默认取值 |
无 |
参数描述 |
表示HRH软 件滤波的BaseCanId( 掩码方式过滤所需) |
|||
依赖关系 |
依赖于CanIfHrhSof twareFilter的使能, 当前结合到CA N驱动中通常都是通过 硬件掩码进行过滤, 软件不支持这种方式 ,因此工具不可配。 |
|||
CanIfHr hRangeMask |
取值范围 |
0x0-0x1FFFFFFF |
默认取值 |
无 |
参数描述 |
表示该 HRH软件滤波的掩码( 掩码方式过滤所需) |
|||
依赖关系 |
依赖于CanIfHrhSof twareFilter的使能, 当前结合到CA N驱动中通常都是通过 硬件掩码进行过滤, 软件不支持这种方式 ,因此工具不可配。 |
|||
CanIfHrh RangeRxPdu LowerCanId |
取值范围 |
0x0-0x1FFFFFFF |
默认取值 |
0x0 |
参数描述 |
该HRH 接收报文CanId的下限 |
|||
依赖关系 |
依赖于CanIfHrhS oftwareFilter的使能 |
|||
Ca nIfHrhRang eRxPduRang eCanIdType |
取值范围 |
STANDARD/EXTENDED |
默认取值 |
无 |
参数描述 |
该HRH过滤CanI d类型(11位和29位) |
|||
依赖关系 |
依赖于CanIfHrhS oftwareFilter的使能 |
|||
CanIfHrh RangeRxPdu UpperCanId |
取值范围 |
0x0-0x1FFFFFFF |
默认取值 |
0x1fffffff |
参数描述 |
该HRH 接收报文CanId的上限 |
|||
依赖关系 |
依赖于CanIfHrhS oftwareFilter的使能 |
CanIfInitCfg¶
图 CanIfInitCfg
表 CanIfInitCfg
UI名称 |
描述 |
|||
CanIf InitCfgSet |
取值范围 |
CanIfInitCfgSet |
默 认 取 值 |
CanIfInitCfgSet |
参数描述 |
表示 CanIf模块PB配置参数 |
|||
依赖关系 |
工具固定生成,不可变 |
|||
CanIfMax BufferSize |
取值范围 |
0 .. 18446744073709551615 |
默 认 取 值 |
无 |
参数描述 |
Can If模块TxBuffer总长度 |
|||
依赖关系 |
用于PB配 置的实现,目前不支持 |
|||
CanIfM axRxPduCfg |
取值范围 |
0 .. 18446744073709551615 |
默 认 取 值 |
无 |
参数描述 |
CanIf模块 支持的最大RxPdu数目 |
|||
依赖关系 |
用于PB配 置的实现,目前不支持 |
|||
CanIfM axTxPduCfg |
取值范围 |
0 .. 18446744073709551615 |
默 认 取 值 |
无 |
参数描述 |
CanIf模块 支持的最大TxPdu数目 |
|||
依赖关系 |
用于PB配 置的实现,目前不支持 |