硬件接口协议之“CAN总线简介”

本文主要介绍CAN总线的发展历史、标准化、应用等。


发展历史

CAN总线从1986年第一次发布至今,已经经历了30多年的发展,已成为应用最广、最有前途的现场总线之一。CAN总线在汽车及交通、工业自动化、铁路自动化、楼宇自动化等领域已经独领风骚。下面简单梳理一下CAN的发展发展过程中的一些主要的历史事件:
  • 1983年,Bosch开始CAN总线研发;

  • 1986年,Bosch在SAE大会上公布CAN协议;

  • 1987年,Intel和Philips先后推出CAN控制器芯片(Intel的82526,Philips的82C200);

  • 1991年,CAN总线最先在Benz S500E系列轿车上应用;

  • 1991年,CAN 2.0标准发布,分为 CAN 2.0A (11位标识符)和 CAN 2.0B (29位标识符);

  • 1992年,CiA用户组织成立;

  • 1993年,ISO颁布CAN国际标准ISO 11898;

  • 1994年,SAE颁布基于CAN的J1939标准;

  • 1994年开始有了国际CAN学术年会(iCC),CiA 每年召开一次。

  • 1995年,CiA发布CANopen协议;

  • 2000年,TTCAN(time-triggered communication protocol for CAN)发布;

  • 2011年,Bosch发布了CAN-FD(CAN with Flexible Data-Rate),继承了传统CAN的主要特性,但CAN FD定义了在仲裁后使用不同的数据帧结构,从而使得数据传输速率达到最高12Mbps。


版本变迁

CAN规范经历了很多版本的变迁:
  • CAN 1.2

  • CAN 2.0A,标准格式

  • CAN 2.0B,扩展格式

  • CAN FD


CAN针对ID参数规定了两种不同的格式。其中标准消息格式用了11位的ID,而扩展消息格式用了29位的ID。
  • CAN 2.0兼容CAN 1.2

  • CAN 2.0A-只规定了标准消息格式(扩展消息会被认为是错误的)

  • CAN 2.0B active-能处理标准和扩展消息格式
    CAN 2.0B passive-处理标准消息,忽略扩展消息

  • CAN FD兼容CAN 2.0


标准化

CAN总线最初由BOSCH提出,后经ISO组织确定为国际标准,根据特性差异又分为不同的子标准,CAN国际标准只涉及到OSI(开放式通信系统参考模型 )的物理层和数据链路层。上层协议是在CAN标准基础上定义的应用层,市场上有不同的应用层标准。
CAN标准分为底层标准(物理层和数据链路层)和上层标准(应用层)两大类。CAN底层标准主要是ISO 11898、ISO11519等国际标准,也就是说不同厂商在CAN总线的物理层和数据链路层的定义基本相同;而上层标准,涉及到例如流控制、设备寻址和大数据块传输控制等,不同应用领域或制造商会有不同的做法,没有统一的国际标准。


CAN底层标准涵盖OSI模型中的物理层和数据链路层,底层标准包括ISO 11898、ISO11519、SAE J2411等,后面再详细介绍。




底层标准都相同,但是不同应用领域和组织会制定不同的上层标准。对于汽车行业,几乎每家厂商都有自己的CAN上层标准。比较流行的有工业自动化领域CiA的CANopen ,Rockwell的DeviceNet;嵌入式控制领域Kvaser的CAN Kingdom;智能设备控制 Honeywell的SDS;汽车诊断ISO 14229定义 UDS,中重型汽车CAN总线标准 SAE J1939 等等。



应用

随着汽车行业的发展,目前车内ECU可能多达上百个,包括引擎控制单元、传动控制、安全气囊、ABS、巡航控制、EPS、音响系统、门窗控制和电池管理等等模块,虽然某些模块是单一的子系统,但是模块之间的互连依然非常重要,CAN总线就可以满足这些子系统之间数据传输的需求。使用CAN总线实现车内系统互连,大大降低了车内电子系统布线的复杂度。



下面是一组数据对比:

2013年福特Fusion汽车的组件:
  • 70个ECU单元

  • 75个传感器

  • 150个激励器

2030年自动驾驶汽车的组件(预测):

  • 120个ECU单元

  • 100个传感器

  • 200个激励器


以上就是针对CAN总线的发展、标准及应用的简单介绍,后续会从底层硬件、底层标准规范、通信过程等方面进行详细的介绍。


支持小编,请点在看