当前位置: 首页 > article >正文

CANFD SSP第二采样点引发的“风波”分析

案例背景:

近几年来,主机厂逐渐大范围使用CANFD通信。在CAN网络中,因SSP第二采样点引发的错误帧偶有发生,所以在主机厂的SPEC需求中,明确要求启用CAN控制器TDC收发器延迟补偿,

目录

1 CANFD的SSP第二采样点介绍

2 “数据段波特率采样点”和”第二采样点”是同一个东西么?

3 案例分析

3.1 如何快速定位“SSP第二采样点”引起的Bit Stuff Error问题

END


1 CANFD的SSP第二采样点介绍

CANFD的TDCTransceiver Delay Compensation收发器延迟补偿)和SSPSecondary Sample Point第二采样点)详解介绍,参见博文:

【图解CAN总线】-10-详解CANFD的TDC以及SSP(收发器延迟补偿和第二采样点)_canfd tdc-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/qfmzhu/article/details/131948903

2 “数据段波特率采样点”和”第二采样点”是同一个东西么?

在CANFD帧中,只有启用BRS位,才会启用数据段波特率,其采样点可以通过VH6501Disturbance Sample Point Test(CAN FD)测量物理层CANH和CANL之间的差分信号测得。

SSP第二采样点MCUCAN收发器之间的TX和RX Pin(ECU板上的),由于硬件电气导致的MCU发送帧TTL电平的延迟偏差(可通过示波器测得,CAN收发器数据手册中也提供了典型值。)。该功能的启用,需要配置MCU的CAN控制器TDC收发器延迟补偿寄存器。

3 案例分析

一位朋友圈的朋友提供的问题描述:

1)没有启用SSP第二采样点的ECU,单件测试,CAN网络中没有出现错误帧

2)将该ECU安装到整车的CAN网络中,ECU无法正常发送CANFD报文,部分发出的CANFD帧出现Bit Stuff Error位填充错误位填充错误的位置,出现在BRS位之后,即第17+5位之后。),直至出现Busoff恢复过程,等恢复过程结束,依旧出现位填充错误

注:CANFD标准帧中,BRS位的位置为第17位。

3.1 如何快速定位“SSP第二采样点”引起的Bit Stuff Error问题

“SSP第二采样点”引起的Bit Stuff Error问题特征:

1) ECU加入到整车CANFD网络中,整车CANFD网络中有错误帧。ECU未加入到整车CANFD网络中,整车CANFD网络中没有错误帧

2) ECU在该CANFD网络中,所有的CANFD帧无法正常发送,发出的CANFD帧出现Bit Stuff Error;

3) ECU在该CANFD网络中,所有的经典CAN帧可以正常发送。

可以通过一下几个角度,逐步识别该问题:

1) ECU在该CANFD网络中,禁用CANFD帧,仅发送经典CAN帧,CAN网络中未出现Bit Stuff Error;

2) 确认ECU所在的CANFD网络拓扑,以及CAN双绞线的线长(CANFD网络的CAN线不宜太长,否则也会出现Bit Stuff Error);

3) 使用示波器实际测量MCU与CAN收发器之间的“环路延迟时间”,确认其延迟时间是否在一个CANFD数据段位时间的临界点上,如果是,尝试修改MCU与CAN收发器之间的RC阻容电路,以减小该物理延迟时间,再将该ECU放回该CANFD网络中,查看Bit Stuff Error有无减轻;

4) 启用TDC/SSP,查看Bit Stuff Error有无减轻。

END

获取更多“汽车电子资讯”和“工具链使用”,

请关注“汽车电子助手”,做您的好助手


http://www.kler.cn/news/366585.html

相关文章:

  • <Project-11 Calculator> 计算器 0.3 年龄计算器 age Calculator HTML JS
  • 2020款Macbook Pro A2251无法充电无法开机定位及修复
  • 【WebGis开发 - Cesium】三维可视化项目教程---图层管理拓展图层顺序调整功能
  • Spring Boot框架下的Java多线程
  • kafka 如何减少数据丢失?
  • 任务看板是什么?如何选择合适的任务看板工具?
  • 完美解决phpstudy安装后mysql无法启动
  • React六官方文档总结三脱围机制
  • 关闭容器 禁用docker自启动 卸载docker
  • go 使用fyne实现桌面程序的计算器例子
  • 2024年土建施工员考试题库及答案
  • Android常用C++特性之std::piecewise_construct
  • Java基础(7)图书管理系统
  • 网站渗透常识
  • Modern CMake 简明教程(8)- 集成Qt
  • lua while循环
  • Linux -- 共享内存(2)
  • 机器学习4
  • ESC服务器被暴力破解如何解决
  • Redis 主从同步 总结
  • 【大数据技术基础 | 实验五】ZooKeeper实验:部署ZooKeeper
  • LDAP 部署手册
  • 每日一题——第一百一十九题
  • 多线程——线程池
  • 数据安全领域的分类分级管理
  • 教学平台的信息化设计:Spring Boot实践