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 TX Pin(发送帧RX Pin(回采发送帧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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/902390.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【设计模式】《Java 设计模式魔法:解锁高效编程的秘密武器》

标题:《Java 设计模式奇幻之旅:解锁高效编程的魔法钥匙》 摘要: 本文将深入探讨 Java 中的十种设计模式,包括单例模式、工厂方法模式、抽象工厂模式…迭代器模式、组合模式、模板方法模式等。通过详细的解释、生动有趣的例子以及…

【skywalking 】选择Elasticsearch存储

介绍 skywalking支持 Elasticsearch 和 OpenSearch 作为存储。 OpenSearch 是 ElasticSearch 7.11 的一个分支,但在 Apache 2.0 中获得许可。 OpenSearch 存储与 ElasticSearch 共享相同的配置。为了激活 OpenSearch 作为存储,请将存储提供程序设置为e…

Python4

4. 更多控制流工具 除了刚介绍的 while 语句&#xff0c;Python 还用了一些别的。我们将在本章中遇到它们。 4.1. if 语句 if elif else if x<0: x 0 print(Negative changed to zero) elif x0: print( zero) else: print(More) 4.2. for 语句 Pyth…

Mybatis的关联关系-多对多

在进行数据库原理的时候&#xff0c;我们将E-R图的实体转化为我们的表时&#xff0c;有时要考虑到多对多的关系。比如下图&#xff1a; 我们可以转化为下面的表&#xff1a; 因为User和Orders是1:n的关系&#xff0c;所以Orders有一个外键。 t_orders表 idnumberuser_id(外键…

uniapp使用easyinput文本框显示输入的字数和限制的字数

uniapp使用easyinput文本框显示输入的字数和限制的字数 先上效果图&#xff1a; 整体代码如下&#xff1a; <template><view class"nameInfoContent"><uni-easyinput class"uni-mt-5" suffixIcon"checkmarkempty" v-model&quo…

Redis 事务 总结

前言 相关系列 《Redis & 目录》&#xff08;持续更新&#xff09;《Redis & 事务 & 源码》&#xff08;学习过程/多有漏误/仅作参考/不再更新&#xff09;《Redis & 事务 & 总结》&#xff08;学习总结/最新最准/持续更新&#xff09;《Redis & 事务…

基础数据结构及算法——AVL树【自平衡二叉搜索树】解决失衡

历史 AVL 树是一种自平衡二叉搜索树&#xff0c;由托尔哈斯特罗姆在 1960 年提出并在 1962 年发表。它的名字来源于发明者的名字&#xff1a;Adelson-Velsky 和 Landis&#xff0c;他们是苏联数学家&#xff0c;于 1962 年发表了一篇论文&#xff0c;详细介绍了 AVL 树的概念和…

VoLTE 微信令:SBC 功能篇之 超长呼叫释放信令流程

目录 1. SBC 的位置及超长呼叫释放功能简介 2. VoLTE 超长通话,SBC 释放呼叫流程 博主wx:yuanlai45_csdn 博主qq:2777137742 想要 深入学习 5GC IMS 等通信知识(加入 51学通信),或者想要 cpp 方向修改简历,模拟面试,学习指导都可以添加博主低价指导哈。 1. SBC 的位置及…

使用 Python 的 BeautifulSoup(bs4)解析复杂 HTML

使用 Python 的 BeautifulSoup&#xff08;bs4&#xff09;解析复杂 HTML&#xff1a;详解与示例 在 Web 开发和数据分析中&#xff0c;解析 HTML 是一个常见的任务&#xff0c;尤其是当你需要从网页中提取数据时。Python 提供了多个库来处理 HTML&#xff0c;其中最受欢迎的就…

华尚实业集团家居产业园总部中心项目奠基仪式成功举办

金秋风景如画&#xff0c;十月天高云淡。良辰阳光灿烂&#xff0c;吉时热闹非凡。2024年10月23日上午&#xff0c;华尚实业集团家居产业园总部中心项目奠基仪式在增城经济技术开发区宁西园区项目现场隆重举行&#xff0c;标志着华尚实业集团家居产业园总部中心建设正式拉开帷幕…

基于Java语言的充电桩管理系统

介绍 云快充协议云快充1.5协议云快充协议开源代码云快充底层协议云快充桩直连桩直连协议充电桩系统桩直连协议 软件架构 1、提供云快充底层桩直连协议&#xff0c;版本为云快充1.5&#xff0c;对于没有对接过充电桩系统的开发者尤为合适&#xff1b; 2、包含&#xff1a;启…

安卓项目复制修改包名称打包失败处理——android studio

处理方法 将资源包名称直接替换为新的包名称&#xff0c;不管错误直接生成。

skynet的cluster集群

集群的使用 现在的游戏服务器框架中&#xff0c;分布式是一种常见的需求。一个游戏服务器组通常可以分成网关服务器、登录服务器、逻辑服务器、跨服服务器等等。 在skynet中&#xff0c;我们可以通过cluster来组建一个集群&#xff0c;实现分布式的部署。 示例 我们先来看一…

Win11安装基于WSL2的Ubuntu

1. 概述 趁着还没有完全忘记&#xff0c;详细记录一下在Win11下安装基于WSL2的Ubuntu的详细过程。不得不说WSL2现在被微软开发的比较强大了&#xff0c;还是很值得安装和使用的&#xff0c;笔者就通过WSL2安装的Ubuntu成功搭建了ROS环境。 2. 详论 2.1 子系统安装 在Win11搜…

在Debian上安装向日葵

说明&#xff1a; 因为之前服务器上安装了 PVE (Proxmox VE)&#xff0c;之前是用 Proxmox VE 进行服务器资源管理的。出于某些原因&#xff0c;现在不再通过 PVE构建的虚拟机来使用计算资源&#xff0c;而是通过 PVE 自带的 Debian 系统直接使用虚拟机资源&#xff08;因为积…

NVR接入录像回放平台EasyCVR视频融合平台语音对讲配置

国标GB28181视频平台EasyCVR视频融合平台可拓展性强、视频能力灵活&#xff0c;平台可提供视频监控直播、云端录像、云存储、录像检索与回看、智能告警、平台级联、云台控制、语音对讲、智能分析接入等功能。其中&#xff0c;在语音对讲方面&#xff0c;NVR接入录像回放平台目前…

JavaEE初阶---多线程(三)---内存可见性/单例模式/wait,notify的使用解决线程饿死问题

文章目录 1.volatile关键字1.1保证内存的可见性--引入1.2保证内存的可见性--分析1.3保证内存的可见性--解决1.4内存可见性-JMM内存模型 2.notify和wait介绍2.1作用一&#xff1a;控制调度顺序2.2作用二&#xff1a;避免线程饿死2.3notify和notifyAll区分 3.单例模式--经典设计模…

数据库编程 SQLITE3 Linux环境

永久存储程序数据有两种方式&#xff1a; 用文件存储用数据库存储 对于多条记录的存储而言&#xff0c;采用文件时&#xff0c;插入、删除、查找的效率都会很差&#xff0c;为了提高这些操作的效率&#xff0c;有计算机科学家设计出了数据库存储方式 一、数据库 用来管理数据…

【Android】多渠道打包配置

目录 简介打包配置签名配置渠道配置配置打包出来的App名称正式包与测试包配置 打包方式开发工具打包命令行打包 优缺点 简介 多渠道打包 是指在打包一个 Android 应用时&#xff0c;一次编译生成多个 APK 文件&#xff0c;每个 APK 文件针对一个特定的渠道。不同的渠道可能代表…

Prompt提示词设计:如何让你的AI对话更智能?

Prompt设计&#xff1a;如何让你的AI对话更智能&#xff1f; 在人工智能的世界里&#xff0c;Prompt&#xff08;提示词&#xff09;就像是一把钥匙&#xff0c;能够解锁AI的潜力&#xff0c;让它更好地理解和响应你的需求。今天&#xff0c;我们就来聊聊如何通过精心设计的Pr…