1、CAN 发展史CAN 的起源1986 年 2 月,Robert Bosch 公司在 SAE(汽车工程人员协会)大会上介绍了一种新型的串行总线CAN 控制器局域网,那是 CAN 诞生的时刻。今天,在欧洲几乎每一辆新轿车均装配有 CAN 局域网。同样,CAN 也用于其他类型的交通工具,从火车到轮船或者用于工业控制。CAN 已经成为全球范围内最重要的总线之一甚至领导着串行总线。在1999 年,接近 6 千万个 CAN 控制器投入应用;2000 年,市场销售超过 1 亿个 CAN 器件。在 1980 年的早些时候,Bosch 公司的工程师就开始论证当时的串行总线用于客车系统的可行性。因为没有一种现成的
2、网络方案能够完全满足汽车工程师们的要求。于是,在1983 年初,Uwe Kiencke 开始研究一种新的串行总线。新总线的主要方向是增加新功能,减少电气连接线,使其能够用于产品,而非用于驱动技术。1986 年 2 月,在底特律的汽车工程协会大会上,由 Bosch 公司研究的新总线系统被称为“汽车串行控制器局域网” 。这种多主网络方案基于非破坏性的仲裁机制,能够确保高优先级报文的无延迟传输,并且,不需要在总线上设置主控制器。此外,Bosch 公司已经实现了数种在 CAN 中的错误检测机制。该错误检测也包括自动断开故障节点功能,以确保能继续进行剩余节点之间的通讯。传输的报文并非根据报文发送器/接收
3、器的节点地址识别(几乎其他的总线都是如此) ,而是根据报文的内容识别。同时,用于识别报文的标识符也规定了该报文在系统中的优先级。1987 年中期,Intel 提前计划 2 个月交付了首枚 CAN 控制器 82526,这是 CAN 方案首次通过硬件实现。仅仅用了四年的时间,设想就变成了现实。不久之后,Philips 半导体推出了 82C200。这两枚最先的 CAN 控制器在验收滤波和报文控制方面有许多不同。一方面,由 Intel 主推的 FullCAN 比由 Philips 主推的 BasicCAN 占用较少的 CPU 载荷;另一方面,FullCAN 器件所能接收的报文数目相对受到限制,Basi
4、cCAN 控制器仅需较少的硅晶体。今天的 CAN 控制器中, “孙子”辈们在同一模块中的验收滤波和报文控制方面仍有相当的不同,制造出 BasicCAN 和 FullCAN 两大阵营。CAN 的标准化由于 CAN 总线为越来越多不同领域采用和推广,导致要求不同应用领域通信报文的标准化。在 20 世纪 90 年代初,Bosch CAN 规范(2.0 版)被提交作为国际标准。1991 年9 月 Philips Semiconductors 制定并发布了 CAN 技术规范(Version 2.0)。该技术规范包括 A和 B 两部分。2.0A 给出了曾在 CAN 技术规范版本 1.2 中定义的 CAN
5、报文格式,2.0B 给出了标准的和扩展的两种报文格式。此后,1993 年 11 月 IS0 正式颁布了道路交通运输工具数字信息交换高速通信控制器局域网(CAN)国际标准(IS0 l1898),为控制器局域网标准化、规范化推广铺平了道路。同时,在 CAN 的协议中定义了物理层的波特率最高为1Mbps。另外,CAN 数据传送中的错误处理方式也在 1995 年的 ISO 11519-2 中标准化,ISO 11898 标准也由于加入了描述 29 位 CAN 的标识符而扩充。直到现在,修改的 CAN 规范正在标准化的过程中。ISO 11898-1 描述了“CAN 数据链路层” ,ISO 11898-2
6、定义了“无错误-误差 CAN 物理层” ,ISO 11898-3 规定了“错误-误差物理层” 。ISO 标准11992(卡车和拖车的接口)和 11783(农业和林业机械)两者定义了以 CAN 为基础的应用条款,它们的依据是 US 协议 J1939。CAN 理论到实践的应用CAN 最初专门为汽车工业设计,用于汽车内部测量与执行部件之间的数据通信,是一种对等式的现场总线网络。由于其设计合理,具有较强的实用性,推出后,不仅在汽车工业中广泛应用,还大量应用于工业自动化、智能建筑、医疗设备、自动测试设备等诸多领域,获得了长足的发展。目前已由 ISO/TC22 技术委员会批准为国际标准 ISO 11898
7、(H2部分,通信速率1Mb/s)和 ISO 11519(H1 部分,通信速率125Kb/s) ,在目前的各种现场总线中,CAN 是唯一取得国际标准的。CAN 总线是为汽车而开发的串行数据通信总线,因此其第一用户当然是汽车工业。目前,一些在世界上举足轻重的汽车制造商都在积极地将 CAN 总线用在新型汽车上。据有关资料介绍,一些高档名牌汽车如 BENZ(奔驰) 、BMW(宝马) 、PORSCHE (保时捷) 、ROLLS ROYCE(劳斯莱斯) 、JAGUAR (美洲豹)等都已开始采用 CAN 总线来实现汽车内部控制系统与各检测和执行机构间地数据通信。CAN 总线规范被 ISO 认定为国际标准产品
8、后,它的应用节点数量巨大,仅 1997 年就达到 3000 万。由于 CAN 总线的高速通信速率、高可靠性、连接方便、多主站、通讯协议简单和高性能价格比等突出优点,深得许多工业应用部门的青睐,其应用由最初的汽车工业迅速发展至铁路、船舶、航空、数控机床、农用机械、粮情检测、液压传动、建筑管理、消防管理、楼宇自动化、传感器、自动化仪表、过程检测等领域。CAN 在国外的发展迅速,奔驰 S 型轿车采用的就是 CAN 总线系统。美国商用车辆制造商们也将注意力转向 CAN 总线,美国一些企业已将 CAN 作为内部总线应用在生产线和机床上。由于 CAN 总线可以提供较高的安全性,因此在医疗领域、纺织机械和电
9、梯控制中也得到了广泛应用。由于其性能优异,价格低廉,因此很快被推广到工业测控现场,被 Honeywell 等自动化厂商广泛选用。特别是在离散制造加工领域,CAN 总线具有较强的竞争力。目前已有 Intel、Motorola、Philips、NEC 等公司生产了符合 CAN 协议的通讯芯片,多家公司也有相应的 CAN 总线接口适配卡,如国内应用较多的研华工控系列产品中,就有系列的 CAN 适配卡和智能仪表等产品,这些产品接口简单,编程方便,实用性强,很适合国内目前的应用情况。1993 年 3 月,CiA(CAN in Automation)即国际 CAN 总线用户及制造商协会在欧洲成立,其任务为
10、指定修改 CAN 的有关协议,解决 CAN 应用中的问题,提供 CAN 的开发工具及产品,推广 CAN 的应用,并定期出版有关 CAN 总线的开发应用动态及产品介绍的杂志 CAN News Leter。在该协会下还建立了特殊行业组 SIG(Special Interest Groups) ,重点研究 CAN 协议在汽车、公共交通、机器人控制、液压传动装置以及传感器技术等领域中地应用。CAN 目前已广泛应用于工业领域中的各个方面,一些大公司如 AB 公司的 DeviceNET 及 Honeywell 公司的 SDS 系统都是应用 CAN 的产品,正是由于CAN 技术与产品的可靠性与实用性,它的应
11、用范围和用户正迅速扩大汽车中的软件无线电软件无线电(SDR)是指发射方的调制和接收方的解调都使用软件来完成的一种无线通信方式。每一个 SDR的接收器都会在通过天线或一个中间界面以后加上一个模拟到数字(A/D)的信号转换器。混音以及基带的处理都是以数字方式完成并通过软件来进行控制。这样一种操作模式的主要优点在于其高度的灵活性,因为软件完全可以在为任何一种接收器所设置的通用硬件平台上运行。设计人员可以通过这个通用的硬件平台提取所有接收器所共有的一组功能,或者在加入新的接收器时,设计人员可以根据需要选择对硬件进行重新设置。图 1 显示了一个典型的汽车 SDR 系统。SDR 的接收器由一个信道处理模块
12、以及一个解码模块构成。信道处理模块使用数字化的下变频器、CIC 滤波器以及 FIR 滤波器来进行信道选择、滤波以及平衡的操作。对于不同的接收器设置而言,所需要的信道选择模块同样也是不同的,而这些不同的模块可以在 SDR 控制器的控制之下加载到 Altera 的 Cyclone 器件之上。同样,一个 ARM CPU 和一个处理器的子系统可以重新加载 Excalibur器件中带有指定解码模块的逻辑运算器,一个波形模块会在这之后对解码以后的音频信号进行处理。Altera 提供一系列 IP 核,例如数控振荡器 (NCO)、有限脉冲响应(FIR )、无限脉冲响应(IIR)、快速傅里叶变换(FFT)和坐标
13、映射。这些都可以用于实现信道的处理、编解码,和波形模块。设计人员还可以通过以下 IP 核,即 Altera 的 Excalibur 器件上的控制器区域网络(CAN)和通用串行总线(USB)控制器或 Cyclone 器件中的 32 位 Nios II RISC 嵌入式软核处理器,来执行 SDR 控制模块的功能。图 1.汽车软件无线电图 1 注释:1. UART = 通用同步异步接收器/发送器Cyclone 器件的高效架构使得它的性能和价格水平已经远远超出了本身对价格就很敏感的汽车应用的需求水平。所以,Cyclone 系列产品及对应解决方案为业内设计人员提供了无与伦比的强大功能和相对于ASIC 极具竞争力的价格水平。