没有合适的资源?快使用搜索试试~ 我知道了~
CAN总线学习笔记(比较全)
4星 · 超过85%的资源 需积分: 11 26 下载量 144 浏览量
2010-12-20
18:53:02
上传
评论
收藏 109KB DOC 举报
温馨提示
试读
18页
一:基本概念 二:CAN自收发程序解读 三:验收滤波 四:CAN总线通信
资源推荐
资源详情
资源评论
CAN 总线学习笔记一:基本概念
http://group.ednchina.com/684/11215.aspx
题记:
在这信息爆炸的年代,学习一样新的知识,尤其是 IT 技术的学习,网络是
必不可少的。一阵狂搜过后,发现基于 CAN 总线的介绍确实不少,但是大多好
像都雷同了,也许是不断转贴的结果吧。而且这些知识点也都太零散了,让人
看了,尤其是初学者有点找不着北的感觉。所以,本着谦虚好学脚踏实地的菜
鸟精神,决定把网上搜的,书上看的,再添油加醋的做一番比较系统的整理。
算是为学习 CAN 总线理清思路,快速上手打基础吧。
一、什么是 CAN 总线?
CAN,全称为“Controller Area Network”,即控制器局域网,是国际上
应用最广泛的现场总线之一。最初,CAN 被设计作为汽车环境中的微控制器通
讯,在车载各电子控制装置 ECU 之间交换信息,形成汽车电子控制网络。比如:
发动机管理系统、变速箱控制器、仪表装备、电子主干系统中,均嵌入 CAN 控
制装置。
一个由 CAN 总线构成的单一网络中,理论上可以挂接无数个节点。实际应
用中,节点数目受网络硬件的电气特性所限制。例如,当使用 Philips
P82C250 作为 CAN 收发器时,同一网络中允许挂接 110 个节点。CAN 可提
供高达 1Mbit/s 的数据传输速率,这使实时控制变得非常容易。另外,硬件的
错误检定特性也增强了 CAN 的抗电磁干扰能力。
二、CAN 总线是如何发展的?
CAN 最初出现在 80 年代末的汽车工业中,由德国 Bosch 公司最先提出。
当时,由于消费者对于汽车功能的要求越来越多,而这些功能的实现大多是基
于电子操作的,这就使得电子装置之间的通讯越来越复杂,同时意味着需要更
多的连接信号线。提出 CAN 总线的最初动机就是为了解决现代汽车中庞大的电
子控制装置之间的通讯,减少不断增加的信号线。于是,他们设计了一个单一
的网络总线,所有的外围器件可以被挂接在该总线上。1993 年,CAN 已成为
国际标准 ISO11898(高速应用)和 ISO11519(低速应用)。
CAN 是一种多主方式的串行通讯总线,基本设计规范要求有高的位速率,
高抗电磁干扰性,而且能够检测出产生的任何错误。当信号传输距离达到
10Km 时,CAN 仍可提供高达 50Kbit/s 的数据传输速率。
由于 CAN 总线具有很高的实时性能,因此,CAN 已经在汽车工业、航空
工业、工业控制、安全防护等领域中得到了广泛应用。
三、CAN 总线是如何工作的?
CAN 通讯协议主要描述设备之间的信息传递方式。CAN 层的定义与开放
系统互连模型(OSI)一致。每一层与另一设备上相同的那一层通讯。实际的
通讯发生在每一设备上相邻的两层,而设备只通过模型物理层的物理介质互连。
CAN 的规范定义了模型的最下面两层:数据链路层和物理层。下表中展示了
OSI 开放式互连模型的各层。应用层协议可以由 CAN 用户定义成适合特别工业
领域的任何方案。已在工业控制和制造业领域得到广泛应用的标准是
DeviceNet,这是为 PLC 和智能传感器设计的。在汽车工业,许多制造商都应
用他们自己的标准。
7
应用层 最高层。用户、软件、网络终端等之间用来进行信息交
换。如:DeviceNet
6
表示层 将两个应用不同数据格式的系统信息转化为能共同理解
的格式
5
会话层 依靠低层的通信功能来进行数据的有效传递。
4
传输层 两通讯节点之间数据传输控制。操作如:数据重发,数
据错误修复
3
网络层 规定了网络连接的建立、维持和拆除的协议。如:路由
和寻址
2
数据链路层 规定了在介质上传输的数据位的排列和组织。如:数据
校验和帧结构
1
物理层 规定通讯介质的物理特性。如:电气特性和信号交换的
解释
表 1 OSI 开放系统互连模型
CAN 能够使用多种物理介质,例如双绞线、光纤等。最常用的就是双绞线。
信号使用差分电压传送,两条信号线被称为“CAN_H”和“CAN_L”,静态时均是
2.5V 左右,此时状态表示为逻辑“1”,也可以叫做“隐性”。用 CAN_H 比
CAN_L 高表示逻辑“0”,称为“显形”,此时,通常电压值为:CAN_H = 3.5V
和 CAN_L = 1.5V。
四、CAN 有哪些特性?
CAN 具有十分优越的特点,使人们乐于选择。这些特性包括:
1、低成本;
2、极高的总线利用率;
3、很远的数据传输距离(长达 10Km);
4、高速的数据传输速率(高达 1Mbit/s);
5、可根据报文的 ID 决定接收或屏蔽该报文;
6、可靠的错误处理和检错机制;
7、发送的信息遭到破坏后,可自动重发;
8、节点在错误严重的情况下具有自动退出总线的功能;
9、报文不包含源地址或目标地址,仅用标志符来指示功能信息、优先级
信息。
五、Philips 制造的 CAN 芯片有哪些?
类别 型号 备注
CAN 微控制器
P87C591
替代 P87C592
CAN 独立控制器
SJA1000
替代 82C200
CAN 收发器
PCA82C250
高速 CAN 收发器
PCA82C251
高速 CAN 收发器
PCA82C252
容错 CAN 收发器
TJA1040
高速 CAN 收发器
TJA1041
高速 CAN 收发器
TJA1050
高速 CAN 收发器
TJA1053
容错 CAN 收发器
TJA1054
容错 CAN 收发器
LIN 收发器
TJA1020
LIN 收发器
表 2 CAN 芯片一览表
六、CAN 总线如何进行位仲裁?
CSMA/CD 是“载波侦听多路访问/冲突检测”(Carrier Sense Multiple
Access with Collision Detect)的缩写。
利用 CSMA 访问总线,可对总线上信号进行检测,只有当总线处于空闲状
态时,才允许发送。利用这种方法,可以允许多个节点挂接到同一网络上。当
检测到一个冲突位时,所有节点重新回到‘监听’总线状态,直到该冲突时间过后,
才开始发送。在总线超载的情况下,这种技术可能会造成发送信号经过许多延
迟。为了避免发送时延,可利用 CSMA/CD 方式访问总线。当总线上有两个节
点同时进行发送时,必须通过“无损的逐位仲裁”方法来使有最高优先权的的报
文优先发送。在 CAN 总线上发送的每一条报文都具有唯一的一个 11 位或 29
位数字的 ID。CAN 总线状态取决于二进制数‘0’而不是‘1’,所以 ID 号越小,则
该报文拥有越高的优先权。因此一个为全‘0’标志符的报文具有总线上的最高级
优先权。可用另外的方法来解释:在消息冲突的位置,第一个节点发送 0 而另
外的节点发送 1,那么发送 0 的节点将取得总线的控制权,并且能够成功的发
送出它的信息。
七、CAN 的高层协议
CAN 的高层协议(也可理解为应用层协议)是一种在现有的底层协议(物
理层和数据链路层)之上实现的协议。高层协议是在 CAN 规范的基础上发展起
剩余17页未读,继续阅读
资源评论
- jm001a2013-08-02写的比较详细
yangweiqiang
- 粉丝: 5
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功