目录
- 关键词
- 平台说明
- 一、CanIfCtrlDrvCfgs
- 二 、CanIfTrcvDrvCfgs
- 三、CanIfDispatchCfg
- 四、CanIfBufferCfgs
- 五、CanIfHrhCfgs
- 六、CanIfHthCfgs
- 七、CanIfRxPduCfgs
- 八、CanIfTxPduCfgs
- 九、CanIfPrivateCfg
- 十、CanIfPublicCfg
关键词
嵌入式、C语言、autosar、OS、BSW
平台说明
项目 | Value |
---|---|
OS | autosar OS |
autosar厂商 | vector , EB |
芯片厂商 | TI 英飞凌 |
编程语言 | C,C++ |
编译器 | HighTec (GCC) |
autosar版本 | 4.3.1 |
>>>>>回到总目录<<<<<<
一、CanIfCtrlDrvCfgs
主要是配置与底层can 驱动 相关的内容,包含了所有的CAN controller。
CanIfCtrlCanCtrlRef:映射到关联的CAN controller
CanIfCtrlJ1939DynAddrSupport:如果启用,CAN接口模块使用动态地址查找表根据J1939转换相应CAN控制器的地址。这些表由J1939Nm维护。(一般有:CANopen,device net和J 1939)
J1939是一种支持闭环控制的在多个ECU之间高速通信的网络协议冈。主要运用于载货车和客车上。它是以CAN2.0为网络核心。J1939标识符包括:PRIORTY(优先权位);R(保留位);DP(数据页位);PDU FORMAAT(协议数据单元);PDU SPECIFIC(扩展单元)和SOURCE ADDRESS(源地址)。而报文单元还包括64位的数据场。
CanIfCtrlTrcvCfgRef:选择关联的CAN transceiver
CanIfCtrlWakeupSupport:是否可查询唤醒事件
CanIfCtrlWakeupSupport:引用控制器分区,以后单独讲。
二 、CanIfTrcvDrvCfgs
主要是配置与CAN transceiver 的关联。
CanIfTrcvCanTrcvRef:抽象transceiver 到can if 的关联。
CanIfTrcvWakeupSupport:定义所引用的CAN收发器驱动模块的相应CAN收发器是否可查询唤醒事件
三、CanIfDispatchCfg
定义上层模块的回调
CanIfDispatchDataChecksumRxErrorIndicationName:定义在数据校验和rx验证失败时调用的函数名
CanIfDispatchDataChecksumRxErrorIndicationUL:定义关于rx -data校验和失败的通知必须路由到的上层(UL)模块。
CanIfDispatchUserCheckTrcvWakeFlagIndicationName:用于配置CheckTrcvWakeFlagIndication。
CanIfDispatchUserCheckTrcvWakeFlagIndicationUL:配置唤醒事件通知到CDD 还是SM。
CanIfDispatchUserClearTrcvWufFlagIndicationName:用于配置ClearTrcvWufFlagIndication
User Clear Trcv Wuf Flag Indication UL:定义了上层模块,来自CAN收发器驱动模块的ClearTrcvWufFlagIndication必须被路由到上层模块。
CanIfDispatchUserCtrlBusOffName:定义ControllerBusOff回调函数名
CanIfDispatchUserCtrlBusOffUL:定义了上层(UL)模块,来自CAN驱动模块的所有总线关闭事件的通知必须通过<User_ControllerBusOff>路由到该模块。
CanIfDispatchUserCtrlModeIndicationName:定义ControllerModeIndication回调函数名。
CanIfDispatchUserCtrlModeIndicationUL:定义上层(UL)模块,来自CAN驱动模块的所有控制器转换事件的通知必须通过<User_ControllerModeIndication>路由到该模块。
CanIfDispatchUserTrcvModeIndicationName:定义TrcvModeIndication回调函数名。
CanIfDispatchUserTrcvModeIndicationUL:定义上层(UL)模块,来自CAN收发器驱动模块的所有收发器模式转换事件的通知必须通过<User_TrcvModeIndication>路由到该模块。
四、CanIfBufferCfgs
定义包含tx缓冲区配置。可以配置多个大小不同的缓冲区。如果CanIfBufferSize (CANIF834_Conf)等于0,则caniftx L-PDU仅通过该CanIfBufferCfg引用相应的CanIfHthCfg。
CanIfBufferHthRef:映射到相应HTH buffer。
CanIfBufferSize:该参数定义了在一个Tx-buffer中可以缓冲的CanIf Tx l - pdu的数量。如果该值为0,则CAN接口模块不对分配到该Tx缓冲区的CanIf Tx l - pdu进行Tx缓冲。如果’CanIfPublicTxBuffering’ = False,则该参数对所有Tx-buffer都等于0。如果被引用的HTH的’CanHandleType’等于’FULL’,则此参数对该tx缓冲区等于0。
CanIfTxBufferHandlingType:选择缓冲类型,FIFO 、none 还是PRIO_BY_CANID。区别见:XXX
CanIfTxBufferMappedTxPdus:多少TX-PDU被映射到这儿。
CanIfTxBufferMaxPduLength:用于估计配置的处理类型为FIFO的tx缓冲区的内存消耗。只有FIFO才能用。
五、CanIfHrhCfgs
包含每个硬件接收对象(HRH)的配置参数。
CanIfHrhCanCtrlIdRef:对HRH所属控制器的引用。一个控制器可以包含一个或多个hrh。
CanIfHrhCanHandleTypeRef:not use
CanIfHrhIdSymRef:映射到CAN driver中的anHardwareObject
六、CanIfHthCfgs
包含每个硬件接收对象(HTH)的配置参数。类似上一节。
七、CanIfRxPduCfgs
包含每个接收CAN L-PDU的配置(参数)。
挑重点:
CanIfRxPduCanIdType:用于切换接收CAN L-PDU的CAN标识类型(扩展/标准)。
Rx Pdu Data Checksum Pdu:启用/禁用Rx-PDU的数据校验和。
CanIfRxPduDlcCheck:开关消息特定的DLC检查。
CanIfRxPduUserRxIndicationUL:这个message 从上面哪一级来的。
参考:[AutoSar]BSW_Com02 PDU详解
诊断报文: CANIF UL 是CANTP,(CAN->CANIF->CANTP->PDUR->DCM)
NM报文:CANIF UL 是CANNM,(CAN->CANIF->CANNM)
XCP报文:CANIF UL 是XCP,(CAN->CANIF->XCP)
应用报文:CANIF UL 是PDUR, (CAN->CANIF->PDUR->COM)
八、CanIfTxPduCfgs
包含每个发送CAN L-PDU的配置(参数)。
参考第七节。
九、CanIfPrivateCfg
CAN if 私有参数。
CanIfDataChecksumRxSupport:使能接收checksum。
CanIfDataChecksumTxSupport:使能发送checksum。
CanIfPrivateDlcCheck:该参数切换对DLC检查的支持,DLC检查在接收rx - pdu时执行。
CanIfPrivateSoftwareFilterType:选择接收的软件过滤机制。
CanIfTxBufferType:配置处理类型为PRIO_BY_CANID的Tx-buffer的queue-flag类型。
十、CanIfPublicCfg
Change Baudrate Support:启用/禁用CanIf_ChangeBaudrate和CanIf_CheckBaudrate接口。该接口用于更改/检查can控制器的波特率。
Meta Data Support:通过使用SDU元数据来切换对动态CAN标识符处理的支持。
Wakeup Check Validation By NM:用于切换是只接收NM (Network Management)消息验证检测到的唤醒事件,还是验证相应CAN控制器的所有消息。
>>>>>回到总目录<<<<<<