CAN总线技术1--协议摘要

原创 2012年03月23日 22:16:12

CAN总线技术1--协议摘要

 

去年开始参加一个项目,由于涉及的内容比较多,且参与的人比较少,所以一直到现在,项目仍在进行中。最近这阶段,完成CAN总线设备在Rtems下的驱动。所以这里就写篇关于CAN总线设备的学习笔记。水平有限,错误在所难免,请各位大牛指正,欢迎各位看官拍砖。

 

这篇文章准备写如下几个方面的内容:

CAN总线协议重要内容摘要

CAN总线相关芯片

*网络控制控芯片SJA1000

*CAN总线收发器

CAN总线模块的硬件、软件设计

 

1.CAN总线协议重要内容摘要

(1)CAN分为数据链路层和物理层

逻辑链路子层包括:接收滤波、超载通知、恢复管理

媒体访问控制子层包括:数据封装/拆装、帧编码(填充/解除)、媒体访问管理、错误监测、出错标定、应答、串行化/解除串行化

图1

(2)CAN报文的帧类型

CAN2.0A中规定了4种帧格式:数据帧、远程帧、错误帧、超载帧。

数据帧:由7个不同的、场位组成,即起始位、仲裁场、控制场、数据场、CRC场、ACK场、帧结束。

图2

CAN报文的帧格式:以CAN2.0B扩展帧为例,每帧13B,包括两个部分:信息和数据两部分。前5个字节为信息部分,后8个字节为数据部分。

图3

(3)CAN总线的仲裁原理CAN总线使用的是一种叫做“载波监测,多主掌握/冲突避免”的通信模式。当总线空闲时呈现隐电平,此时任何一个节点都可以向总线发送一个显性电平作为一个帧的开始。当发生冲突,CAN总线的解决总线竞争的方法是,按位对标识符进行仲裁。

按位对标识符进行仲裁:...

图4

(4)报文滤波原理

CAN总线中,存在多种传送和接收数据的方式,比如点对点、一点对多点、全局广播等几种方式。这几种方式的选择和转换就是通过CAN总线中的报文滤波技术实现的。

在SJA1000中,无论何种模式,CAN的某一地址存在于验收滤波器中。CAN控制器能够允许RXFIFO只接收同识别码和验收滤波器中预设值相一致的信息。只有当接收信息中的识别为和验收滤波器预定义的值相等时,CAN控制器才允许将已接收信息存入RXFIFO。

图5

(5)CAN总线的通信错误及其处理

在CAN总线中存在5种错误类型:

位错误:某个节点向总线发一位的同时也在读取总线数值是否和发出的该位相等,不同则视为检测到一个位错误。例外情况,在仲裁场的填充位流期间或应答间隙送出隐位而检测到显位时,不视为位错误。

填充错误:

CRC错误:

形式错误:

应答错误:

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

CAN总线基础知识(二)

1 由ISO标准化的CAN协议     CAN协议已经由ISO标准化,有2个版本,如ISO11898和ISO11519-2,它们之间在数据链路层没什么不同,但是在物理层有些区别。     (1)   ...
  • shanghaiqianlun
  • shanghaiqianlun
  • 2014年01月03日 17:49
  • 26817

几种CAN应用层协议介绍

一、CanOpen n    CAL提供了所有的网络管理服务和报文传送协议,但并没有定义CMS对象的内容或者正在通讯的对象的类型。而这正是CANopen切入点。 n    CANope...
  • cenzmin
  • cenzmin
  • 2015年03月16日 23:21
  • 3200

CAN总线基础知识(一)

1.CAN总线是什么?     CAN(Controller Area Network)是ISO国际标准化的串行通信协议。广泛应用于汽车、船舶等。具有已经被大家认可的高性能和可靠性。     CAN控...
  • shanghaiqianlun
  • shanghaiqianlun
  • 2014年01月03日 17:32
  • 116656

基于CAN总线智能建筑监控系统的通信协议设计(一)

摘要:从研究CAN2.OB总线规范入手,介绍了CAN总线规范的硬件基础,分析了CAN总线报文格式,通过对报文标识符的分配,设计了应用于该系统的通信协议,并给出了软件设计流程,较好地解决了智能建筑监控系...
  • woneedjob
  • woneedjob
  • 2011年05月17日 23:54
  • 2141

can总线通讯协议

随着集成电路和嵌入式电脑在汽车上的广泛应用,现代汽车上的电子控制器的数量越来越多,常见的有发动机的电子燃油喷射装置、防抱死制动装置(ABS)、安全气囊装置、电动门窗装置、主动悬架等。电控系统的增加虽然...
  • woneedjob
  • woneedjob
  • 2011年05月18日 00:15
  • 4220

基于CAN总线智能建筑监控系统的通信协议设计

摘要:从研究CAN2.OB总线规范入手,介绍了CAN总线规范的硬件基础,分析了CAN总线报文格式,通过对报文标识符的分配,设计了应用于该系统的通信协议,并给出了软件设计流程,较好地解决了智能建筑监控系...
  • woneedjob
  • woneedjob
  • 2011年05月18日 00:09
  • 1325

R5 STM32 CAN总线协议-1物理层协议层

STM32 CAN总线-1 CAN是控制器局域网络(Controller Area Network)的简称。 具有的高可靠性和良好的错误检测能力。为半双工。 目录 STM32 CAN总...
  • qq_33056691
  • qq_33056691
  • 2017年06月22日 19:35
  • 425

基于CCP协议的CAN总线

作者:owen_09 转自:http://blog.csdn.net/owen_09/article/details/38336271
  • whw8007
  • whw8007
  • 2014年08月02日 21:35
  • 728

arduino can总线实验,开源调试软件的串口数据包协议。

看了 分享一个自己写的串口数据分析、图形显示软件 can debugger 串口调试助手 免费,功能强大! http://blog.csdn.net/lanmanck/article/detail...
  • qq_38288618
  • qq_38288618
  • 2017年08月08日 12:55
  • 206

基于CCP协议的CAN总线

CCP协议的理论描述:
  • owen_09
  • owen_09
  • 2014年08月01日 16:25
  • 3216
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CAN总线技术1--协议摘要
举报原因:
原因补充:

(最多只允许输入30个字)