ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

CANoe - 使用 VH6501 制造 Busoff

CANoe - 使用 VH6501 制造 Busoff 文章目录1. Busoff 与快慢恢复2. 硬件连接2.1 VN1640 硬件连接2.2 VH6501 硬件连接3. CANoe 工程配置3.1 干扰标准 CAN 报文3.2 干扰 CANFD 报文3.3 更改干扰报文周期4. 补充1. Busoff 与快慢恢复当总线上某节点的传输错误计数器TECTransmit Error Counter的计数值大于 255 时节点进入 Busoff 状态。通俗地理解ECU 一直往 CAN 总线上发送 CAN 报文但不知什么原因一直发送不出去如果ECU 外发错误计数器累计到 255 ECU 发送失败发送错误计数 8发送成功发送错误计数 -1ECU 进入 Busoff 模式。处于 Busoff 状态的节点对总线没有影响既不发送任何报文也不确认数据帧或远程帧而是等待一段时间后尝试重启 CAN 模块重新使能总线报文的发送。如果报文发送成功则 CAN Busoff 恢复成功。一些主机厂对其系统供应商的设备提出了相应的 Busoff 后的恢复时间的需求例如当 ECU 进入 Busoff 模式后首先执行快恢复模式连续 n 次一般 n 32快恢复失败后ECU 进入慢恢复模式。所谓快慢恢复是指 ECU 进入 CAN Busoff 状态、故障移除后重新恢复 CAN 通讯的时间一般快恢复时间在十毫秒左右慢恢复时间在一分钟左右具体以客户需求为准。注意当 ECU 进入 Busoff 状态后因为接收不到其它 ECU 的报文了会报通讯超时故障但此时应只存储 Busoff 故障不应存储其他 ECU 的报文超时故障。当 ECU 从 Busoff 状态恢复后立即重新启动报文超时监测功能。2. 硬件连接2.1 VN1640 硬件连接VN1640 硬件盒子与 PC 端连接用于为 CANoe 上位机软件提供 LicenseDB9 端口无需连接 CAN 通道。2.2 VH6501 硬件连接下图中左侧的 USB 口经 USB 线连接 PC 端右侧的 Sync/Power 接口任选其一一般用于连接电源线或者同步线。同步线用于 VH6501 与 Vector 其他产品如 VN640A实现硬件时钟同步此外VH6501 与示波器联用时需要用同步接口来触发 Scope。另一侧的 CH1 通道提供 DB9 接口与通讯 CAN 总线相连图中一共两个 DB9 接口一个公头一个母头需要根据通讯 CAN 总线的 DB9 接口进行适配。设备上的 5 个指示灯用于指示干扰的触发状态 Trigger、干扰类型数字 Digital / 模拟 Analog)、通道通信 CH1 及设备状态 Status当 VH6501 硬件的设备状态灯为闪烁的绿灯后代表连接正常。干扰单个 ECU 时使用 CH1 的任意接口与被测节点连接。计对多节点干扰需要将 CH1 的两个接口串联到总线上。安装驱动第一次使用 VH6501 要先安装驱动。3. CANoe 工程配置3.1 干扰标准 CAN 报文在 CANoe 软件中加载 demo 工程通道配置只需为 VH6501 配置硬件通道无需为 VN1640A 配置因为 1640A 并不与 DUT 连接其作用只是为软件提供 License。注意Hardware——Channel Usage 配置为 1 路 CAN 即可。激活干扰功能在 Hardware- Netowrk Hardware 中勾选 CAN Disturbance Features -Activate 来激活干扰功能并设置 DeviceID不同 CAN 通道不能设置相同的 DevicelD同时需要注意报文格式为 CAN 还是 CANFD。运行 CANoe此时 trace 窗口是正确的报文。通过 Panel 面板打开 MainConfigPanel 面板。配置 Trigger Configuration注意必须先运行 CANoe 软件再进行配置。点击进入 Trigger Configuration选择触发位置 AckSlotTriggerOffset 填 0。如果针对特定帧进行干扰IDBase 处需填写该帧报文 ID 的 11 位二进制不满 11 位时最高位补 0例如此处干扰报文 0x305其二进制等于011 0000 0101。如果要干扰所有报文IDBase 处不需填写内容。点击 Sequence Configuration配置显性/隐性干扰。Segment value 选择 Dominant并勾选 Arbitration Bit Timing Information单击 Add Segment最后叉掉此面板注意是叉掉而不是 Clear Segment。回到 MainConfigPanel 面板配置干扰次数和循环次数。如果进行多次 Busoff 测试Cycles 处填写 busoff 的次数Repetiions 中填写干扰次数固定为 32 次因为干扰一次ECU 的 TEC 累加 8在连续干扰 32 次后TEC 的值为 256ECU 便会进入一次 busoff下图即为让 DUT 进入 2 次 Busoff 的配置。补充Cycles 表示 Busoff 的次数对应 Autosar CANSM 模块中的参数 CanSMBorCounterL1ToL2Cycles 中设定的值小于等于 CanSMBorCounterL1ToL2触发对应节点的通信快恢复Cycles 大于 CanSMBorCounterL1ToL2 时触发对应节点的通信慢恢复。同时CANSM 模块中还定义了快恢复时间 CanSMBorTimeL1 和慢恢复时间 CanSMBorTimeL2 参数这三个参数值应根据实际的项目需求选定。点击 Enable On Device启动 Busoff 干扰。3.2 干扰 CANFD 报文前面讲到通过干扰经典 CAN 报文的 AckSlot 位来实现 Bus off 测试而在 CANFD 中如果干扰 AckSlot 位干扰的结果是两个连续的显性位在 CANFD 中两个显性位会被认为是有效的 Ack这就导致上述方法干扰不到 AckSlot 位。在这种情况下建议干扰 Ack delimiter 位CurrentTriggerField 填 Ack delimiterTriggerOffset 填 0。如下图是干扰一个 CANFD 标准帧 ID0x305 的报文其余部分的设置与干扰经典 CAN 报文的设置相同。3.3 更改干扰报文周期实践发现在其余配置相同的情况下选择不同的干扰位AckSlot 或 Ackdelimiter 等时相邻两帧干扰报文的时间间隔是不同的若时间间隔较大可能造成漏帧的现象所以需要修改干扰报文的周期方法如下4. 补充在没有总线干扰仪 VH6501 的情况下可通过将 CAN_H 与 CAN_L 短接的方式实现 busoff。若在 Trigger Configuration 界面配置干扰所有报文即 IDBase 处未填写内容而又想只干扰 DUT 的外发报文那么需要保证总线上不能存在除 DUT Tx 以外的报文否则干扰仪干扰 32 次并不都是 DUT Tx 报文其 TEC 达不到 255也就无法进入 Busoff。若同时干扰多帧指定帧报文如 0x4F、0x36 与 0x1AB需按以下步骤0x4F 000 0100 11110x36 000 0011 01100x1AB 001 1010 1011将上述二进制数据按照全 1 为 1全 0 为 0其余为 x 的原则计算结果为00x xxxx xx1x
返回列表