CAN通讯协议是一个载波侦听、基于报文优先级碰撞检测和仲裁(CSMA/CD+AMP)的多路访问协议。CSMA的意思是总线上的每一个节点在企图发送报文前,必须要监听总线,当总线处于空闲时,才可发送。CD+AMP的意思是通过预定编程好的报文优先级逐位仲裁来解决碰撞,报文优先级位于每个报文的标识域。更高级别优先级标识的报文总是能获得总线访问权,即:标识符中最后保持逻辑高电平的会继续传输,因为它具有更高优先级。

ISO-11898:2003标准,带有11位标识符,提供的最高信号速率从125Kbps到1Mbps。更迟一些的修订标准使用了扩展的29位标识符。

标准CAN

标准CAN只有11位标识符,每帧的数据长度为51+(064)=(51117)位。

· SOF - 帧起始。显性(逻辑0)表示报文的开始,并用于同步总线上的节点。

· 标识符 - 标准CAN具有11位标识符,用来确定报文的优先级。

此域的数值越小,优先级越高。

· RTR - 远程发送请求位。

当需要从另一个节点请求信息时,此位为显性(逻辑0)。

所有节点都能接收这个请求,但是帧标识符确定被指定的节点。

响应数据帧同样被所有节点接收,可以被有兴趣的节点使用。

· IDE - 标识符扩展位,为显性时表示这是一个标准CAN格式,为隐形表示这是扩展CAN格式。

· r0 - 保留位(可能将来标准修订会使用)。

· DLC - 4位数据长度代码表示传输数据的字节数目,一帧CAN最多传输8字节用户数据。

· 数据0~8 – 最多可以传输8字节用户数据。

· CRC - 16位(包括1位定界符)CRC校验码,用来校验用户数据区之前的(包含数据区)传输数据段。

· ACK - 2位,包含应答位和应答界定符。

发送节点的报文帧中,ACK两位是隐性位,当接收器正确地接收到有效的报文,接收器会在应答位期间向发送节点发送一个显性位,表示应答。

如果接收器发现这帧数据有错误,则不向发送节点发送ACK应答,发送节点会稍后重传这帧数据。

· EOF – 7位帧结束标志位,全部为隐性位。

如果这7位出现显性位,则会引起填充错误。

· IFS – 7位帧间隔标志位,CAN控制器将接收到的帧正确的放入消息缓冲区是需要一定时间的,帧间隔可以提供这个时间。

扩展CAN

扩展CAN具有29位标识符,每帧数据长度为71+(064)=(71135)位。

注:不计位填充。

扩展CAN消息相对于标准CAN消息增加的内容如下:

· SRR – 代替远程请求位,为隐性。所以当标准帧与扩展帧发送相互冲突并且扩展帧的基本标识符与标准帧的标识符相同时,标准帧优先级高于扩展帧。

· IDE – 为隐性位表示标志位扩展帧,18位扩展标识符紧跟着IDE位。

· r1 – 保留

CAN总线协议:标准CAN和扩展CAN相关推荐

  1. 详解CAN总线:标准数据帧和扩展数据帧

    目录 1.标准数据帧 2.扩展数据帧 3.标准数据帧和扩展数据帧的特性 CAN协议可以接收和发送11位标准数据帧和29位扩展数据帧,CAN标准数据帧和扩展数据帧只是帧ID长度不同,以便可以扩展更多CA ...

  2. CAN标准帧与扩展帧两种格式长度的解析

    关于CAN标准帧与扩展帧两种格式长度的解析 ■CAN总线的标准帧和扩展帧主要决定帧ID的长度 ■标准帧的帧ID长度是11位,也就是帧ID的范围是000-7FF ■扩展帧的帧ID长度是29位,也就是帧I ...

  3. CAN总线数据帧/标准帧/扩展帧/远程帧/错误帧的组成格式对比

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

  4. AXI4总线协议的发展历史

    随着集成电路芯片的规模越来越大,IC的设计开始越来越复杂.基于IP核复用的设计方法因为能有效的降低复杂度,提高设计成功率,目前已成为主流的IC设计方法.而如何解决一个芯片内不同IP核间的通信问题是总体 ...

  5. Network 之一 国际标准组织介绍、互联网/因特网、以太网概念区分、协议标准

      在学习计算机网络时,互联网.以太网.因特网.万维网.局域网.城域网.广域网等这些概念常常对理解计算机网络造成很大的困扰.并且在很多文章中,这些概念经常被混为一谈.但是当我们深入了解计算机网络时就会 ...

  6. SPI、I2C、UART三种串行总线协议的区别和SPI接口介绍(转)

    SPI.I2C.UART三种串行总线协议的区别 第一个区别当然是名字: SPI(Serial Peripheral Interface:串行外设接口); I2C(INTER IC BUS) UART( ...

  7. 单片机软件模拟SPI接口—加深理解SPI总线协议

    单片机软件模拟SPI接口-加深理解SPI总线协议   SPI(Serial Peripheral Interfacer 串行外设接口)是摩托罗拉公司推出的一种同步串行通讯接口,用于微处理器臌控制器和外 ...

  8. 片上总线协议学习(1)——SiFive的TileLink与ARM系列总线的概述与对比

    link 片上总线协议学习(1)--SiFive的TileLink与ARM系列总线的概述与对比 finally 27 人赞同了该文章 一.背景介绍 随着超大规模集成电路的迅速发展,半导体工业进入深亚微 ...

  9. 一文搞懂CAN FD总线协议帧格式

    目录 1.为什么会出现CAN FD? 2.什么是CAN FD? 3.CAN FD和CAN总线协议帧异同 4.解析CAN FD帧结构 4.1.帧起始 4.2.仲裁段 4.3.控制段 4.4.数据段 4. ...

最新文章

  1. qt 5.9 mysql 5.7_Qt 5.9.1 连 MYSQL 5.7数据库
  2. 梯度下降的线性回归用python_运用TensorFlow进行简单实现线性回归、梯度下降示例...
  3. 精美日历EXCLE格式
  4. 在UE4中创建受《羞辱》启发的环境
  5. map/multimap用法详解
  6. mysql索引结构原理、性能分析与优化
  7. python列表字符串转数字_python 将列表中的字符串转为数字
  8. 数字能查出笔迹吗_大家都知道文字可以做笔迹鉴定,我想问一下专家阿拉伯数字是否也可以做笔迹鉴定正确率高吗?...
  9. mysql中的内置函数
  10. IOS程序中打开自己的程序,测试机器中是否装了自己的程序(openURL:,canOpenURL:)
  11. YouSwap将于5月10日15:00新增CATE流动性挖矿
  12. 基于sklearn进行文本向量化
  13. docker php kafka,docker安装kafka
  14. openstack windows下远程debug调试(komodo)
  15. CSS3混合模式mix-blend-mode/background-blend-mode简介 ,PS中叠加效果
  16. 360优化开机速度后慢了_提高电脑开机速度的优化技巧
  17. 技术人应该如何提升影响力
  18. 苹果手机为什么Apple ID会被停用
  19. 30岁张一鸣创业成功秘密武器,OKR“失控”管理法
  20. 什么邮箱最好用?主流邮箱品牌如何选择

热门文章

  1. 智能制造 | 机器视觉系统,直击纺织行业人工质检痛点难点,提升缺陷检出精准度至99.9%
  2. MotionEvent 初探
  3. ANSYS中的轴承载荷(BearingLoad)_51CAE_新浪博客
  4. DB、DBS和DBMS关系
  5. Some Enforcer rules have failed. Look above for specific messages explaining why the rule failed.
  6. linux内核代码研读与实战,Linux内核源码研读与实战演练
  7. 坚信人类记忆是以大分子物质存储的朋友们请看过来
  8. Java和C、C++比较
  9. java jsf 入门_JSF入门实战
  10. 低功耗蓝牙BLE之广播