CAN总线的学习
CAN(controller Area Network )总线的学习
1986 年德国电气商博世公司开发出面向汽车的CAN 通信协议(数据之间的交互),其目的是为适应“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”的需要
CAN总线 | RS-485 | |
相比之下优点 |
1 网络各节点之间的数据通信实时性强 2开发周期短 3已形成国际标准的现场总线 4最有前途的现场总线之一 |
特性 |
RS-485 |
CAN-bus |
单点成本 |
低廉 |
稍高 |
系统成本 |
高 |
较低 |
总线利用率 |
低 |
高 |
网络特性 |
单主网络 |
多主网络 |
数据传输率 |
低 |
高 |
容错机制 |
无 |
可靠的错误处理和检错机制 |
通讯失败率 |
高 |
极低 |
节点错误的影响 |
导致整个网络的瘫痪 |
无任何影响 |
通讯距离 |
<1.5km |
可达10km(5kbps) |
网络调试 |
困难 |
非常容易 |
开发难度 |
标准Modbus协议 |
标准CAN-bus协议 |
后期维护成本 |
高 |
低 |
CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码。采用这种方法的优点可使网络内的节点个数在理论上不受限制,数据块的标识符可由11位或29位二进制数组成,因此可以定义2或2个以上不同的数据块。结构简单。只有2根线与外部相连,并且内部集成了错误探测和管理模块。
CAN总线特点:(1) 数据通信没有主从之分,任意一个节点可以向任何其他(一个或多个)节点发起数据通信,靠各个节点信息优先级先后顺序来决定通信次序,采用非破坏性仲裁技术,当两个节点同时向网络上传送数据时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响继续传输数据,有效避免了总线冲突;高优先级节点信息在134μs通信; (2) 多个节点同时发起通信时,优先级低的避让优先级高的,不会对通信线路造成拥塞; (3) 通信距离最远可达10KM(速率低于5Kbps)速率可达到1Mbps(通信距离小于40M);(4) CAN总线传输介质可以是双绞线,同轴电缆。CAN总线适用于大数据量短距离通信或者长距离小数据量,实时性要求比较高,多主多从或者各个节点平等的现场中使用。
应用举例
CAN总线在工控领域主要使用低速-容错CAN即ISO11898-3标准,在汽车领域常使用500Kbps的高速CAN。CAN系统又分为高速和低速,高速CAN系统采用硬线是动力型,速度:500kbps,控制ECU(电子控制单元,行车电脑,车载电脑)、ABS(防抱死制动系统)等;低速CAN是舒适型,速度:125Kbps,主要控制仪表、防盗等
CAN总线中存在5种错误类型
位错误:向总线送出一位的某个节点同时也在监视总线,当监视到总线位的电平和送出的电平不同时,则在该位时刻检测到一个位错误。但是在仲裁区的填充位流期间或应答间隙送出隐性位而检测到显性位时,不认为是错误位。送出认可错误标注的发送器,在检测到显性位时也不认为是错误位。
填充错误:在使用位填充方法进行编码的报文中,出现了第6个连续相同的位电平时,将检 测出一个填充错误。
CRC(循环冗余校验码)错误:CRC序列是由发送器CRC计算的结果组成的。接收器以和发送器相同的方法计算CRC。如果计算的结果和接收到的CRC序列不同,则检测出一个CRC错误。
形式错误: 当固定形式的位区中出现一个或多个非法位时,则检测到一个形式错误。
应答错误:在应答间隙,发送器未检测到显性位时,则由它检测出一个应答错误。

重中之重
can总线在AD中的封装可利用向导TO-来进行绘制
CAN总线的学习的更多相关文章
- SPI通信协议(SPI总线)学习
1.什么是SPI? SPI是串行外设接口(Serial Peripheral Interface)的缩写.是 Motorola 公司推出的一 种同步串行接口技术,是一种高速的,全双工,同步的通信总线. ...
- CAN总线协议 学习笔记
1.CAN总线网络 CAN总线网络主要挂在CAN_H和CAN_L,各个节点通过这两条线实现信号的串行差分传输,为了避免信号的反射和干扰,还需要在CAN_H和CAN_L之间接上120欧姆的终端电阻,但是 ...
- USB驱动程序之USB总线驱动程序学习笔记
USB总线驱动程序的作用 1. 识别USB设备 1.1 分配地址 1.2 并告诉USB设备(set address) 1.3 发出命令获取描述符 描述符的信息可以在include\linux\usb\ ...
- I2C总线协议学习笔记 (转载)
1.I2C协议 2条双向串行线,一条数据线SDA,一条时钟线SCL. SDA传输数据是大端传输,每次传输8bit,即一字节. 支持多主控(multimastering),任何时间点只能有一 ...
- 异步消息总线hornetq学习-03客户端连接hornet进行jms消息的收发-非jndi方式连接
在上节中介绍了通过jndi方式连接到hornetq服务器上,有时候由于某些原因,我们不希望通过jndi方式连接,hornetq也支持这种方式进行 以第2章节的例子为模板,我们编写了另一个获取Conne ...
- v3学院带你学习EEPROM读写实验
一.实验背景在消费者电子电讯和工业电子中看上去不相关的设计里经常有很多相似的地方例如几乎每个系统都包括一些智能控制通常是一个单片的微控制器,通用电路例如LCD驱动器远程I/O,RAM,EEPROM或数 ...
- ABP之事件总线(5)
前面已经对Castle Windsor的基本使用进行了学习,有了这个基础,接下来我们将把我们的事件总线再次向ABP中定义的事件总线靠近.从源码中可以知道在ABP中定义了Dictionary,存放三种类 ...
- ABP之事件总线(3)
承接上一篇时间总线的学习,在上一篇中我们实现了取消显式注册事件的方式,采用使用反射的方式.这样的好处可以解除Publisher和Scriber的显式依赖,但是问题又来了,因为我们只有Publisher ...
- i2c总线驱动,总线设备(适配器),从设备,从设备驱动的注册以及匹配
常用链接 我的随笔 我的评论 我的参与 最新评论 我的标签 随笔分类 ARM裸机(13) C(8) C++(8) GNU-ARM汇编 Linux驱动(24) Linux应用编程(5) Makefile ...
随机推荐
- 计算Pan手势到指定点的角度
计算Pan手势到指定点的角度 效果图: 源码: // // RootViewController.m // Circle // // Copyright (c) 2014年 Y.X. All righ ...
- 快速设置UITableView不同section对应于不同种类的cell
快速设置UITableView不同section对应于不同种类的cell 本文主要是为了写明如何在UITableView中,一个section对应于一种类型的cell,写起来不凌乱. 在不封装任何类的 ...
- 计算机用CMD命令关机建立文件夹 梁华杰
1:进入CMD BJ 2:关机并取消 3:进入D盘 文件管理 创件文件并删除
- 激活老电脑的第二春:内存盘为Chrome浏览器做缓存
AMD Radeon RAMDisk 4.2.1 正式版 下载地址:http://dl.pconline.com.cn/html_2/1/73/id=7204&pn=0.html 适用于:wi ...
- [转] linux下 /etc/profile、~/.bash_profile ~/.profile的执行过程
分类: linux 2015-03-13 16:24 1572人阅读 评论(0) 收藏 举报linuxprofile关于登录linux时,/etc/profile.~/.bash_profile等几个 ...
- jQueryeasyUI+Hibernate+struts2实现商城后台管理之复合类别
一.在Category.java中添加父类别和子类别两个变量,并生成get/set方法
- PhoneGap模仿微信摇一摇功能
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- POJ 2407 Relatives 欧拉函数题解
版权声明:本文作者靖心,靖空间地址:http://blog.csdn.net/kenden23/,未经本作者同意不得转载. https://blog.csdn.net/kenden23/article ...
- [转]SQL Server 数据库中的 MD5 和 SHA1
MD5 和 SHA1 是一种单向加密算法,常用于密码的验证等需要加密操作的场合,在一般情况下,开发人员可以通过 Delphi 或 PHP 这类语言自己编写相关函数或者使用自带的函数,然后将加密过的结果 ...
- MongoDB简易
一 安装 1.下载 $ brew install mongodb 2.启动 $ mongod --config /usr/local/etc/mongod.conf 3.连接 $ mongo 二 ...