题记:
在这信息爆破的时代,学习相同新的常识,尤其是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规范的基础上开展起来的运用层。许多体系(像轿车工业)中,能够特别拟定一个适宜的运用层,但关于许多的职业来说,这种办法是不经济的。一些安排现已研讨并开放了运用层规范,以使体系的归纳运用变得非常简单。
一些可运用的CAN高层协议有:
1、拟定安排首要高层协议
2、CiA CAL协议
3、CiA CANOpen协议
4、ODVA DeviceNet 协议
5、Honeywell SDS 协议
八、什么是规范格局CAN和扩展格局CAN?
规范CAN的标志符长度是11位,而扩展格局CAN的标志符长度可达29位。CAN 协议的2.0A版别规则CAN操控器有必要有一个11位的标志符。一起,在2.0B版别中规则,CAN操控器的标志符长度能够是11位或29位。遵从CAN2.0B协议的CAN操控器能够发送和接纳11位标识符的规范格局报文或29位标识符的扩展格局报文。假如制止CAN2.0B,则CAN 操控器只能发送和接纳11位标识符的规范格局报文,而疏忽扩展格局的报文结构,但不会呈现过错。
现在,Philips公司首要推行的CAN独立操控器均支撑CAN2.0B协议,即支撑29位标识符的扩展格局报文结构。