1. CAN的介绍
1.1 CAN是什么
CAN是Controller Area Network的缩写(以下称为CAN),是ISO世界规范化的串行通讯协议。
1.2 CAN的来源
轿车CAN总线是20世纪80年代初德国Bosch公司为处理现代轿车中许多操控单元、测验仪器之间的实时数据交换而开发的一种串行通讯协议。
传统轿车线束衔接如图1.21。
在当时的轿车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各式各样的电子操控体系被开发了出来。因为这些体系之间通讯所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的状况许多,线束的数量也随之添加。为习惯“削减线束的数量”,“经过多哥LAN,进行很多数据的高速通讯”的需求,1986年德国电气商博世公司开发出面向轿车的CAN通讯协议。尔后,CAN经过ISO11898及ISO11519进行了规范化,现在在欧洲已是轿车网络的规范协议。
现在,CAN总线的高性能和可靠性已被认同,并被广泛地使用于工业主动化、船只、医疗设备、工业设备等方面。
在轿车上的使用,CAN节点现已到达最多90个电子操控节点了。
1.1 CAN的发展史
※1983年,Bosch开端研讨车上的网络技术;
※1986年,Bosch在SAE大会发布CAN协议;
※1987年,Intel与Philips先后推出CAN操控器芯片;
※1991年,Bosch公布CAN2.0技术规范,CAN2.0包含A和B两个部分;
※1991年,CAN总线最早在Benz S系列轿车上完成;
※1993年,ISO公布CAN世界规范ISO-11898;
※1994年,SAE公布依据CAN的J1939规范;
※2003年,Maybach公布带76个ECU的新车型(CAN、LIN、MOST);
※2003年,VW公布了带35ECU的新车型Golf;
……
※未来,CAN总线将部分被FlexRay所替代,可是CAN总线将会被继续使用适当长的时刻。
1.2 CAN的特性
※多主结构依据优先权进行总线拜访;
※无损坏性的依据优先权的逐位裁定;
※凭借检验滤波器的多地址帧传递;
※长途数据恳求;
※全体系数据相容性;
※过错检测与犯错信令;
※很远的输出传输间隔(长达10Km);
※高速的数据传输速率(高达1Mbps);
※高度实时性,每帧报文答应传输最多8个字节的数据;
※发送期间丢掉裁定或犯错而遭到损坏的帧可主动重发;
※暂时过错和永久性毛病节点的判别以及毛病节点的主动脱离;
※脱离总线的节点不影响总线的正常作业。
1. 多主操控
在总线空闲时,一切的单元都可开端发送音讯,最早拜访总线的单元可获得发送权,多个单元一起开端发送时,发送高优先级ID音讯的单元可获得发送权。
2. 音讯的发送
在CAN协议中,一切的音讯都以固定的格局发送。总线空闲时,一切与总线相衔接的单元都能够开端发送新音讯。两个以上的单元一起开端发送音讯时,依据标识符ID决议优先级。ID并不是表明发送的意图地址,而是表明拜访总线的音讯的优先级。两个以上的单元一起开发发送音讯时,对各音讯ID的每个位进行逐一裁定比较。裁定取胜(被判定为优先级最高)的单元可继续发送音讯,裁定失利的单元则马上中止发送而进行接纳作业。
3. 体系的柔软性
与总线相衔接的单元没有类似于“地址”的信息,因此在总线伤添加单元时,衔接在总线上的其他单元的软硬件及使用层都不需求改动。
4. 通讯速度
依据整个网络的规划,可设定合适的通讯速度。在同一网络中,一切单元有必要设定成一致的通讯速度,即便有一个单元的通讯速度与其他的不一样,此单元也会输出过错信号,阻碍整个网络的通讯。
5. 长途数据恳求
可经过发送“长途帧”恳求其他单元发送数据。
6. 过错检测功用、过错告诉功用、过错康复功用
一切的单元都能够检测过错及过错检测功用。检测出过错的单元会当即一起告诉其他一切单元及过错告诉功用。正在发送音讯的单元一旦检测出过错,会强制完毕当时的发送,强制完毕发送的单元会不断重复地从头发送此音讯直到成功发送停止及过错康复功用。
7. 毛病关闭
CAN能够判别出过错的类型是总线上暂时的数据过错(如外部噪声等)仍是继续的数据过错(如单元内部毛病、驱动器毛病、断线等)。由此功用,当总线上产生继续数据过错时,可将引起此毛病单元从总线上阻隔出去。
8. 衔接
CAN总线是可一起衔接多个单元的总线,可衔接的单元总数理论上是没有约束的,但实际上可衔接的单元数受总线上的时刻延迟及电气负载的约束。下降通讯速度,可衔接的单元数添加;进步通讯速度,则可衔接的单元数削减。