CAN总线的标准帧和扩展帧

2023-05-16

CAN总线的标准帧和扩展帧主要决定帧ID的长度,

标准帧的帧ID长度是11位,帧ID的范围是000-7FF。

扩展帧的帧ID长度是29位,帧ID的范围是0000 0000-1FFF FFFF。CANopen帧ID最多是11位的,因此是标准帧;而SAE 1939协议通常是18XX XXXX的帧ID,是29位的,因此是扩展帧。

 

扩展帧和标准帧的区别在于:

扩展帧的仲du裁域有29位,可以出现2^29中报zhi文,且在数据链路上是有间隙的(对操作者透明)。

标准帧的仲裁域是连续的11位,可以出现2^11种报文;

控制帧中的DLC(数据长度)完全相同,但保留位不同,标准帧IDE、R0,扩展帧R1、R0,必须以显性电平发送(由数据链路层操作),对程序员透明;

其它的都一模一样,所以,其实CAN标准帧和扩展帧只是在ID的长度上不一样,以能扩展更多的CAN节点,更好地支持上层协议而已。

CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码。采用这种方法的优点可使网络内的节点个数在理论上不受限制,数据块的标识符可由11位或29位二进制数组成,因此可以定义2或2个以上不同的数据块,这种按数据块编码的方式,还可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中非常有用。数据段长度最多为8个字节,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。

 

CAN2.0B标准帧

CAN 标准帧信息为11个字节(3 + 8),包括两部分:信息和数据部分。前3个字节为信息部分。

字节1为帧信息。第7位(FF)表示帧格式,在标准帧中,FF=0;第6位(RTR)表示帧的类型,RTR=0表示为数据帧,RTR=1表示为远程帧;DLC表示在数据帧时实际的数据长度。

字节2、3为报文识别码,11位有效。

字节4~11为数据帧的实际数据,远程帧时无效。

CAN 扩展帧信息为13个字节(5 + 8),包括两部分,信息和数据部分。前5个字节为信息部分

字节1为帧信息。第7位(FF)表示帧格式,在扩展帧中,FF=1;第6位(RTR)表示帧的类型,RTR=0表示为数据帧,RTR=1表示为远程帧;DLC 表示在数据帧时实际的数据长度。

字节2~5为报文识别码,其高29位有效。

字节6~13数据帧的实际数据,远程帧时无效

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CAN总线的标准帧和扩展帧 的相关文章

  • 通信接口五种主要的类型是什么?RS-232、485、CAN、USB

    笔者电子信息专业硕士毕业 xff0c 获得过多次电子设计大赛 大学生智能车 数学建模国奖 xff0c 现就职于南京某半导体芯片公司 xff0c 从事硬件研发 xff0c 电路设计研究 对于学电子的小伙伴 xff0c 深知入门的不易 xff0
  • 一帧CAN数据需要多长时间发送

    1 CAN通讯速率 默认 500kbit s xff1b 2 xff1a 从下图CAN数据包的完整结构可知 xff0c 一包完整的扩展帧CAN数据总共包含 128bit xff1b 3 xff1a 发送一帧扩展帧CAN数据耗时 128 50
  • CAN通信讲解(2)——数据帧和遥控帧

    本文注意参考了 CAN入门书 xff0c 源于此书图片不再特殊标注 目录 2 1 帧的种类2 2 数据帧和遥控帧2 3 仲裁过程2 4 各段详解2 5 小结 数据帧和遥控帧格式类似 xff0c 放在一起串讲 2 1 帧的种类 CAN协议帧分
  • G2O库和Eigen库can not find 问题——FindG2O.cmake FindEigen3.cmake

    目录 CMakeLists设置FindG2O cmake文件内容FindEigen3 cmake 文件内容 CMakeLists设置 在CMakeLists里加入如下这句话 xff0c 并在项目文件夹中新建cmake文件夹 LIST APP
  • 【车载开发系列】CAN总线帧种类介绍篇

    车载开发系列 CAN总线帧种类介绍篇 CAN总线帧种类介绍篇 车载开发系列 CAN总线帧种类介绍篇一 CAN总线当中帧的种类二 五种类型帧用途说明三 数据帧的组成1 xff09 帧起始2 xff09 仲裁段3 xff09 控制段4 xff0
  • CAN总线数据帧/标准帧/扩展帧/远程帧/错误帧的组成格式对比

    最近在研究CAN总线的驱动 xff0c 需要详细了解数据帧 标准帧 扩展帧 远程帧 错误帧这几种帧的详细组成格式 xff0c 于是收集了一下 xff0c 统一放在这里进行对比和记录 xff0c 以便日后需要时查阅 1 数据帧 标准帧 CAN
  • 下一代CAN通信技术CAN XL简介

    众所周知 xff0c CAN网络具有易于实现 可扩展 并支持复杂拓扑结构等诸多优点 xff0c 所以目前在各个行业特别是汽车领域 xff0c 得到了非常广泛的应用 但是 xff0c 它也存在着诸多问题 xff0c 其中最大的一点就是总线带宽
  • CAN报文格式简析

    Date xff1a 2022 5 11 Author xff1a MJQ Meta xff1a CAN CAN基础篇 CAN报文格式简析 1 Motornala和Intel格式 建议直接看图 xff0c 小白也能秒懂 xff01 注 xf
  • linux-can编程(一)

    建立can的socket int can create socket char name int fd struct sockaddr can addr struct ifreq ifr socklen t len 61 sizeof ad
  • Linux Socket CAN——驱动开发(转)

    Linux Socket CAN驱动开发 一 CAN总线协议 CAN是Controller Area Network 控制器局域网 的缩写 CAN通信协议在1986年由德国电气商博世公司所开发 xff0c 主要面向汽车的通信系统 现已是IS
  • CAN通信学习笔记(一)

    1 CAN通信的基本原理 1 1 基本概念 CAN 是 Controller Area Network 的缩写 xff08 以下称为 CAN xff09 xff0c 是 ISO 国际标准化的串行通信协议 在北美和西欧 xff0c CAN 总
  • Ubuntu系统周立功CAN驱动安装及常见问题

    文章目录 前言 一 步骤 1 检查是否安装libusb的库 2 驱动安装 3 测试 部分常见问题 前言 系统是ubuntu16系列 周立功的是usbcan 提示 以下是本篇文章正文内容 下面案例可供参考 一 步骤 1 检查是否安装libus
  • 一文读懂CAN总线及通信协议

    CAN总线的汽车 CAN概念 CAN是控制器域网 Controller Area Network CAN 的简称 是由研发和生产汽车电子产品著称的德国BOSCH公司开发了的 并最终成为国际标准 ISO11898 是ISO国际标准化的串行通信
  • STM32的CAN总线的接收双FIFO使用方法

    通过下面的框图我们可以看到 STM32F013有两个接收FIFO 但是实际的使用中如何让着两个FIFO都被使用呢 解决办法就在这里 1 STM32F103有0 13共14个过滤器组 每个过滤器组都可以绑定指定的FIFO 2 特别需要注意的一
  • 各种通信接口的简单对比

    对比表 同步方式与异步方式的主要区别在于 是否传输时钟信号 只要是通訊前雙方需要設定相同波特率的 都是異步傳輸方式 异步传输 Asynchronous Transmission 每次异步传输的信息都以一个起始位开头 它通知接收方数据已经到达
  • MCP2515独立控制器

    1 简介 MCP2515 是一款独立控制器局域网络 Controller Area Network CAN 协议控制器 完全支持 CAN V2 0B 技术规范 该器件能发送和接收标准和扩展数据帧以及远程帧 MCP2515 自带的两个验收屏蔽
  • STM32学习心得三十二:CAN通信基础知识、原理、配置及实验

    记录一下 方便以后翻阅 主要内容 1 CAN通信基础知识 2 STM32 CAN控制器简介 3 相关实验代码解读 参考资料 STM32中文参考手册 V10 第22章 控制器局域网 bxCAN 实验功能 CAN实验需要两个开发板 系统启动后
  • CAN总线的报文分析(三)

    系列文章目录 文章目录 系列文章目录 前言 一 数据帧 最常用 1 帧起始 2 仲裁段 3 控制段 4 数据段 5 CRC段 6 ACK段 7 帧结束 二 远程帧 三 错误帧 四 过载帧 五 帧间隔 总结 前言 CAN总线上的节点发送数据都
  • 难懂?这样理解SPI与CAN很简单!

    难懂 这样理解SPI与CAN很简单 什么是串行通讯 为什么仍需使用串行通讯 SPI与CAN SPI 接口特点 CAN现场总线特点 什么是串行通讯 在正式进入主题前 我么先来介绍一下什么叫做 串行通信 串行通信是计算机的一种数据传输通信方式
  • STM32的CAN标识符过滤器超简单理解

    1 STM32中CAN1与CAN2的过滤器组 103系列14个过滤器组 104 107系列28个过滤器组 CAN FilterInitStructure CAN FilterNumber 0 0 13 2 每组过滤器组有两种工作模式 标识符

随机推荐

  • STL常用算法——拷贝和替换算法

    文章目录 STL常用算法 拷贝和替换算法1 copy 2 replace 3 replace if 4 swap STL常用算法 拷贝和替换算法 1 copy copy 函数 xff1a 将源容器内指定范围的元素拷贝到目的容器中 函数原型
  • STL常用算法——算术生成算法和集合算法

    文章目录 STL常用算法 算术生成算法和集合算法1 算术生成算法1 1 accumulate 1 2 fill 和fill n 2 集合算法2 1 set intersection 2 2 set union 2 3 set differe
  • CompletableFuture的使用

    文章目录 1 Future2 CompletableFuture 并行 xff0c 并发 并发 xff1a 一个实体上 xff0c 多个任务有序执行 并行 xff1a 多个实体上 xff0c 多个任务同时执行 用户线程 用户线程是系统的工作
  • 将本地jar添加到Maven仓库

    一 将jar添加到本地仓库的做法 xff1a 以下面pom xml依赖的jar包为例 xff1a 实际项目中pom xml依赖写法 xff1a html view plain copy lt dependency gt lt groupId
  • nodejs如何实现Digest摘要认证?

    文章目录 1 前言2 原理3 过程4 node实现摘要认证5 前端如何Digest摘要登录认证 xff08 下面是海康的设备代码 xff09 1 前言 根据项目需求 xff0c 海康设备ISAPI协议需要摘要认证 xff0c 那么什么是摘要
  • HAL库中断方式进行串口通信

    目录 一 通过CubeMX配置项目 二 在keil配置代码 三 烧录运行 四 输出 五 总结 六 参考链接 一 通过CubeMX配置项目 二 在keil配置代码 main函数中的while循环里面添加传输代码 if flag 61 61 1
  • 串口UART

    目录 串口概念 串口rs232 数据格式 注意事项 总体结构图 代码verilog 接收模块 结构图 波形图 编辑 代码 verilog 发送模块 结构图 波形图 代码 verilog 串口rs485 串口概念 串口是异步 串行通信接口 x
  • vs code 无法打开任何文件/新建文件报错this.configurationService.getValue(…) || []).filter is not a function

    vs code 无法打开任何文件 新建文件报错this configurationService getValue filter is not a function 主要起因是在一台mac 电脑上登录了vs code的同步帐号 xff0c
  • ESP32环境搭建遇到的问题记录

    关于安信可AiThinkerIDE V1 0自带的esp idf xff08 v3 3 咨询淘宝上的技术 xff09 xff0c 是可以在该IDE上导入运行的 xff1b 但是我使用了最新的esp idf v4 2 xff0c 在IDE上却
  • SVN trunk(主线) branch(分支) tag(标记) 用法详解和详细操作步骤

    一 xff1a 使用场景 xff1a 假如你的项目 xff08 这里指的是手机客户端项目 xff09 的某个版本 xff08 例如1 0版本 xff09 已经完成开发 测试并已经上线了 xff0c 接下来接到新的需求 xff0c 新需求的开
  • 有关HTTP 401验证的那些事儿

    前段时间突然遇到有一个需求 xff1a 要求能够抓取到NVR上连接的摄像头设备列表 因为要的比较急 xff0c 而且我还没啃透海康SDK的文档 xff0c 所以只好考虑另辟蹊径 xff0c 用一些别的方法来达到目标咯 我们登录到NVR的we
  • LCD段码屏 真值表转换

    以lcd段码屏驱动芯片TM1621D为例子 typedef union struct uint8 t a 1 uint8 t b 1 uint8 t c 1 uint8 t d 1 uint8 t e 1 uint8 t f 1 uint8
  • 段码屏走线转换为真值表

    54117PIN1234567891011SEG1ABCDEG PM2EFG2ABCD3EFG COL3ABCD4EFG4ABCD1B 2A COL 3A 4A1ADEG 2BF 3BF 4BF1C 2CG 3CG 4CGPM 2DE 3D
  • 硬件电路,AD-DC电路中元器件的作用

    热敏电阻 xff1a 功率型NTC热敏电阻多用于电源抑制浪涌 1 在AC220V输入端串联热敏电阻 xff0c 在电路电源接通瞬间 xff0c 电路中会产生比正常工作时高出许多倍的浪涌电流 xff0c 而NTC热敏电阻器的初始阻值较大 xf
  • CentOS 7内核更换教程

    CentOS 7支持安装锐速的内核 xff1a 3 10 0 327 el7 x86 64 使用下面命令下载及更换内核 rpm ivh http xz wn789 com CentOSkernel kernel 3 10 0 229 1 2
  • 关于STM32 CAN 滤波器设置的记录

    滤波模式有以下两种 xff1a 屏蔽位模式 标识符列表模式 过滤器的位宽 xff1a 16位过滤器 32位过滤器 下面记录一下我做过测试的代码 代码说明 xff1a 这是CAN2的滤波器 xff0c stm32f107的两组CAN滤波器是共
  • 定时器判断串口接收结束

    void USART1 IRQHandler void 串口1中断服务程序 u8 Res if USART GetITStatus USART1 USART IT RXNE 61 RESET 接收中断 Res 61 USART Receiv
  • gcc编译时对'xxxx'未定义的引用问题

    这个主要的原因是gcc编译的时候 xff0c 各个文件依赖顺序的问题 在gcc编译的时候 xff0c 如果文件a依赖于文件b xff0c 那么编译的时候必须把a放前面 xff0c b放后面 例如 在main c中使用了temp xff0c
  • 【编译人生】跨平台程序设计BOOST库以及编译方案的选择

    boost库很方便 xff0c 不用说 xff0c 下面是编译方法 xff0c 以WINDOWS平台为例 1 在 boost解压缩文件路径下 xff08 可能不同版本的路径位置build有所不同 xff09 cd d tools build
  • CAN总线的标准帧和扩展帧

    CAN总线的标准帧和扩展帧主要决定帧ID的长度 xff0c 标准帧的帧ID长度是11位 xff0c 帧ID的范围是000 7FF 扩展帧的帧ID长度是29位 xff0c 帧ID的范围是0000 0000 1FFF FFFF CANopen帧