CAN-FD是怎么提高通信速率的?

经典CAN协议规定的最高速率是1Mb/s,汽车中实际应用的最高速率是500Kb/s,这个速度对于绝大部分ECU之间的数据通信已经足够了,而且CAN的技术成熟、稳定、成本低,因此CAN通信在汽车行业中得到了长期的应用。

随着汽车智能化的发展,汽车ECU间需要传输的数据越来越多,而CAN的一帧最多8个字节的数据长度和最大500Kb/s的速率在某些情况下就显得不够用了。

能否在保持CAN总线低成本的物理层不变的情况下,提高CAN的通信速率呢?

CAN-FD就在这种需求下产生了,CAN-FD保持了物理层不变,对数据链路层协议进行了升级,那么CAN-FD与经典的CAN相比到底有哪些不同呢?

1.传输速率不同

CAN-FD中的FD是Flexible Data Rate的缩写,表示灵活的数据速率,因此CAN-FD最大的特点就是数据速率不是固定的,是可变的!

CAN-FD的数据速率最大可达8Mbps,注意这里的速率是指数据速率,CAN-FD的速率之所以称为是可变的,而不是高速或超高速CAN,是因为CAN-FD报文中仲裁场的速率与CAN是一样的,主要是更改了数据场的速率,所以这个可变是指数据场相对于仲裁场的速率是可变的。比如仲裁场的速率是500Kb/s,而数据场的速率可以是2Mb/s。

也就是说,一帧CAN-FD报文中存在两种位速率:仲裁场速率和数据场速率!

CAN-FD从控制场中的BRS位到CRC场的DEL分界符可变速率,其余部分为经典CAN总线的速率,即仲裁场和大部分控制场使用标准的通信速率,而数据场可以切换到更高的通信速率。

图片

CAN-FD中同时存在两种速率

注意:CAN-FD在两种速率间切换时,需要过度时间,这两个过度时间分别位于控制场的BRS位和CRC场的DEL位,BRS是加速的过度时间,DEL是减速的过度时间,这两个位时间比较特殊,既不是500Kb/s的2us,也不是2Mb/s的0.5us。

BRS位的前一半的位时间按照500Kb/s的速度计算,后一半的位时间按照2Mb/s的速度计算,即BRS的位时间=1us+0.25us=1.25us;同理,DEL的位时间=0.25us+1us=1.25us。

2.数据长度不同

除了提高数据传输速率外,CAN-FD还扩展了数据长度,它将一帧的数据长度从最大8个字节改为了64个字节,这项更改不仅增加了信号数量,还可以解决长信号的传输问题,比如说PEPS、EMS的密钥信息、诊断信息等。

数据长度的更改是通过控制场中DLC的重新定义实现的,在经典CAN中,DLC是4位二进制数,0000-1000表示0-8,大于8仍然被解析为8;而CAN-FD中将大于8的数值重新做了定义,如下表所示:

图片

CAN与CAN-FD的DLC解析对比(黄色为不同部分)

由于CAN-FD单帧数据长度增加,相当于原来CAN的多帧共用一个仲裁场,这减少了仲裁的开销,提高了传输效率。

这就像是货运列车对车厢进行了升级,车厢由8节增加到64节,这样单次可以运送更多的物资,尤其是一些大型的成套设备,一次即可完成运输,不用分批运送了。

3.帧格式不同

为了识别CAN-FD报文,升级的CAN协议对原来的帧结构进行重新定义和解析,CAN-FD的帧结构首先增加了一位FDF**位,作为CAN-FD标志位,这一位为隐性1时表示此帧为CAN-FD帧,为显性0时表示此帧是经典的CAN帧**。

新增的FDF标志位占用了原CAN控制场中的r**位的位置,为了今后的扩展预留,在FDF位的后面仍然还有一个预留位res**。

图片

CAN与CAN-FD帧结构对比(黄色为变化部分)

识别出CAN-FD帧后,由于CAN-FD的数据速率是可变的,因此又增加了一位BRS位

BRS位表示速率切换,该位为隐性1时,表示速率切换为可变的高速数据场速率,即BRS后面一直到CRC场的DEL使用高速的速率传输;

该位为显性0时,表示数据速率仍然以正常的仲裁场速率传输。也就是说,一个CAN-FD帧在发送时,即可以**切换到高速,比如2Mb/s,也可以不切换速率,全程保持500Kb/s不变**。

经典CAN帧的速率设置后是一直固定不变的,比如500Kb/s。

CAN-FD在控制场中还增加了一个ESI位,表示发送节点的状态,显性0表示发送节点为主动错误状态,隐性1表示被动错误状态。

此外,帧格式中的CRC校验方法也做了调整。

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

redis之缓存淘汰策略

1.查看redis的最大占用内存 使用redis-cli命令连接redis服务端,输入命令:config get maxmemory 输出的值为0,0代表redis的最大占用内存等同于服务器的最大内存。 2.设置redis的最大占用内存 编辑redis的配置文件,并重启redis服务…

C++笔记12•面向对象之继承•

继承 1.继承的概念及定义 (1)概念: 继承 (inheritance) 机制是面向对象程序设计 使代码可以复用 的最重要的手段,它允许程序员在 保 持原有类特性的基础上进行扩展 ,增加功能,这样产生新的类,称…

用Leangoo领歌敏捷工具进行迭代管理的实践分享Sprint Backlog

在敏捷开发中,迭代管理是确保项目持续推进、不断优化的重要环节。有效的迭代管理能够帮助团队快速响应变化,持续交付高质量产品。 Leangoo是一款免费的敏捷项目管理工具,为团队提供了直观、高效的看板管理方式来管理迭代过程。本文将探讨如何…

公园智能厕所引导大屏,清楚显示厕位有无人状态

在科技飞速发展的今天,公园的设施也在不断与时俱进。其中,公园智能厕所引导大屏的出现,为游客带来了全新的如厕体验。 走进公园的智能厕所区域,首先映入眼帘的便是那醒目的引导大屏。屏幕上清晰地显示着各个厕位的有无人状态&…

星闪NearLink短距无线连接技术

星闪NearLink短距无线连接技术,作为华为主导的新一代无线短距通信标准技术,自2020年起由中国工信部牵头制定标准,旨在为万物互联时代提供更高效、更稳定的连接方式。 类似技术介绍 AirDrop(苹果) AirDrop是苹果公司开发…

【STM32+HAL库】---- 通用定时器PWM输出实现呼吸灯

硬件开发板:STM32G0B1RET6 软件平台:cubemaxkeilVScode1 新建cubemax工程 1.1 配置系统时钟RCC 1.2 配置定时器 找到LED所对应的引脚PA5,选择TIM2_CH1模式 在TIM2中,时钟源选择内部时钟Internal Clock,通道1选择PWM…

NanoPC-T6安装redriod笔记

这里主要用于自己对安装过程的记录,中间可能记录比较粗糙。 重新编译内核 参考链接:【环境搭建】基于linux的NanoPC-T6_LTS系统固件编译环境搭建 基于docker构建编译环境 docker run -it \ --privilegedtrue --cap-addALL \ --name nanopc_t6_lts_en…

CRM系统为贷款中介行业插上科技的翅膀

CRM(客户关系管理)系统为贷款中介公司插上了科技的翅膀,极大提升了贷款中介企业的运营效率、客户管理能力和市场竞争力。鑫鹿贷款CRM系统基于互联网、大数据分析、人工智能、云计算等前沿技术,帮助贷款中介公司实现业务流程的自动…

对给定数组所对应的二叉树依次完成前序,中序,后序遍历,并输出遍历结果。

对给定数组所对应的二叉树依次完成前序,中序,后序遍历,并输出遍历结果。每行输入为一个二叉树,一维数组形式。其中-1表示Nil节点,例如:1,7,2,6,-1,4,8 构成的二叉树如下图所示: 结果以二维数组形…

pikachu文件包含漏洞靶场

File inclusion(local) 创建1.php 步骤一:选择一个球员提交 ../../../../1.php File Inclusion(remote)(远程文件包含) 步骤一:更改参数 php.ini ⾥有两个重要的参数 allow_url_fopen 、allow_url_include ; 步骤二…

springboot集成guava布隆过滤器

1.创建springboot项目&#xff0c;引入maven依赖 <dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>23.0</version></dependency>2.创建guava布隆过滤器 Component public class Gua…

浅析WebRTC技术在智慧园区视频管理场景中的应用

随着科技的飞速发展&#xff0c;智慧园区作为城市智慧化的重要组成部分&#xff0c;正逐步成为现代化管理的重要方向。智慧园区的建设不仅涉及硬件设施的智能化升级&#xff0c;还离不开高效的视频管理和实时通信技术。在这一背景下&#xff0c;WebRTC&#xff08;Web Real-Tim…

Ubuntu系统+宝塔面板部署Frp内网穿透服务

一、搭建目的 上次在局域网中搭建了自己的个人网盘之后&#xff0c;上传文件、照片都很方便&#xff0c;但是只能限制在内网中访问&#xff01;所以这次再搭建一个内网穿透服务器&#xff0c;这样不管在哪里都能访问到家里的云盘&#xff01; 二、内网穿透Frp是什么&#xff1…

猴子排序:一种理论上的排序算法

猴子排序&#xff1a;一种理论上的排序算法 在编程和算法的世界里&#xff0c;总有一些有趣的算法让人忍俊不禁&#xff0c;同时又让人深思。今天&#xff0c;我们来聊聊一种特别的排序算法——猴子排序&#xff08;Bogosort&#xff09;&#xff0c;也常被戏称为瞎子排序、波…

无需前端技能:如何使用 Amis 框架简化页面开发

Amis 是一个由百度开源的前端低代码框架&#xff0c;它允许开发者通过 JSON 配置文件来快速生成各种后台管理页面。Amis 的设计理念是通过配置而非编码来实现页面的构建&#xff0c;这使得即使是不熟悉前端技术的开发者也能快速上手。Amis 提供了丰富的组件库和模板&#xff0c…

SpringFrameWork学习笔记

本笔记基于【尚硅谷新版SSM框架全套视频教程&#xff0c;Spring6SpringBoot3最新SSM企业级开发】https://www.bilibili.com/video/BV1AP411s7D7?vd_sourcea91dafe0f846ad7bd19625e392cf76d8 总结 资料获取网址&#xff1a;https://www.wolai.com/v5Kuct5ZtPeVBk4NBUGBWF 技术…

10款高级pdf编辑器安利,能够处理99%以上pdf文件编辑问题(正版)

pdf编辑器可以帮助用户快速、高效地编辑pdf格式文档。金舟PDF编辑器支持文本、图片、注释、水印等多种元素的编辑&#xff0c;可以轻松在pdf文档中插入文字、替换内容、删除图片、移动、旋转页面等操作。 ​ PDF编辑器可以修改文字吗&#xff1f;那必然是可以的&#xff0c;而…

JDK7前时间相关类(Data,SimpleDataFormat,Calender)

Data时间类 世界标准时间&#xff1a;格林尼治时间&#xff08;GMT&#xff09; 目前世界标准时间&#xff08;UTC&#xff09;已经替换为&#xff1a;原子钟 中国标准时间&#xff1a;世界标准时间8小时 总结&#xff1a; 1.如何创建日期对象&#xff1f; Data data new…

机器学习数学公式推导之降维

文章目录 降维线性降维-主成分分析 PCA损失函数 P22 (系列五) 降维1-背景 本文参考 B站UP: shuhuai008 &#x1f339;&#x1f339; 降维 我们知道&#xff0c;解决过拟合的问题除了正则化和添加数据之外&#xff0c;降维就是最好的方法。降维的思路来源于维度灾难的问题&…

【问题分析】SetupWizard退出动画卡住【Android15】

1 问题描述 从SetupWizard退出进入Launcher的过程中&#xff0c;SetupWizard的相关界面在退出的动画过程中短暂卡在了某个阶段&#xff0c;如下图所示&#xff1a; 2 问题分析 2.1 log分析 透过现象看本质&#xff0c;看log此过程中没有冻屏之类的操作&#xff0c;那么出现长…