全面了解CAN总线协议

  提及总线,总是让人联想到那些交错在一起的计算机电线。那么这些电线如何发挥功效呢?这还得配合总线协议的管理来使用。那么今天我们介绍的就是CAN总线协议。看看这个协议的含义和应用吧。

  1,CAN总线协议基本概念:

  (1),报文:总线上的信息以不同格式的报文发送,但长度有限。当总线开放时,任何连接的单元均可开始发送一个新报文。

  (2),信息路由:在CAN系统中,一个CAN节点不使用有关系统结构的任何信息,这里包含一些重要的概念:系统灵活性——节点可以在不要求所有节点及其应用层改变任何软件或硬件的情况下,被接于CAN网络。报文通信——一个报文的内容由其标示符ID命名,ID并不指出报文的目的,但描述数据的含义,以便网络中的所有节点有可能借助报文滤波决定该数据是否使它们激活。成组——由于采用了报文滤波,所有节点均可接受报文,并同时被相同的报文激活。数据相容性——在CAN网络中,可以确保报文同时被所有的节点或者没有节点接受,因此,系统的数据相容性是借助于成组和出错处理达到的。

  (3),位速率:CAN的数据传输率在不同的系统中是不同的,而在一个系统中是固定的速率。

  (4),优先权:在总线访问期间,标示符定义了一个报文静态的优先权。

  (5),远程数据请求:通过发送一个远程帧,需要数据的节点可以请求另一个节点发送相应的数据帧,该数据帧与对应的远程帧以相同的标示符ID命名。

  (6),多主站:当总线开放时,任何单元均可以开始发送报文,发送具有最高优先权报文的单元会赢得总线的访问权。

  (7),仲裁:当总线开放时,任何单元均可以开始发送报文,若同时有两个或者更多的单元开始发送,总线访问冲突运用逐位仲裁规则,借助标示符ID解决,这种仲裁规则可以使信息和时间均无损失,若具有相同标示符的一个数据帧和一个远程帧同时发送,数据帧优先于远程帧,仲裁期间,每个发送器都对发送位电平与总线上检测到的电平进行比较,若相同则该单元可以继续发送,当发送一个隐性电平,而在总线上检测为显性电平时,该单元退出仲裁,并不再传送后继位了。

  (8),安全性:CAN总线协议为了获得尽可能高的数据传输安全性,在每个CAN节点中均设有错误检测,标定和自检的强有力措施。检测措施包括:发送自检,循环冗余校验,位填充,和报文格式检查。

  (9),出错标注和恢复时间:已损坏的报文由检验出错的节点进行标注。这样的报文将失效,并自动进行重发送。如果不存在新的错误,从检出错误到下一个报文开始发送的恢复实践最多为29个位时间。

  (10),故障界定:CAN节点又能力识别永久性的故障和暂时扰动,可自动关闭故障节点。

  (11),连接:CAN串行通信链路是一条众多单元均可被连接的总线,理论上单元数目是无限的,实际上,单元总数受限于延迟时间和总线的电器负载。

  (12),应答:所有接收器均对接收报文的相容性进行检查,回答一个相容的报文,并标注一个不相容的报文。

  2,CAN的特点:属于串行通信网络

  (1),通信方式灵活。多主从方式工作,网络上任何节点均可以在任何时刻主动的向其他节点发送信息,不分主从。无需站地址等节点信息。可以构成多机备份系统。

  (2),CAN网络上的节点信息分成不同的优先级,可以满足不同的实时要求。

  (3),CAN采取非破坏性的总线仲裁技术,多个节点同时发送信息时,优先级低的节点会主动退出发送。

  (4),CAN只需通过报文滤波就可以实现点对点,1点对多点及全局广播等几种方式传送接收,无需调度。

  (5),CAN的直接通信距离最远可达10KM(5Kb/s),通信速率最高可达1Mb/s(40M)。

  (6),CAN上的节点数目前可达110个;报文标示符可达2032种(CAN2.0A ),而CAN2.0B报文标示符几乎不受限制。

  (7),CAN通信采用短帧格式,传输时间短,抗干扰强,极好的验错效果,每帧最多8B足以满足控制要求,不会占用过长总线时间,实时性强。

  (8),CAN每帧都有CRC校验及其他验错措施。

  (9),接口中集成了CAN总线协议的物理层和数据链路层。

  (10),CAN的通信介质可为双绞线或同轴电缆,光纤。

  (11),CAN节点在错误严重情况下具有自动关闭输出功能。

  3,CAN总线协议基本规则:

  (1),总线访问:采用载波监听多路访问,CAN控制器之恩能够在总线空闲时,就是节点侦听到网络上至少存在3个空闲位(隐性位)时开始发送,采用硬同步,所有的控制器同步都为与帧的起始的前沿。过了一定时间,并在一定条件后,重同步。

  (2),仲裁:各节点向总线发电平时,也对总线上电平进行读取,并于自身发送的电平进行比较,相同则发下一位,直至全部发完。不同则说明网络上有更高优先级的信息帧正在发送,即停止发送,退出竞争。

  (3),编码/解码:帧起始域,仲裁域,控制域,数据域和CRC序列均使用位填充技术进行编码,就是5个连续的同状态电平插入一位与它相补的电平,还原时每5个同状态的电平后的相补电平被删除。

  (4),出错标注:当检测到位错误,填充错误,形式错误或应答错误时,检测出错条件的CAN控制器将发送一个出错标志。

  (5),超载标注,一些控制器会发送一个或多个超载帧以延迟下一个数据帧或远程帧的发送。

原网站:http://mp.weixin.qq.com/s/CKENYVjLoPkxSR4j9-X0bQ

全面了解CAN总线协议相关推荐

  1. i2c hid 触摸板不能用_I2C 总线协议初探 - STM32 I2C 接口外设学习笔记

    I2C(Inter-Integrated Circuit)总线是由 PHILIPS(飞利浦) 公司开发的两线式串行总线,用于连接微控制器及其外围设备.是微电子通信控制领域广泛采用的一种总线标准.它是同 ...

  2. [I2C]I2C总线协议图解

    转自:http://blog.csdn.net/w89436838/article/details/38660631 1  I2C总线物理拓扑结构       I2C 总线在物理连接上非常简单,分别由 ...

  3. linux 外部协议请求,ARM架构和总线协议如何支持Linux原子操作?

    这篇文章探讨ARM架构和总线协议如何来支持的.对于某款ARM处理器和总线CCI,CCN和CMN产品的具体实现,属于实现层面的微架构,一般需要NDA,这里不予讨论. 顺便提一下,在ARMv8 架构下对应 ...

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

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

  5. spi四种工作模式时序图_SPI总线协议及SPI时序图详解

    嵌入式linux QQ交流群:175159209,欢迎爱好者加入交流技术问题! SPI,是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接口.SPI,是一种 ...

  6. 关于I2C和SPI总线协议

    IICvs SPI 现今,在低端数字通信应用领域,我们随处可见IIC (Inter-Integrated Circuit) 和 SPI (Serial Peripheral Interface)的身影 ...

  7. spi四种工作模式时序图_还没学会SPI总线协议?干货都在这里

    SPI总线基本概念 SPI是一种高速.全双工.同步的串行通信总线,全称是Serial Peripheral Interface,使用时在芯片的管脚上只占用三根或者四根线(如果单向传输的话只需三根线就可 ...

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

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

  9. (4)ZYNQ AXI4总线协议介绍

    1.1 ZYNQ AXI4总线协议介绍 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)ZYNQ AXI4总线协议介绍: 5)结束语. 1.1.2 本节引言 " ...

  10. FPGA IIC总线协议简介

    1.1 FPGA IIC总线协议简介 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA IIC总线协议简介: 5)结束语. 1.1.2 本节引言 "不积 ...

最新文章

  1. php自动计算增长率,如何写sql计算增长率?
  2. 如何只使用预训练模型的卷积层
  3. c++用一级运算比较大小_阿里百度腾讯 C/C++ 面试题总结,我全都告诉你!
  4. 037_Unicode对照表三
  5. [YTU]_2617( B C++时间类的运算符重载)
  6. latex在algorithm环境或表格中插入圆圈脚注
  7. 马斯克直聘AI人才:高中毕没毕业无所谓,但是编程能力得过
  8. 华为确认与三家EDA公司停止合作;开源安卓恶意软件窃取用户隐私信息;三星高通回应7纳米EUV工艺问题……...
  9. 安卓案例:View动画 - 弹球碰壁
  10. 软件关闭excel但是进程中还存在原因_从软件视角看波音737事故系列述评之一:软件普适化下的能力建设...
  11. PAT 乙级 1009. 说反话 (20) Java版
  12. 惠普收购Palm意在遏制同系竞争
  13. 方差(Variance)和标准差(Standard Deviation)
  14. Spring boot with Hive
  15. 北京地铁5号线地图(线路图、站名、实拍pp)
  16. 0基础学java可行吗_上海0基础学JAVA可行吗?
  17. 有关存储器容量的计算
  18. 微信网页授权本地调试
  19. 开源网站的漏洞复现(appcms、wordpress)
  20. 阿里张建锋:互联网主要解决三大问题

热门文章

  1. 【CV】MobileNetV2:具有倒置残差和线性瓶颈的 CNN 骨干网络
  2. android nef转jpg格式文件,nef格式转换成jpg
  3. 微软drive服务器,OneDrive:微软云存储服务
  4. 数据不落地、移动新应用、安全更可靠
  5. reviewboard mysql_reviewboard安装实战
  6. win2008使用windows loader激活提示Unsupported partition table
  7. 2018人工智能发展盘点:国内各行业拥抱AI,总体呈现八大特点
  8. Windows操作系统安装、备份与还原的所有方法
  9. css3学习手册思维导图
  10. 程序员面试需要出示身份证和毕业证原件吗