AUTOSAR知识点Com(五):CANIf模式PUD Channel
创始人
2024-05-30 10:52:15
0

1、概述

        每个L-PDU分配给一个专用的物理CAN通道,该通道连接CAN控制器和CAN网络。通过这种方式,所有属于物理通道的L-PDU都可以在处理逻辑上,单一的L-PDU通道组上进行控制。这些逻辑组表示ECU连接到底层CAN网络的所有I-PDU。图 展示了L-PDU信道组与上层或网络的关系

下图为PDU组的通道图1:

 

        一个L-PDU只能分配给一个信道组。PduR或网络管理等典型用户负责控制PDU的操作模式。CanIf提供了服务CanIf_SetPduMode()和CanIf_GetPduMode()来处理:

  • 所有的I-PDU都属于一个逻辑通道,
  • 所有发送I-PDU和接收I-PDU属于一个逻辑通道。

        只允许在对应的控制器模式等于CAN_CS_STARTED时,更改PDU通道模式。而CANIF_ONLINE和CANIF_OFFLINE在PDU信道模式下影响整个通信,分别启用和禁用CANIF_TX_OFFLINE和CANIF_TX_OFFLINE_ACTIVE传输路径。CanIf通过服务CanIf_GetPduMode()提供关于当前PDU通道模式的信息。

下图为PDU组的通道模式控制图2:

 

        在初始化期间,CanIf应该将每个通道切换到CANIF_OFFLINE。如果调用CanIf_SetControllerMode(),则CanIf会将对应通道的PDU通道模式设置为CANIF_OFFLINE。

对于切换到CANIF_OFFLINE模式的物理通道,CanIf应该:

  • 防止将相关L-PDU的传输请求CanIf_Transmit()转发给CanDrv,
  • 清除相应的CanIf传输缓冲区,
  • 防止调用上层模块的接收指示回调服务,
  • 防止调用上层模块的传输确认回调服务。

        如果调用CanIf_SetControllerMode()或CanIf_ControllerBusOff(),则CanIf应将相应通道的PDU通道模式设置为CANIF_TX_OFFLINE。

        在CANIF_OFFLINE和CANIF_TX_OFFLINE的情况下,BusOff通知被隐式地抑制,因为没有I-PDU可以被传输,因此CAN控制器不能通过新请求的L-PDU进入BusOff模式进行传输。

        如果已经在CAN transmission硬件对象中等待传输的L-PDU在切换到CANIF_TX_OFFLINE或CANIF_OFFLINE模式并发生后续BusOff事件后立即被传输,那么CanIf不禁止执行BusOff通知。唤醒通知不受PDU通道模式更改的影响。

对于切换到CANIF_ONLINE模式的物理信道,CanIf应该:

  • 允许将相关L-PDU的传输请求CanIf_Transmit()转发到CanDrv,
  • 支持调用上层模块的接收指示回调服务,
  • 允许调用上层模块的传输确认回调服务。

        如果CanIfTxOfflineActiveSupport为TRUE,CanIf提供通过CANIF_TX_OFFLINE_ACTIVE模式成功传输的模拟。该模式是通过调用CanIf_SetPduMode()来启用的,并且只影响传输路径。

        对于每个被分配到CANIF_TX_OFFLINE_ACTIVE模式信道的L-PDU, CanIf会立即调用上层模块的传输确认回调服务,而不是在调用CanIf_Transmit()时将L-PDU缓冲或转发到CanDrv。

        在CANIF_TX_OFFLINE_ACTIVE模式下,上层必须处理传输确认的执行。发送确认处理在发送请求结束时立即执行。这个功能对于实现特殊的操作模式(如诊断无源模式)是有用的,以避免总线流量而不影响通知机制。此模式通常用于诊断。

        

相关内容

热门资讯

【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
AsusVivobook无法开... 首先,我们可以尝试重置BIOS(Basic Input/Output System)来解决这个问题。...
ASM贪吃蛇游戏-解决错误的问... 要解决ASM贪吃蛇游戏中的错误问题,你可以按照以下步骤进行:首先,确定错误的具体表现和问题所在。在贪...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...