CAN通信标准帧和扩展帧介绍

2023-05-16

简介

CAN接口兼容规范2.0A和2.0B(主动),位速率高达1兆位/秒。它可以接收和发送11位标识符的标准帧,也可以接收和发送29位标识符的扩展帧。

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

一、扩展帧的仲裁域有29位,可以出现2^29中报文,且在数据链路上是有间隙的(对操作者透明),帧ID的范围是0000 0000-1FFF FFFF。(PS:目的就是构造29位的CAN ID,可以实现更加庞大的ID群,妈妈再也不用担心ID不够用了!)
二、标准帧的仲裁域是连续的11位,可以出现2^11种报文,也就是帧ID的范围是000-7FF;
三、控制帧中的DLC(数据长度)完全相同,但保留位不同,标准帧IDE、R0,扩展帧R1、R0,必须以显性电平发送(由数据链路层操作),对程序员透明;
四、 总结: 其它的都一模一样,所以,其实CAN标准帧和扩展帧只是在帧ID的长度上不一样,以能扩展更多的CAN节点,更好地支持上层协议而已。

注意:这里的帧ID 并不是表示发送的目的地址,而是表示访问总线的消息的优先级(帧ID值越小,优先级越高,最小是0x00000000)。
标准帧:(0x12)
在这里插入图片描述

扩展帧:(0x1314)
在这里插入图片描述

CAN标准帧格式

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

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

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

字节4~11为数据帧的实际数据,远程帧时无效。
在这里插入图片描述

CAN扩展帧格式

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

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

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

字节6~13数据帧的实际数据,远程帧时无效
在这里插入图片描述

恶补知识

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

同时,8个字节不会占用总线时间过长,从而保证了通信的实时性。CAN协议采用CRC检验并可提供相应的错误处理功能,保证了数据通信的可靠性。CAN卓越的特性、极高的可靠性和独特的设计,特别适合工业过程监控设备的互连,因此,越来越受到工业界的重视,并已公认为最有前途的现场总线之一。

附录:

上面CANTest软件的最新下载地址:https://www.zlg.cn/Index/Search/search?selc=all&key=cantest
需要配置CAN盒使用
在这里插入图片描述

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

CAN通信标准帧和扩展帧介绍 的相关文章

  • STM32通信---CAN

    一 CAN是什么 xff1f CAN xff0c 全称为 Controller Area Network xff0c 即控制器局域网 xff0c 是一种多主方式的串行通讯总线 xff0c 是国际上应用最广泛的现场总线之一 二 CAN的起源
  • 四、数据转换、ros-CAN通讯

    1 CAN通讯 1 1驱动安装 1 1 1在我的gitee上下载test功能包 xff0c 将libusbcan so文件复制到 lib 其他位置 计算机 lib 目录下 1 2参考 我另一篇博客一 2 1 3 下载功能包 1 3 1 在我
  • CAN扩展帧详解

    寻址方式
  • CAN通信数据帧介绍

    CAN通信有五个帧 xff0c 其中最重要的是数据帧 xff01 xff01 xff01 xff01 我们下面开始讨论数据帧 一 数据帧的格式 xff08 数据帧有七个段组成 xff09 xff0c 帧起始 表示数据帧开始的段 xff0c
  • CAN总线 标准帧/扩展帧滤波器设置

    在CAN协议里 xff0c 报文的标识符不代表节点的地址 xff0c 而是跟报文的内容相关的 因此 xff0c 发送者以广播的形式把报文发送给所有的接收者 节点在接收报文时 根据标识符 CAN ID 的值决定软件是否需要该报文 xff1b
  • CAN通信详解

    本章我们将向大家介绍如何使用STM32自带的CAN控制器来实现两个开发板之间的CAN通讯 xff0c 并将结果显示在TFTLCD模块上 本章分为如下几个部分 xff1a 30 1 CAN简介 30 2 硬件设计 30 3 软件设计 30 4
  • G2O库和Eigen库can not find 问题——FindG2O.cmake FindEigen3.cmake

    目录 CMakeLists设置FindG2O cmake文件内容FindEigen3 cmake 文件内容 CMakeLists设置 在CMakeLists里加入如下这句话 xff0c 并在项目文件夹中新建cmake文件夹 LIST APP
  • CAN报文解析—案例

    1 CAN报文定义 CAN报文是指发送单元向接受单元传送数据的帧 我们通常所说的CAN报文是指在CAN线 xff08 内部CAN 整车CAN 充电CAN xff09 上利用ECU和CAN卡接收到的十六进制报文 2 CAN协议中CAN报文种类
  • CAN总线协议:标准CAN和扩展CAN

    CAN通讯协议是一个载波侦听 基于报文优先级碰撞检测和仲裁 xff08 CSMA CD 43 AMP xff09 的多路访问协议 CSMA的意思是总线上的每一个节点在企图发送报文前 xff0c 必须要监听总线 xff0c 当总线处于空闲时
  • roscore报错: ‘ascii’ codec can’t decode byte 0xe6 in position 13: ordinal not in range(128)

    零 问题描述 使用ROS是 xff0c 执行roscore报一下错误 xff1a ascii codec can t decode byte 0xe6 in position 13 ordinal not in range 128 The
  • 大疆M3508、M2006必备CAN总线知识与配置方法

    大疆M3508 M2006必备CAN总线知识与配置方法 文章目录 大疆M3508 M2006必备CAN总线知识与配置方法前言 xff1a 0x00 需要 额外的 CAN收发器 xff01 xff01 xff01 0x01 硬件层面分析为什么
  • 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
  • Rt-thread的CAN应用2

    1 rtt中使能CAN1 2 CubeMX生成部分代码 xff0c 完成下面操作然后生成MDK ARM项目文件 3 将CubeMX生成的 HAL CAN MspInit 函数 粘贴到drv can c中 并在rt hw can init 函
  • 山石岩读丨前沿领域探析——汽车CAN总线协议详解及攻击面分析

    1 CAN总线的基本概念以及由来 CAN Controller Area Network 总线协议是由 BOSCH 发明的一种基于消息广播模式的串行通信总线 它起初用于实现汽车内ECU之间可靠的通信 后因其简单实用可靠等特点 而广泛应用于工
  • CAN接口芯片MCP2515的波特率和滤波器设置问题

    配置波特率代码 MCP2515ByteWrite CNF1 3 MCP2515ByteWrite CNF2 0x80 PHSEG1 3TQ PRSEG 1TQ MCP2515ByteWrite CNF3 PHSEG2 3TQ 功能 波特率的
  • CAN2.0和J1939协议的关系

    转发自http www cankau cn support help can vs j1939 html 很长时间没搞明白j1939与CAN2 0的关系 这篇文章让我明白了 CAN2 0是一种总线规范 是数据链路层的技术 J1939是SAE
  • STM32 CAN/CANFD软件快速配置(HAL库版本)

    STM32 CAN CANFD软件快速配置 HAL库版本 目录 STM32 CAN CANFD软件快速配置 HAL库版本 前言 1 软件编程 1 1 建立工程 1 2 初始化 1 2 1 引脚设置 1 2 2 CAN基本参数设置 1 2 3
  • CAN协议详解-01

    CAN 是控制器局域网络 Controller Area Network 的简称 它是由研发和生产汽车电子产品著称的德国 BOSCH 公司开发的 并最终成为国际标准 ISO11519以及ISO11898 是国际上应用最广泛的现场总线之一 差
  • STM32F407 CAN1 CAN2

    注意CAN1可以单独使用 CAN2要开启CAN1时钟才能使用 u8 CAN1 Mode Init u8 mode GPIO InitTypeDef GPIO InitStructure CAN InitTypeDef CAN InitStr
  • pico示波器使用

    文章目录 Pico示波器保存波形 Pico示波器录制数据 Pico示波器解析CAN报文 Pico示波器保存波形 Pico示波器可以通过以下步骤保存波形 在示波器上选择要保存的波形 连接示波器到计算机上 可以使用USB或者Ethernet连接

随机推荐

  • Jenkins 上传文件到工作目录

    使用插件 xff1a File Parameter Plugin 之前写过一篇关于Jenkins 用户上传文件到工作目录的文章 xff0c 那时候还需要使用sharedlibraries 现在使用这个插件可以非常简单的上传文件 话不多说 x
  • Jenkins 在不同的agent之间传递文件/上传文件

    有时jenkins pipeline需要在不同的agent上执行不同的操作 xff0c 同时需要在不同的agent之间传递文件 方法如下 xff1a stage 39 上传文件 39 agent 39 label A 39 steps sc
  • 解决vscode编写go代码时提示过慢

    vscode的自动代码提示 xff0c 发现太慢了 xff0c 隔3 xff0c 4秒才会出提示 xff0c 所以换为Google推荐的 gopls来代替 下载过程 方案一 打开 VS Code 的setting 搜索 go useLang
  • windows server安装OpenSSH server

    右键powershell 选择以管理员运行 powershell 查看可安装的OpenSSH server版本 xff0c 在PowerShell中执行命令如下所示 Get WindowsCapability Online Name Ope
  • 表白密码:I Love you的42种密码表白方式

    字母表白数字密码 xff1a 9121522521 表白解密 xff1a 从1开始到26 xff0c 分别表示从A到Z xff0c 即 xff1a A xff08 1 xff09 B xff08 2 xff09 C xff08 3 xff0
  • C语言字符串结束标志

    为了测定字符串的实际长度 xff0c C语言规定了一个字符串结束标志 0 作为标志 xff0c 如果一个字符串为9个 xff0c 前面九个都不为空字符 xff0c 那么第十个字符为 0 xff0c 也就是说在遇到字符 0 时 xff0c 表
  • 用体光栅作角度滤波器

    体光栅由于其高光谱灵敏性和角度灵敏度 xff0c 可以设计成光谱滤波器或角度滤波器 根据K Bang等人的工作 xff0c 我们在VirtualLab Fusion中构造了这样的体光栅 xff0c 并分析了它们的角度响应 与传统的采用4 f
  • linux网络编程(完整版)

    之间在网上看到很多网络编程都是一个一个demo xff0c 今天我把之前学到的汇总起来 xff0c 希望大家可以进行补充 我理解的网络通信分为4种 1 xff0c udp客户端 2 xff0c udp服务端 3 xff0c tcp客户端 4
  • 一阶线性微分方程

    1 一阶线性微分方程概念 2 一阶线性齐次微分方程解法 例题 xff1a 例题 xff1a 3 一阶线性非齐次微分方程解法 例题 xff1a 4 伯努利方程 例题 xff1a
  • 集成学习(Bagging和Boosting)

    一 概念 集成学习就是组合这里的多个弱监督模型以期得到一个更好更全面的强监督模型 xff0c 集成学习潜在的思想是即便某一个弱分类器得到了错误的预测 xff0c 其他的弱分类器也可以将错误纠正回来 Baggging 和Boosting都是模
  • 传感器数据异常预测-实战篇

    好久没更新了 xff0c 记录一下近两年研究的一套算法吧 xff0c 只讲讲方法部分 xff0c 细节再更新吧 时序数据的异常检测我一般分成两类 xff0c 单信号和多信号 单信号 对于一条数据的异常检测 xff0c 我划分成两类 xff0
  • 天线基础知识(四)接收灵敏度

    1 接收灵敏度 接收灵敏度是指无线设备正常工作所需的天线口最小信号接收功率 系统间的干扰会导致无线设备灵敏度的下降 xff0c 影响信号的正常接收 xff0c 因此通常以无线设备灵敏度准则作为被干扰系统的保护准则 无线传输的接收灵敏度类似于
  • px4讲解(一)历史起源

    第一节 对于初次接触无人机行业的人来说一些无人机行业课外知识还是需要了解的 xff0c ardupilot和px4是目前无人机行业最受欢迎 也是最为先进的飞控软件 xff0c 他们又是如何诞生并一路走来的呢 xff0c 他们跟Droneco
  • px4讲解(二)软件硬件

    无人机 xff08 飞控 xff09 软硬件介绍 无人机 xff08 简称 飞控 xff09 的软件和硬件都是开源的 xff0c 飞控的硬件也是是 开源的 xff0c 硬件 xff1a PIXHAWK 其硬件可以根据自己的需要修改硬件 xf
  • PX4官方examples 发布与订阅 分析

    功能 xff1a 实现 订阅 sensor combined 消息 xff0c 将订阅的消息数据 通过发布主题 xff08 vehicle attitude xff09 发布出去 Copyright 2012 2019 PX4 Develo
  • FreeRTOS详解

    FreeRTOS 1 任务切换 xff1a 使用vTaskDelayUntil vTaskDelay xQueueSend函数可以引起任务切换从中断函数中退出后 xff0c 执行高优先级任务 xff1a span class token c
  • 通讯协议制定之常用校验的实现

    1 异或校验 span class token macro property span class token directive hash span span class token directive keyword include s
  • Linux终端下显示全部make信息的方法

    博主新开了个人站点 xff0c 你也可以在这看到这篇文章 xff0c 点击打开链接 我们编译较大的工程项目时 xff0c 总会遇到以下情况 xff1a 输入make命令后 xff0c 显示了很长的一段信息 xff0c 但是只能显示下面的一部
  • RTOS之Freertos的操作系统原理

    任务调度机制的实现 任务调度机制是嵌入式实时操作系统的一个重要概念 xff0c 也是其核心技术 对于可剥夺型内核 xff0c 优先级高的任务一旦就绪就能剥夺优先级较低任务的CPU使用权 xff0c 提高了系统的实时响应能力 FreeRTOS
  • CAN通信标准帧和扩展帧介绍

    简介 CAN接口兼容规范2 0A和2 0B 主动 xff0c 位速率高达1兆位 秒 它可以接收和发送11位标识符的标准帧 xff0c 也可以接收和发送29位标识符的扩展帧 标准帧和扩展帧的区别在于 xff1a 一 扩展帧的仲裁域有29位 x