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 大学教授 WolfhardLawrenz 博士 给出了新网络方案的名字“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 总线。瑞士工
CAN总线发展史局域 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)