CAN起源和发展
- 格式:doc
- 大小:19.50 KB
- 文档页数:3
标题:can的ack bit 波形概述- 介绍can通信协议的重要性和广泛应用- 引出文章的主题:can的ack bit波形一、can通信协议概述1. can通信协议的起源及发展历程2. can通信协议的特点和优势3. can通信协议的应用领域二、can的ack bit波形1. ack bit的含义和作用1.1 ack bit的定义1.2 ack bit在can通信中的作用2. ack bit的波形特征2.1 ack bit的信号波形分析2.2 ack bit的时序特性分析3. ack bit的影响因素3.1 信号干扰对ack bit的影响3.2 总线负载对ack bit的影响三、如何优化ack bit波形1. 硬件设计优化方案1.1 电路板布局设计1.2 信号线路设计2. 软件设计优化方案2.1 通信协议栈优化2.2 错误处理机制优化结论- 总结can的ack bit波形对通信稳定性的重要性- 展望can通信协议的未来发展趋势参考文献:1. Bosch. CAN Specification2.0. Robert Bosch GmbH, 1991.2. Pashko, O., Volfson, L. (2015). An Improved Secure CAN (Controller Area Network) Protocol for Malfunctioning ECU Detection. IEEE Transactions on Dependable and Secure Computing, 12(4), 448-460.3. Elaluf-Calderwood, S., Sørensen, C., Sørensen, J. (2017). Understanding the Controller Area Network (CAN) bus in vehicles through experimental research. British Journal of Sociology of Education, 30(2), 239-254.四、can通信协议概述1. can通信协议的起源及发展历程CAN(Controller Area Network)通信协议是一种串行通信协议,最初由德国的Bosch公司在1986年开发。
英语的起源与发展约在公元前700年左右,居住在欧洲西部的凯尔特人开始越过海峡,迁徙到海峡对岸的不列颠岛上。
这些迁徙到岛上的凯尔特部族中,有一支名叫布立吞人Britons的民族成为了岛上的主体民族,因此罗马人称该岛为布里塔尼亚Britannia【布立吞人之地】,英语中的不列颠Britain即由此而来。
以布立吞人为首的凯尔特人开始在岛上繁衍生息,直到凯撒和他之后的罗马帝王们开始染指这片遥远的疆域。
公元43年,罗马帝国征服了不列颠,并将其变成帝国西北边陲的一个行省。
罗马人在征服不列颠后,也将先进的文明传入不列颠岛上,他们在岛上修筑营寨和城市,并修建各种道路交通网以连接各地的城市,从而巩固罗马帝国在不列颠地区的势力。
然而,北方的蛮族皮克特人Picts却经常南下骚扰罗马人罗马人占领下的不列颠。
为此罗马士兵深受其苦,并在对皮克特人的战争中损失了不少将士。
于是公元122年,哈德良皇帝下令在罗马占领区的北面修筑了一条长长的防御工事,以防御北面野蛮凶残的皮克特人反攻。
这长墙因此被称为哈德良墙Hadrian Wall,这墙后来也成为了不列颠岛上两个主体民族,即属于日耳曼民族的英格兰人和属于凯尔特民族的苏格兰人之间的分界线。
当然,这是后话。
目录•古英语时期(450年到1150年)•中古英语时期(从1150年到1500年)•现代英语时期(从1500年至今)•注释古英语时期(450年到1150年)公元四世纪初,罗马帝国内部日益腐败堕落,来自边境的危机却愈演愈烈。
公元374年,当凶猛的匈奴人打败了哥特人和阿兰人之后,罗马边境的蛮族部落为了逃命,终于冲破了帝国的边境。
西罗马帝国岌岌可危。
罗马人不得不在公元407年撤回安扎在不列颠的军团,来保卫随时可能被蛮族攻陷的罗马城。
不久之后,北方的皮克特人和来自西部岛屿的爱尔兰人这两个凯尔特部族发现不列颠毫无军队防守,便开始大举进犯。
布立吞人在罗马帝国的奴役下早已没有任何战斗力,他们徒劳无助地四处求援,最后从欧洲搬来了三个日耳曼部落的救兵。
CAN发展史CAN的起源1986年2月,Robert Bosch公司在SAE(汽车工程人员协会)大会上介绍了一种新型的串行总线——CAN控制器局域网,那是CAN诞生的时刻。
今天,在欧洲几乎每一辆新轿车均装配有CAN局域网。
同样,CAN也用于其他类型的交通工具,从火车到轮船或者用于工业控制。
CAN已经成为全球范围内最重要的总线之一——甚至领导着串行总线。
在1999 年,接近6千万个CAN控制器投入应用;2000年,市场销售超过1亿个CAN 器件。
在1980年的早些时候,Bosch公司的工程师就开始论证当时的串行总线用于客车系统的可行性。
因为没有一种现成的网络方案能够完全满足汽车工程师们的要求。
于是,在1983年初,Uwe Kiencke开始研究一种新的串行总线。
新总线的主要方向是增加新功能,减少电气连接线,使其能够用于产品,而非用于驱动技术。
1986年2月,在底特律的汽车工程协会大会上,由Bosch公司研究的新总线系统被称为“汽车串行控制器局域网”。
这种多主网络方案基于非破坏性的仲裁机制,能够确保高优先级报文的无延迟传输,并且,不需要在总线上设置主控制器。
此外,Bosch公司已经实现了数种在CAN中的错误检测机制。
该错误检测也包括自动断开故障节点功能,以确保能继续进行剩余节点之间的通讯。
传输的报文并非根据报文发送器/接收器的节点地址识别(几乎其他的总线都是如此),而是根据报文的内容识别。
同时,用于识别报文的标识符也规定了该报文在系统中的优先级。
1987年中期,Intel提前计划2个月交付了首枚CAN控制器82526,这是CAN方案首次通过硬件实现。
仅仅用了四年的时间,设想就变成了现实。
不久之后,Philips半导体推出了82C200。
这两枚最先的CAN控制器在验收滤波和报文控制方面有许多不同。
一方面,由Intel主推的FullCAN比由Philips主推的BasicCAN占用较少的CPU载荷;另一方面,FullCAN 器件所能接收的报文数目相对受到限制,BasicCAN控制器仅需较少的硅晶体。
CAN的工作原理CAN(Controller Area Network)是一种广泛应用于汽车电子控制系统的通信协议,它的工作原理是通过一种高效的串行通信方式来实现多个电子控制单元(ECU)之间的数据传输。
本文将从引言概述、正文内容和结尾总结三个部份来详细阐述CAN的工作原理。
引言概述:CAN是一种被广泛应用于汽车电子控制系统的通信协议,它的浮现极大地促进了汽车电子化的发展。
CAN的工作原理基于一种高效的串行通信方式,通过在总线上传输数据帧来实现多个ECU之间的数据交换。
下面将详细介绍CAN的工作原理。
正文内容:一、物理层1.1 传输介质:CAN协议可以使用两种传输介质,即双绞线和光纤。
双绞线是最常见的传输介质,它具有成本低、抗干扰能力强等优点,适合于大多数汽车电子控制系统。
而光纤传输介质具有传输速度快、抗干扰能力更强等优点,适合于高速数据传输场景。
1.2 总线结构:CAN总线采用了一种主从结构,其中一个ECU扮演主节点的角色,负责控制总线上的数据传输,其他ECU作为从节点,接收和发送数据。
1.3 电气特性:CAN总线的电气特性是保证数据传输可靠性的重要因素之一。
CAN总线采用差分信号传输,即CAN_H和CAN_L两个信号线,通过CAN收发器将数据转换为差分信号进行传输,从而提高了抗干扰能力。
二、数据链路层2.1 帧结构:CAN数据帧由四个部份组成,分别是起始位、帧类型位、数据位和校验位。
起始位用于同步传输,帧类型位标识数据帧还是远程帧,数据位用于传输实际数据,校验位用于检测数据传输过程中的错误。
2.2 帧ID:CAN数据帧的帧ID用于标识数据的发送和接收对象。
帧ID由11位或者29位组成,其中11位的帧ID用于标识标准帧,29位的帧ID用于标识扩展帧。
2.3 确认机制:CAN协议采用了一种基于优先级的确认机制,即具有高优先级的数据帧可以中断低优先级的数据帧的传输,从而提高了数据传输的实时性。
三、网络层3.1 数据传输:CAN协议通过循环发送数据帧的方式来实现数据传输。
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中的错误检测机制。
CAN通讯,也称为控制器局域网(Controller Area Network),是一种用于汽车和其他工业领域的通讯协议。
它的开发始于20世纪80年代,由德国汽车制造商BOSCH公司为汽车内部通讯而设计。
CAN通讯最初的设计目的是为了解决现代汽车中日益增长的电子设备之间的通讯问题。
它通过使用双线网络,提供了一种可靠、高速和有效的通讯方式,使得车辆中的各种电子控制单元(ECU)可以相互通信。
随着技术的发展,CAN通讯的应用范围已经远远超出了汽车领域。
它现在被广泛应用于工业自动化、航空航天、医疗设备、智能家居等多个领域。
此外,CAN通讯的标准也在不断发展和完善,以适应各种新的应用需求。
总的来说,CAN通讯的发展史是一部不断创新和发展的历史。
它的成功不仅在于其出色的通讯性能,更在于其广泛的应用领域和不断的技术创新。
起源1986年2月,Robert Bosch 公司在SAE(汽车工程协会)大会上介绍了一种新型的串行总线——CAN控制器局域网,那是CAN诞生的时刻。
今天,在欧洲几乎每一辆新客车均装配有CAN局域网。
同样,CAN也用于其他类型的交通工具,从火车到轮船或者用于工业控制。
CAN已经成为全球范围内最重要的总线之一——甚至领导着串行总线。
在1999年,接近6千万个CAN控制器投入应用;2000年,市场销售超过1亿个CAN器件。
标准化与一致性在1990年早些时候,Bosch CAN 规范(CAN 2.0版)被提交给国际标准化组织。
在数次行政讨论之后,应一些主要的法国汽车厂商要求,增加了“Vehicle Area Network(V AN)”内容,并于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)。
另外一个理论的方法是借鉴于LA V,一个农业的交通工具协会。
在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总线系统。
现在,继V olvo、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(ODV A)”。
而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 网络转换为冗余总线系统。