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

【车载开发系列】CAN与CANFD下篇

【车载开发系列】CAN与CANFD下篇

【车载开发系列】CAN与CANFD下篇

  • 【车载开发系列】CAN与CANFD下篇
    • 一. 物理层
    • 二. 各种帧之间的关系
    • 三. 通讯区别总结
      • 1.数据传输速率
      • 2.数据帧长度
      • 3.兼容性
      • 4.错误检测和处理
    • 四. 通信效率提升
      • 1.支持双比特率
      • 2.加长数据长度
    • 五. 总结

一. 物理层

在物理层,CANFD与经典CAN是一致的。只是在上面的协议层,CANFD在经典CAN的基础上进行了升级。所以可以理解成CANFD是经典CAN协议的升级版。

二. 各种帧之间的关系

经典CAN可以分为CAN标准帧&CAN拓展帧,CAN标准帧和拓展帧均可以延伸出远程帧。
CANFD也可以分为标准帧和CANFD拓展帧,CANFD舍弃了远程帧,因为开发人员都觉得远程帧没有什么大用。
远程帧的全称是远程请求帧。帧结构只包括帧头(帧起始段+仲裁段+控制段),它最开始设计出来用于降低总线的负载率。
数据帧,错误帧,扩展帧这三种帧CAN与CANFD都存在。

三. 通讯区别总结

1.数据传输速率

CAN通信的最大传输速率通常为1Mbps,而CAN FD通信提供了更高的速率,可达到最高8Mbps。

2.数据帧长度

CAN通信的数据帧长度有限,最大为8字节。而CAN FD通信引入了灵活数据率和灵活数据帧长度的概念,允许更大的数据帧长度,最大可达到64字节。

3.兼容性

CAN FD通信是对CAN通信的扩展和改进,因此在兼容性方面,CAN FD设备可以与传统CAN设备兼容,但传统CAN设备不支持CAN FD的高速和灵活性特性。

4.错误检测和处理

CAN FD引入了更多的错误检测和处理机制,使得在高速和高数据量的通信环境下,系统更可靠。

四. 通信效率提升

CAN FD采用了两种方式来提高通信的效率:一种方式是缩短位时间提高位速率;第二种方式为加长数据长度减少报文数量降低总线负载率。

1.支持双比特率

与传统CAN一样,标称(仲裁)比特率限制为1 Mbit/s,而数据比特率则取决于网络拓扑/收发器。实际上,可以实现高达5Mbit/s的数据比特率。
从控制段中的 BRS 位到 ACK 段之前(含 CRC 分界符)为可变速率,其余部分为原CAN总线用的速率。两种速率各有一套位时间定义寄存器,它们除了采用不同的位时间单位 TQ 外,位时间各段的分配比例也可不同。

2.加长数据长度

CAN FD每个数据帧最多支持64个数据字节,而传统CAN最多支持8个数据字节,这减少了协议开销,并提高了协议效率。
DLC最大支持64个字节,在DLC小于等于8时与原CAN总线是一样的,大于8时则有一个非线性的增长,最大的数据场长度可达64字节。

五. 总结

CAN和CANFD在物理层是一致的,但在传输性能、数据段长度、帧类型、波特率灵活性、CRC校验和帧结构上都存在较大差异,CANFD在经典CAN的基础上提升了通信速度和数据容量。
从经典CAN到CANFD,很好的解决了ID不足以及改善总线负载率的问题。在一些特定的情况下CAN FD能用在仅使用传统CAN的ECU上,这样就可以逐步引入CAN FD节点,从而为OEM简化程序和降低成本。
与传统CAN相比,CAN FD可以将网络带宽提高3到8倍,效率可从50%提升到90%,从而为数率的增长提供了一种简单的解决方案。

http://www.xdnf.cn/news/1410859.html

相关文章:

  • Linux-驱动积累
  • docker安装tomcat
  • 1.2 操作系统发展历程
  • dify docker compose操作命令指南
  • 【不懂就问】-手机相关学习
  • 内核等待队列以及用户态的类似机制
  • 基于Spring Cloud Sleuth与Zipkin的分布式链路追踪实战指南
  • 机器学习基础-day01-机器学习介绍
  • syn与quote的简单使用——实现debug
  • 萌宝喂养日志-我用AI做喂养记录小程序1-原型设计
  • 中科大少年班记
  • 编程与数学 03-004 数据库系统概论 10_数据库的实施
  • 【GaussDB】排查应用高可用切换出现数据库整体卡顿及报错自治事务无法创建的问题
  • 基于JavaScript的智能合约平台(Agoric)
  • join怎么用
  • Spring Boot单体项目整合Nacos
  • STAR法则
  • C/C++ 高阶数据结构 —— 二叉搜索树(二叉排序树)
  • 【Linux】系统部分——ELF文件格式与动态库加载
  • 【系统分析师】高分论文:论大数据架构的应用
  • Linux系统比较两个​​已排序文件​​的实用工具之comm
  • 混合润滑表面接触刚度和接触阻尼模型
  • 计算机视觉与深度学习 | 低照度图像处理算法综述:发展、技术与趋势
  • ESP32_实验12_基于光敏传感器的停车场车辆计数系统
  • LeetCode 1855.下标对中的最大距离
  • 基于Python的OCR文字识别系统
  • More Effective C++ 条款19:理解临时对象的来源(Understand the Origin of Temporary Objects)
  • 地信/测绘/遥感就业岗位合集
  • Vue2 与 Vue3 路由钩子的区别及用法详解
  • 事件驱动架构新范式:FastEvent 让领域事件开发变得优雅