CAN总线发展史

起源
       1986 年2 月,Robert Bosch 公司在SAE(汽车工程协会)大会上介绍了一种新型的串行总线——CAN控制器局域网,那是CAN 诞生的时刻。今天,在欧洲几乎每一辆新客车均装配有CAN 局域网。同样,CAN也用于其他类型的交通工具,从火车到轮船或者用于工业控制。CAN 已经成为全球范围内最重要的总线之一——甚至领导着串行总线。在1999 年,接近6 千万个CAN 控制器投入应用;2000 年,市场销售超过1 亿个CAN 器件。
       在1980 年的早些时候,Bosch 公司的工程师就开始论证当时的串行总线用于客车系统的可行性。因为没有一种现成的网络方案能够完全满足汽车工程师们的要求,于是,在1983 年初,Uwe Kiencke 开始研究一种新的串行总线。新总线的主要方向是增加新功能、减少电气连接线,使其能够用于产品,而非用于驱
动技术。来自Mercedes-Benz 的工程师较早制定了总线的状态说明,而Intel 也准备作为半导体生产的主要厂商。当时聘请的顾问之一是来自于德国Braunschweig-Wolfenbüttel 的Applied Science 大学教授Wolfhard Lawrenz 博士给出了新网络方案的名字“Controller Area Network”,简称CAN。来自Karlsruhe 大学的教授Horst Wettstein 博士也提供了理论支持。
       1986 年2 月,CAN 诞生了。在底特律的汽车工程协会大会上,由Bosch 公司研究的新总线系统被称为“汽车串行控制器局域网”。Uwe Kiencke、Siegfried Dais 和Martin Litschel 分别介绍了这种多主网络方案。此方案基于非破坏性的仲裁机制,能够确保高优先级报文的无延迟传输。并且,不需要在总线上设置主控制器。此外,CAN 之父——上述几位教授和Bosch 公司的Wolfgang Borst、Wolfgang Botzenhard、Otto Karl、Helmut Schelling、Jan Unruh 已经实现了数种在CAN 中的错误检测机制。该错误检测也包括自动断开故障节点功能,以确保能继续进行剩余节点之间的通讯。传输的报文并非根据报文发送器/接收器的
节点地址识别(几乎其它的总线都是如此),而是根据报文的内容识别。同时,用于识别报文的标识符也规定了该报文在系统中的优先级。
       当关于这种革新的通讯方案的大部分文字内容制定之后,于1987 年中期,Intel 提前计划2 个月交付了首枚CAN 控制器:82526,这是CAN 方案首次通过硬件实现。仅仅用了四年的时间,设想就变成了现实。不久之后,Philips 半导体推出了82C200。这两枚最先的CAN 控制器在验收滤波和报文控制方面有许多不同。一方面,由Intel 主推的FullCAN 比由Philips 主推的BasicCAN 占用较少的CPU 载荷;另一方面,FullCAN 器件所能接收的报文数目相对受到限制,BasicCAN 控制器仅需较少的硅晶体。今天的CAN 控制器中,“孙子”辈们在同一模块中的验收滤波和报文控制方面仍有相当的不同,制造出BasicCAN 和FullCAN 两大阵营。

 

标准化与一致性
       在1990 年早些时候,Bosch CAN 规范(CAN 2.0 版)被提交给国际标准化组织。在数次行政讨论之后,应一些主要的法国汽车厂商要求,增加了“Vehicle Area Network(VAN)”内容,并于1993 年11 月出版了CAN 的国际标准ISO11898。除了CAN 协议外,它也规定了最高至1Mbps 波特率时的物理层。同时,在国际标准ISO11519-2 中也规定了CAN 数据传输中的容错方法。1995 年,国际标准ISO11898 进行了扩展,以附录的形式说明了29 位CAN 标识符。
       但令人伤心的是,所有出版的CAN 规范均包含错误或者不完整。因此,为避免出现不兼容的CAN 应用,Bosch 公司一直在进行验证CAN 芯片是否基于Bosch 的CAN 参考模型的工件。此外,几年来在Lawrenz 教授领导下,位于德国Braunschweig/Wolfenbüttel 的Applied Science 大学进行CAN 的一致性测试,测试模式基于国际标准测试规范ISO16845。
       当前,修订的CAN 规范正在标准化中。ISO11898-1 称为“CAN 数据链路层”,ISO11898-2 称为“非容错CAN 物理层”,ISO11898-3 称为“容错CAN 物理层”。国际标准ISO11992(卡车和拖车接口)和ISO11783 (农业和森林机械)都在美国标准J1939 的基础上定义了基于CAN 应用的子协议,但是它们并不完整。

 

CAN 先行者的发展
       尽管当初研究CAN 的起点是应用于客车系统,但CAN 的第一个市场应用却来自于其他领域。特别是在北欧,CAN 早已得到非常普遍的应用。在荷兰,电梯厂商Kone 使用CAN 总线。瑞士工程办公室Kvaser 已建议将CAN 应用至一些纺织机械厂(Lindauer Dornier 和Sulzer),并由他们提供机器的通讯协议。这一领域中,在Lars-Berno Fredriksson 的领导下,公司建立了“CAN 纺织机械用户集团”。到1989 年,他们已研究出通讯原理,并于1990 年早期帮助建立“CAN Kingdom”开发环境。尽管CAN Kingdom 并不是一种基于OSI 参考模型的应用层,但它被认为是基于CAN 的高层协议的原型
       在荷兰,Philips 医疗系统决定使用CAN 构成X 光机的内部网络,成为CAN 的工业用户。主要由Tom Suters 发表的“Philips 报文规范——PMS”提出了CAN 网络的第一个应用层。来自德国Weingarten 的Applied Science 大学教授Konrad Etschberger 博士也持同样的观点。他管理Steinbeis Transfer Center for Process Automation (Stzp)公司(现在更名为IXXAT Automation 公司),并开发出一个类似的方案。
       不管如何,第一个高层协议正在形成。大多数CAN 的先行者使用单片电路的方法,通讯功能、网络管理、应用代码组合在同一个软件之中。即使一些用户有较多的标准模块可供利用,但面对所有的解决方案,他们也一定存在着缺陷。必须持续稳定地发展CAN 的高层协议——即使在今天,仍然有部分用户低估这个问题。
       在1990 年的早些时候,开始筹划成立一个用户组织,从而将不同的解决方案标准化。在1992 年初的几个月里,当时VMEbus 杂志的主管(出版社:Franzis)Holger Zeltwanger 将用户和厂商集中在一起,讨论建立一个促进CAN 技术发展的中立平台,同时也针对串行总线市场进行分析。1992 年5 月,CiA“CAN 
in Automation”用户集团正式成立。仅在几个星期后,CiA 即发表了第一份技术杂志,那是关于物理层的。CiA 推荐仅使用遵循ISO11898 的CAN 收发器。到现在为止,在当时的CAN 网络中使用非常普遍但并不兼容的RS-485 收发器已基本消失,尽管它也是厂商提供的。
       CiA 的首批任务之一是规定CAN 的应用层。根据Philips 医疗系统(PMS)和Stzp 所提供的内容,依靠其余CiA 会员的协助,CAL——“CAN 应用层”也称为“绿皮书”诞生了。在制定CAN 应用规范时,CiA 的一个主要任务是进行CAN 专家和其他CAN 学习者之间的信息交流。因此,从1994 年起,CiA 每年召开一次国际CAN 会议(iCC)。
       另外一个理论的方法是借鉴于LAV,一个农业的交通工具协会。在1980 年晚些时候开始,一个基于CAN 的农业交通工具总线系统(LBS)被制定出。但在工作最终完成前,国际标准化委员会决定改向支持US 解决方案——J1939。这也是一个基于CAN 的应用子协议,由SAE 的Truck and Bus 协会制定。J1939 是一个非模块化的方案,简单易学,但灵活性很差。

 

从理论到实践
       当然,生产CAN 模块集成器件的15 家半导体厂商主要聚焦于汽车工业。从1990 年中期起,Infineon 公司和Motorola 公司已向欧洲的客车厂商提供了大量的CAN 控制器。作为下一波,从1990 年后期起,远东的半导体厂商也开始提供CAN 控制器。1994 年,NEC 推出了传说中的CAN 芯片72005,但是,这一步太早了——当时,这个器件并不能投入使用。
       从1992 年起,Mercedes-Benz(奔驰)开始在他们的高级客车中使用CAN 技术。第一步使用电子控制器通过CAN 对发动机进行管理;第二步使用控制器接收人们的操作信号。这就使用了2 个物理上独立的CAN 总线系统,它们通过网关连接。其他的客车厂商也纷纷赶来斯图加特学习,在他们的客车上也使用2 套CAN 总线系统。现在,继Volvo、Saab、Volkswagen 、BMW 之后,Renault 和Fiat 也开始在他们的汽车上使用CAN 总线。
       在1990 的早些时候,美国俄亥俄州的机械工程公司的工程师们与Allen-Bradley 公司、Honeywell 微型开关公司开始了一个合资项目,内容是基于CAN 的通讯与控制。但是,不久之后,项目组的重要成员离开,合资项目终止。但Allen-Bradley 公司和Honeywell 公司各自继续从事这项工作。这导致产生了两个高层协
议:“DeviceNet”和“Smart Distributed System (SDS)”,而且这2 个协议在较低层的通讯层上非常相似。在1994 年早些时候,Allen-Bradley 将DeviceNet 规范移交给专职推广DeviceNet 的组织“Open DeviceNet Vendor Association(ODVA)”。而Honeywell 则放弃了在SDS 方面的努力,使得SDS 更象Honeywell 公司的内部解决方案。DeviceNet 特别为工厂自动控制而定制,因此,使其成为类似Profibus-DP 和Interbus 协议的有力竞争者。倘若仅从即插即用的功能考虑,DeviceNet 已经成为美国特定应用领域中的领导者。
       在欧洲,一些公司在尝试使用CAL。尽管CAL 在理论上正确,并在工业上可以投入应用,但每个用户都必须设计一个新的子协议,因为CAL 是一个真正的应用层。CAL 可以被看作一个应用CAN 方案的必要理论步骤,但在这一领域它不会被推广。从1993 年起,在Esprit project ASPIC 范围内,由Bosch 领导的欧洲协会研究出一个原型,由此发展成为CANopen它是一个基于CAL 的子协议,用于产品部件的内部网络控制。在理论方面,来自德国Reutlingen 的Applied Science 大学教授Gerhard Gruhler 博士和来自Newcastle (UK)大学的Mohammed Farsi 积极参与,均是其中最成功的活跃分子之一。在项目完成之后,CANopen 规范移交给CiA 组织,由其进行维护与发展。在1995 年,CiA 发表了完整版的CANopen 通讯子协议;仅仅用了5 年的时间,它已成为全欧洲最重要的嵌入式网络标准。CANopen 不仅定义了应用层和通讯子协议,也为可编程系统、不同器件、接口、应用子协议定义了页状态,这也就是工业领域(比如:打印机、海事应用、医疗系统)决定使用CANopen 的一个重要原因。
       DeviceNet 和CANopen,是两个定位于不同市场的标准应用层协议(EN 50325)。DeviceNet 适合于工厂自动化控制;CANopen 适合于所有机械的嵌入式网络。这又造就了两个不同的应用范围,因此,有必要定义应用层的规范历史(可以将一些特定的大量嵌入式系统排除在外)。

 

CAN 前景展望
       尽管CAN 协议已经有15 年的历史,但它仍处在改进之中。从2000 年开始,一个由数家公司组成的ISO 任务组织定义了一种时间触发CAN 报文传输的协议。Bernd Mueller 博士、Thomas Fuehrer 、Bosch 公司人员和半导体工业专家、学术研究专家将此协议定义为“时间触发通讯的CAN(TTCAN)”,计划在将来
标准化为ISO11898-4。这个CAN 的扩展已在硅片上实现,不仅可实现闭环控制下支持报文的时间触发传输,而且可以实现CAN 的x-by-wire 应用。因为CAN 协议并未改变,所以,在同一个的物理层上,既可以实现传输时间触发的报文,也可以实现传输事件触发的报文。
       TTCAN 将为CAN 延长5-10 年的生命期。现在,CAN 在全球市场上仍然处于起始点,当得到重视时,谁也无法预料CAN 总线系统在下一个10-15 年内的发展趋势。这里需要强调一个现实:近几年内,美国和远东的汽车厂商将会在他们所生产汽车的串行部件上使用CAN。另外,大量潜在的新应用(例如:娱乐)正在呈现——不仅可用于客车,也可用于家庭消费。同时,结合高层协议应用的特殊保安系统对CAN 的需求也正在稳健增长。德国专业委员会BIA 和德国安全标准权威TÜV 已经对一些基于CAN 的保安系统进行了认证。CANopen-Safety 是第一个获得BIA 许可的CAN 解决方案,DeviceNet-Safety 也会马上跟进。全球分级协会的领导者之一,Germanischer Lloyd 正在准备提议将CANopen 固件应用于海事运输。在其他事务中,规范定义可以通过自动切换将CANopen 网络转换为冗余总线系统

 

CAN 历史事件一览表
       1983:Start of the Bosch internal project to develop an in-vehicle network 
       1986:Official introduction of CAN protocol 
       1987:First CAN controller chips from Intel and Philips Semiconductors 
       1991:Bosch’s CAN specification 2.0 published 
       1991:CAN Kingdom CAN-based higher-layer protocol introduced by Kvaser 
       1992:CAN in Automation international users and manufacturers group established 
       1992:CAN Application Layer (CAL) protocol published by CiA 
       1992:First cars from Mercedes-Benz used CAN network 
       1993:ISO 11898 standard published 
       1994:1st international CAN Conference (iCC) organized by CiA 
       1994:DeviceNet protocol introduction by Allen-Bradley 
       1995:ISO 11898 amendment (extended frame format) published 
       1995:CANopen protocol published by CiA 
       2000:Development of the time-triggered communication protocol for CAN (TTCAN) 

2012-08-18                           

注:源自原百度博客“至美心"

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值