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-来进行绘制