CANFDCAN协议对比 - 基础介绍_02

news2025/1/12 3:53:56

目录

四、CAN和CANFD区别

1、保留位

2、FDF-FD格式

五、高速传输机制

1、位速率切换 (Bit Rate Switch)

2、波特率5MBit/s

3、BRS和CRC界定符之间采用更高的波特率

六、CANFD数据场

1、经典CAN中DLC:9种可能的长度

2、CANFD中DLC:16种可能的长度

七、指示位错误

1、错误状态指示位 (Error State Indicator)

八、安全性校验

1、更多的数据就需要更长的DLC

2、CRC校验机制

a、CAN的位填充

b、CAN FD的位填充

c、CAN FD CRC场中的其他位填充


四、CAN和CANFD区别

1、保留位

        经典CAN帧中的保留为在CANFD中变成了区别经典CAN和CANFD的标识位;

        0:显性值,表示经典CAN

        1:隐性值,表示CANFD(在使用CAPL组CANFD包时,一般需要将FDF和BRS同时为1,因为CANFD一般来说不会将数据段速率设置与起始段和控制段一致,那样就没必要使用CANFD了,直接使用经典CAN更好,当然我们不排除特殊情况)

2、FDF-FD格式

        该位的新名称是FDF (Flexible Data Rate Format,FD格式),它为传输更大的有效载荷创造了可能。实际的数据场长度以及是否切换为更快传输速率取决于FDF位的后面部分。

五、高速传输机制

1、位速率切换 (Bit Rate Switch)

        CAN FD的保留位之后接位速率切换 (BRS) 位,控制数据段的速率与控制段的差异:

        0:数据段与控制段速率一样

        1:数据段与控制段速率不同,数据段一般使用更高的速率。

        因此CANFD中,我们一般都会配置2个波特率,一个用于控制段和校验段的速率,一个用于数据段的速率,分开进行使用。

2、波特率5MBit/s

        假如波特率2定义为5 Mbit/s(数据段速率为5Mbit/s),相当于5 Mbit/s,位及其物理表示形式(即电压电平)的持续时间相同。该数值并不是凭空得出的,因为经实验室的实验证明,经典CAN所用的大多数收发器也能够处理5 Mbit/s的速率。如果收发器性能允许,还可支持更高的传输速率。真实情况下,具体的传输速率取决于实际车辆所处的复杂电磁环境影响。

3、BRS和CRC界定符之间采用更高的波特率

        从波特率1到波特率2的转换发生在BRS的采样点,从波特率2回到波特率1的转换发生在应答位之前的CRC界定符的采样点,为了使接收方即使在传输速率很高的情况下也可以与发送方完美同步,需要立即执行第二次硬同步。

六、CANFD数据场

1、经典CAN中DLC:9种可能的长度

        无论是在经典CAN还是在CANFD中,数据长度段位置(DLC)均由4个位构成,共有16种可能存在的值,不过经典CAN仅使用了其中的值0 - 8,9 - 15未使用;即经典CAN的长度最大为8 byte,最小为0 byte。

2、CANFD中DLC:16种可能的长度

        上面说了,经典CAN中使用数据长度值0 - 8,而DLC中其余的7个值9 - 15未使用,这时候聪明的朋友会发现CANFD最大为64byte的长度数据,而且CANFD又是兼容经典CAN的,因此就出现了在数据长度小于等于8 byte的时候,就是DLC的实际长度0 - 8;当数据长度大于8的时候,字节和DLC将不再是线性对应了,使用CANFD中专用的对应关系,如下表:

DLCData Field Bytes CANData Field Bytes CANFD
000
111
222
333
444
555
666
222
333
444
555
666
222
333
444
555
666
777
888
9812
10816
11820
12824
13832
14848
15864

七、指示位错误

1、错误状态指示位 (Error State Indicator)

        错误状态指示位(ESI)在位速率切换 (BRS)位之后。

        0:ESI显性,ECU处于主动错误状态

        1:ESI隐性,ECU处于被动错误状态

        该位以更加清晰的方式跟踪错误帧,并使网络管理更加简化。网络节点的主动错误和被动错误状态会在整个网络上广播。

八、安全性校验

1、更多的数据就需要更长的DLC

        对比经典CAN来说,一帧CANFD报文中所使用的位将远远大于它,并且在数据段传输速率一般也会更快,显然这样也就导致出现错误的可能性也会增加;为了解决这个问题,就需要在CANFD报文帧中增加校验位的冗余,否则接收方无法鉴定数据是否出现错误。因此在数据场数据不超过16 byte的CANFD报文就由17个CRC校验位来保护,当数据超过16 byte,则需要CRC校验位增加到21个位。它们分别是CRC17(0x3685B)和CRC21(0x302899).

2、CRC校验机制

a、CAN的位填充

        经典CAN报文中,从帧起始(SOF)一直到校验场末尾(CRC)都有可能添加填充位,规则就是每5个相同的位之后插入一个相反的位,这些位不计入校验CRC场中。

b、CAN FD的位填充

        而在CAN FD中,从帧起始 (SOF) 到数据场末尾添加填充位。在计算校验场时,会将这些填充位也考虑进去。填充位计数器 (对7取模)和奇偶校验位在中紧接在数据场后。

c、CAN FD CRC场中的其他位填充

        并且在CANFD中,CRC场本身也会加入填充位,并且频率相较于其他数据段会更高;规则是:

        1. CRC场始终以与前面的位相反的填充位开头。在接下来的每四个位 (无论是否相同)之后,插入与前一位相反的填充位。

        2. 在CRC之后,不再插入填充位,这一点与经典CAN中相同

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

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

相关文章

ChatGPT你真的玩明白了?来试试国内免费版的ChatGPT吧!

文章目录 一、什么是ChatGPT二、ChatGPT的作用三、免费ChatGPT的使用四、写在最后 一、什么是ChatGPT ChatGPT全称为Chat Generative Pre-trained Transformer,Chat是聊天的意思,GPT是生成型预训练变换模型,可以翻译为聊天生成预训练转换器或…

抖音seo源码开发部署

抖音seo账号矩阵源码系统搭建,​ 抖音获客系统,抖音SEO优化系统源码开发,思路分享,分享一些开发的思路...... 账号矩阵霸屏系统源代码账号矩阵系统建设部署,短视频seo账号矩阵框架分析,开发语言为后台框架语言PHP pyt…

chatgpt赋能Python-python_nonetype报错

Python NoneType报错:原因、解决方法和预防措施 Python 是一种面向对象的高级编程语言,用于快速编写脚本和应用程序。但是,当我们在编写 Python 代码时,可能会遇到 NoneType 报错;这是一种类型错误,它发生…

接口自动化测试工具SoapUI下载安装以及简单使用教程

前言 SoapUI是Webservice开发的必备工具。SoapUI是一个开源测试工具,通过Soap/HTTP来检查、调用、实现Web Service的功能,而且还能对Webservice做性能方面的测试。SoapUI会根据WSDL的格式生成左边的列表树,双击Request1就能看到Soap请求报文的内容。 一…

笔记--大数据--大数据概念

大数据:指无法在一定时间范围内用常规软件工具进行捕捉、管理和 处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化 能力的海量、高增长率和多样化的信息资产。 按顺序给出数据存储单位:bit、Byte、KB、MB、GB、TB…

笔记--大数据--Hadoop--01--基础概念

Hadoop是什么 Hadoop是一个分布式系统基础架构 主要解决海量数据的存储和分析计算问题 Hadoop优势–4高 高可靠性:Hadoop底层维护多个数据版本,单个计算元素或存储故障也不会导致数据丢失 高扩展性:在集群中分配任务数据,可以方便…

springWEB搭建

SpringWEB就是spring框架里得一个模块 springMVC介绍 在之前的后端三大架构: Controller: 控制层, 包含了servlet, 对数据的接收, 处理, 响应 Model: 数据模型, dao, model VIew: 视图, jsp, 用于将数据添加到html中进行响应 工作流程: 主要是控制层接收到响应之后, 调取dao层将…

CodeForces.1806A .平面移动.[判断可达范围][找步数规律]

题目描述: 题目解读: 给定移动规则以及起始点,终点;分析终点是否可达,可达则输出最小步数。 解题思路: 首先要判定是否可达。画图可知,对于题目给定的移动规则,只能到达起始点(a,b…

行业常识_交换机

文章目录 一、前言二、交换机2.1 什么是交换机?2.2 交换机的作用是什么?2.3 交换机的应用2.4 交换机分类2.5 交换机功能2.6 交换机的带宽 三、总结 一、前言 项目中经常会用到交换机。 交换机有多个网口。 你可以用一根网线,网线一端插入交换…

【学习日记2023.5.23】 之 店铺营业状态模块完善

文章目录 5. 店铺营业状态设置5.1 需求分析和设计产品原型 5.2 代码开发5.2.1 设置营业状态5.2.2 管理端查询营业状态5.2.3 用户端查询营业状态 5.3 功能测试5.3.1 接口文档测试5.3.2 接口分组展示5.3.3 前后端联调测试5.4 代码提交 5. 店铺营业状态设置 5.1 需求分析和设计 产…

chatgpt赋能Python-python_os_remove

Python os.remove(): 删除文件 什么是 Python os.remove()? Python os.remove() 函数是 Python 中用于删除文件的标准库函数之一。 它使用以下语法: os.remove(file)这里的 file 参数是要删除的文件的路径及文件名。 Python os.remove()的工作原理 …

Linux——SNAT与DNAT的应用

一、SNAT的介绍 1,SNAT概述 SNAT(SNAT)一般指源地址转换 源地址转换是内网地址向外访问时,发起访问的内网ip地址转换为指定的ip地址(可指定具体的服务以及相应的端口或端口范围),这可以使内网中…

2024考研《数据结构》复习笔记总览(文末有彩蛋)

前言 数据结构是是计算机专业的必修课,也是计算机考研的必学书目。 随着科技的飞速发展,数据结构的基础性地位不仅没有动摇,反而由于近年来算法工程师的高薪火爆,使得数据结构的重视程序空前高涨。 索引目录 数据结构考研笔记第…

电动力学专题:天线阵简介

电动力学专题:天线阵天线阵是指由多个天线按一定方式组合而成的一个系统,用于接收或发射无线电信号。天线阵可用于雷达、通信、导航和定位等领域,能够大幅度提高系统的灵敏度和方向性,同时也能提高系统的抗干扰能力和分辨率。在实…

fastposter v2.15.0 从繁琐到简单,简洁好用的海报生成器

fastposter v2.15.0 从繁琐到简单,简洁好用的海报生成器 从繁琐到简单,简洁好用的海报生成器 我很高兴向大家推荐一款令人兴奋的工具——Fastposter海报生成器。作为一名开发者,我们深知在项目中创建专业级海报的重要性,但常常面…

MATLAB仿真建模:Simulink和Stateflow的应用和模型设计

第一章:引言 在当今的科学研究和工程领域中,仿真建模是一项非常重要的技术。通过仿真建模,我们可以在计算机上创建模拟真实系统行为的模型,并通过模型的分析和测试来优化系统设计。MATLAB是一种广泛应用于科学和工程领域的强大工…

FPGA——HLS入门-LED闪烁仿真

系列文章目录 文章目录 系列文章目录一、HLS介绍1、什么是HLS2、与VHDL/Verilog有什么关系?3、关键技术局限性 二、Vivado HLS - LED闪烁仿真1、项目配置2、C仿真3、联合仿真 三、总结 一、HLS介绍 1、什么是HLS HLS就是高综合(High level Synthesis)…

如何开发微信小程序,后端,前端,小程序端,如何部署到腾讯云托管

开发微信小程序是一项非常有趣的任务,它涉及到前端、后端和小程序端的开发。在本文中,我们将介绍如何开发微信小程序,并将其部署到腾讯云托管。 一、前端开发 前端开发是微信小程序开发的第一步。在这一步中,我们需要使用微信小程…

分享几个网内可用的免费的ChatGPT网页版

Chatgpt: 与AI聊天的新体验 随着数字生活的普及和人工智能技术的快速发展,越来越多人希望与机器进行真挚的交流,体验身临其境的感觉。基于这个想法,我们推出了Chatgpt,一款基于自然语言处理技术和深度学习算法的智能聊天机器人&a…

Spark基础学习笔记----RDD检查点与共享变量

零、本讲学习目标 了解RDD容错机制理解RDD检查点机制的特点与用处理解共享变量的类别、特点与使用 一、RDD容错机制 当Spark集群中的某一个节点由于宕机导致数据丢失,则可以通过Spark中的RDD进行容错恢复已经丢失的数据。RDD提供了两种故障恢复的方式&#xff0c…