本帖最后由 xsfh365 于 2014-11-1 21:28 编辑
一 官方简介如下:
控制器局域网CAN(Controller Area Network),是由德国Bosch公司为汽车应用而开发的多主机局部网络,应用于汽车的监测和控制。德国Bosch公司开发CAN总线的最初目的是为了解决汽车上数量众多的电子设备之间的通讯问题,减少电子设备之间繁多的信号线。于是设计了一个单一的网络总线,所有的外围器件可以被挂接在该总线上。
帮助您理解的CAN总线定义:
CAN总线就像您日常接触的电脑网线一样,是用来传输数据的”线”。只不过其构造简单,只有两根线:CAN_H、CAN_L。
既然是通信用的网络,那么CAN总线上就可以接不通的设备,每一个设备都有自己的地址——这和您的连接互联网的计算机一样,您的计算机有自己的IP地址。
构建CAN总线的目的是实现总线上的数据通讯,和您利用计算机上网一样,其就是利用互联网传输数据信息。其便利性不言而喻,不再赘述。
CAN-bus具有以下主要特性:
成本低廉
数据传输距离远(最远长达10Km)
数据传输速率高(最高达1Mbps)
无破坏性的基于优先权的逐位仲裁
借助验收滤波器的多地址帧传递
远程数据请求
可靠的错误检测和出错处理功能
发送的信息遭到破坏后,可自动重发
暂时错误和永久性故障节点的判别以及故障节点的自动脱离
脱离总线的节点不影响总线的正常工作
基于CAN总线的优越特性,许多著名的芯片生产商,诸如Intel、Philips、Siemens、Motorola都推出了独立的CAN控制器芯片,或者带有CAN控制器的MCU芯片。
以上特性决定了其应用范围:低成本、数据量不太大的工业互联网领域。
二 CAN总线通讯过程
图1-1 CAN总线节点传输过程示意图
CAN总线数据的发送过程可以用信件邮递来做一个比喻,对于CAN总线上的发送节点可以比喻为邮寄一封信件:
邮寄:北京市海淀区XX街道XX号(目的CAN节点地址)。
(信中内容为具体的数据信息)
自:无(相当于匿名信件)。
对于CAN总线上的接收节点可以比喻为家门口的收件邮箱:
这是“北京市海淀区XX街道XX号”邮箱(自己的CAN节点地址),其他非邮寄到此信箱的信件,一概不接收(CAN地址设置屏蔽掉其他地址)。
如果是邮寄到此信箱的信件,则接收信件。
(信中内容为具体的数据信息)
CAN总线数据的通讯过程中,数据信息通过不同的报文格式来传送,例如:数据帧、远程帧等。这就类似于邮件中可以有不同的内容:文件、衣物、书籍等。
CAN总线数据的通讯花费的时间跟总线传输距离、通讯波特率有关系,通讯距离远,波特率就低,传输数据花费的时间就长。类似于从北京邮寄信件到石家庄,距离近,邮递时间就短;如果从北京邮寄信件到广州,邮递时间相对就长。另外,CAN总线数据的通讯花费的时间还跟通讯介质的选取(光纤、双绞线)、振荡器容差、通讯线缆的固有特性(导线截面积、电阻等)等有关系,这就类似于邮递信件时是选择EMS快递、挂号信,还是普通的平信。
当然,CAN总线传输也有其传输错误处理机制,以保证总线正常运行。类似于邮寄信件,也有出错处理机制,例如:发送快递时,如果地址写错了,快递员就会联系发件者,是否更改地址,重新投递。还有,如果投递邮件的数量过多,就会产生邮件的堆积,CAN总线如果传输的信息量过多,也会产生数据堆积,发生过载现象。
推荐CAN总线学习书籍及学习板:
1、《CAN总线嵌入式开发——从入门到实战》, 牛跃听 周立功等编著,
北京航空航天大学出版社,2012-1-1,ISBN9787512406919
该书的当当网网址:
//product.dangdang.com/22609565.html?_ddclickunion=P-233673|ad_type=0|sys_id=1#dd_refer=http%3A%2F%2Fwww.youlu.net%2F2896170
2、《CAN总线应用层协议实例解析》, 牛跃听 周立功等编著,北京航空航天大学出版社,2014,ISBN9787512415652
该书的当当网网址:
//product.dangdang.com/1159744623.html
|