一、汽车CAN总线:解析CAN总线在汽车中的应用与意义
汽车CAN总线是什么意思?在汽车电子领域中,CAN总线技术扮演着至关重要的角色。CAN总线(Controller Area Network)是一种在汽车电子系统中应用广泛的通信协议,它允许车辆中的各个电子控制单元(ECU)相互通信,从而实现各种功能的协调与控制。
什么是汽车CAN总线?
汽车CAN总线是一种多控制器网络,通过在汽车各种电子设备之间进行信息交换,实现各个系统之间的通信和协调。CAN总线系统大大简化了车辆内部电子控制系统的布线,减少了线缆的使用,降低了整车的制造成本,提高了可靠性。
汽车CAN总线的应用
在汽车中,CAN总线被广泛应用于引擎管理系统、变速器控制系统、防抱死刹车系统(ABS)、空调控制系统、车身控制系统、仪表盘集成电路等等。通过CAN总线,这些系统能够相互通信,协调工作,提高整车的安全性、舒适性和性能表现。
汽车CAN总线的重要意义
作为现代汽车中不可或缺的一部分,CAN总线为汽车各个系统之间的信息交换提供了高效可靠的通信手段。它使得整车各个系统可以更好地协调工作,提高了整车的智能化程度,同时也为汽车后期维护和升级提供了便利条件。
总之,汽车CAN总线在现代汽车中具有重要的意义,它促进了汽车电子技术的发展,为车辆性能和驾驶安全提供了强大的支持。
感谢您阅读本文,希望通过本文,您能更好地理解汽车CAN总线的作用和意义。
二、汽车can总线?
CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由以研发和生产汽车电子产品著称的德国BOSCH公司开发的,并最终成为国际标准(ISO 11898),是国际上应用最广泛的现场总线之一。
在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机械车辆设计的J1939协议。
三、如何进行汽车 CAN 总线开发?
1 有汽车电子工程师的地方就有CAN
智能网联汽车的浪潮席卷了全球背景下,大数据、云平台、人工智能、自动驾驶...早已成为汽车电子从业者耳熟能详的词汇。然而,诞生于1986 年的CAN总线技术却是经久不衰,生机勃勃。可以预见的是,在未来很长一段时间内CAN总线还是车载网络的主力军之一。
毫不夸张的说,CAN总线运用是每一位初入汽车电子工程的必修课,无论你是汽车电子硬件工程师、软件工程师,系统工程师,测试工程师,路测工程师,标定工程师......反正只要你属于汽车电子“搬砖”类工程师,你逃不了带着你的或是示波器、或是CAN OE,Vehicle spy趴在车内采集CAN数据,分析各种疑难杂症。没玩过CAN OE,Vehicle spy你都不好意思说自己做过汽车电子开发。
2 CAN基础知识的了解
既然是汽车电子工程师的必修课,就得扎实的学习,经历了数十年的发展与普及网络上关于CAN的材料可以说是数不胜数,大家可以网络检索,这里推荐一本本人学习时看的比较多的一份材料
CAN入门书 - 图文 - 百度文库该入门书源自于著名汽车芯片生产商Renesas(瑞萨),个人感觉该材料特点实战意义很强,比较适合实战开发中学习使用。
这里简单梳理书中的关键字、知识点:
(1)CAN网络
如图,CAN网络通常有N个节点组成,节点间呈总线式连接,每一个节点必须包含CAN收发器、CAN控制器、主控制CPU,(通常CAN控制器、主控制CPU为集成式方案)。较为常见的CAN通讯速率为500Kbps,125kbps,即行业内经常所谓的低速容错CAN和高速CAN,二者具有的不同的物理特性。
低速容错CAN:CAN_H或CAN_L仅有一根断开时,任可正常通讯,主要使用在对可靠性要求高的场合如车身控制CAN网络通道。
高速CAN:用于更高的数据吞吐能力,主要使用在对实时性、数据传输量大的场合,如汽车动力系统CAN通道等。
高速CAN VS 低速CAN(2)CAN帧分类
CAN的帧主要可分为数据帧、遥控帧、错误帧、过载帧、帧间隔。各种帧类型的用途如下表所示,作为数据传递的载体数据帧是最重要的,正常的控制命令、状态信息、诊断数据,刷新数据都是通过数据帧传递的。
(3)CAN数据帧的组成
要理解CAN,一定、绝对、千万不能不知道数据帧的组成,特别是要关注其中的仲裁段,数据段,如下图为标准帧(仲裁段为11bit)的帧格式组成,ID取值范围可为0x000~0x7FF;不同的厂家会将数据段进行区域划分,如(仅做示例):
0x00~0xFF:用于高优先级的事件性报文传送;
0x100~0x4FF:用于周期型报文的传送;
0x500~0x5FF:用于网络管理报文的传送;
0x600~0x6FF:用于调试开发、标定相关报文的传送;
0x700~0x7FF:用于诊断相关报文的传送;
扩展帧:
相对于上图的标准数据帧,还有扩展CAN 数据帧,CAN 数据帧中紧随SOF 位的是32 位的仲裁字段。仲裁字段的前11 位为29 位标识符的最高有效位(Most Significant bit,MSb)(基本lD) 。紧随这11 位的是替代远程请求(Substitute Remote Request, SRR)位,定义为隐性状态。SRR位之后是lDE 位,该位为隐性状态时表示这是扩展的CAN 帧。
3 汽车开发中CAN开发的主要内容
读完入门书,对CAN的概念有了一个初步的了解下面简单谈一下CAN开发的方面。
由于本人涉及较多的为软件类开发,对于硬件开发这里不做太多描述。
(1)CAN驱动开发
要实现CAN的收发必须先实现CAN驱动开发,CAN驱动开发主要包括:CAN控制器驱动开发和CAN收发器驱动,较为经典的NXP的TJA104X系列CAN收发器,大部分NXP MCU集成的flexCAN控制器。这部分开发更多的是阅读对应型号的CPU,控制器的芯片手册,结合示例代码,一句一句抠,一行一行敲,再配合示波器(逻辑分析仪),各类CAN工具进行反复摸索。
CAN收发器驱动的开发中最最关键的一部分工作就是了解收发器不同工作模式的切换方法,如下图TJA1043T收发器状态切换示意图,收发器工作时主要分为NORMAL Mode,STADBY Mode,GO-TO-SLEEP Mode,SLEEP Mode。
(2)CAN通讯矩阵
CAN通讯矩阵通常由整车厂完成定义,车辆网络中的各个节点需要遵循该通讯矩阵才能完成信息的交互和共享。
如图为vector工具打开XXX.dbc文件(常用的保存通信矩阵文件格式)后的示例,可以看到CAN报文Message1单次可传送8bytes,即64bits信息,64bits由多个signal组成,各个signal分布在message的不同位置,(示例)其中蓝色的openwindow可表示为车窗打开控制指令。
如:
①openwindow=0时,表示打开车窗,openwindow=1时,表示关闭车窗;
②vehiclespeed表示车速信息,vehiclespeed=5表示5km/h。
这里只做简单示例,实际汽车开发中还会涉及到一定的物理值与逻辑值的转换。
这样当Message1发送到CAN总线上时,接收到CAN节点的就能获取到此时的CAN控制指令或状态值。
值得注意的是在定义通讯矩阵时,不同的厂家可能会有不一样的选择,如:采用摩托罗拉格式还是英特尔格式不同的厂家的抉择就各有所爱。
Intel格式与Motorola格式的区别(3)基于CAN的车辆诊断
百科——汽车诊断:在不解体(或仅卸下个别零件)的条件下,确定汽车技术状况,查明故障部位及原因的检查。包括汽车发动机的检测与诊断,汽车底盘的检测与诊断,汽车车身及附件的检测与诊断以及汽车排气污染物与噪声的检测等内容。CAN就能很好的满足上述要求。
汽车诊断的开发是汽车电子电器开发中非常重要的一环,对于CAN诊断最为常见的是UDS。UDS协议即ISO14229,是Unified Diagnostic Services,统一诊断服务,是诊断服务的规范化标准,在汽车诊断方面广泛使用,如图,为满足诊断需求,UDS中定义了一系列的服务。
当然,为了确保诊断报文的稳定传输,还有ISO 15765协议是一种CAN总线上的诊断协议。
其中:
ISO 15765-1包括物理层和数据链路层,
ISO 15765-2对网络层进行说明,
ISO 15765-3则是规定到应用层的具体服务。
上述标准内容较为复杂,此处不做展开,决心要做好CAN开发的同学,尤其是CAN诊断的同学,熟读ISO14229,ISO 15765是不可避免的了。
(4)基于CAN的刷新
由于设计缺陷或者功能升级,车载控制器在生命周期内会有软件刷新的需求,作为控制器与外界几乎唯一的数据通道,车载控制器的软件刷新通常由CAN通道实现,基于CAN的刷新又与基于CAN的诊断息息相关。
(5)CAN网络管理
以后有机会再细聊,主要可分为OSEK网络管理,AUTOSAR网络管理。
4 进阶阶段-不得不提的AUTOSAR
AUTOSAR在汽车电子行业的知名度应该不会亚于“六神”在中国香水界的地位。简单的讲AUTOSAR是由全球汽车制造商(宝马、戴姆勒、福特...)、部件供应商及其他电子(大陆、博世...)、半导体和软件系统公司联合建立,各成员保持开发合作伙伴关系。自2003年起,各伙伴公司携手合作,致力于为汽车工业开发一个开放的、标准化的软件架构。
CAN作为汽车电子领域最为重要的通讯形式,AUTOSAR怎么可以不对CAN进行定义规范,可以说AUTOSAR的架构思想对现今的软件架构产生了重要影响,如图为初步整理的的AUTOSAR中关于CAN的相关模块及架构,可以清楚的看到其中由下至上系统的定义出了CAN驱动、接口层、传输层、CAN诊断、CAN网络管理等。
目前国内各大整车厂,零部件供应商也在积极推进AUTOSAR,所以要成为CAN进阶高手,绝对少不了好好认识AUTOSAR。
----不过AUTOSAR实在是博精深,以后有机会再一起深入学习,这里只抛砖引玉。
5 实干,实干,实干
《XX技术从入门到精通》,《手把手教你玩XXX》,《十天精通XXX》,相信这一类的书籍大家都早就耳闻,有幸者可能也拜读过一二,但是到底读完书能不能真的就精通了,或者玩转了?我相信光靠一本书的得道者微乎其微,毕竟不是每个人都是张无忌,随随便便捡到一本乾坤大挪移就能在数个时辰内练成神功。
实践出真知,实践是检验真理的唯一标准这些都是亘古不变的道理。要学好CAN我相信你少不了:
(1)一套CAN开发版,淘宝里该类型的开发版比比皆是,售价几十到几百不等;
(2)一个CAN数据读写工具,也能轻而易举的花个几百元够到,当然有项目条件或者家里有矿系列可以直接上vector的VN1640,英特佩兹的vehicle spy;
(3)逻辑分析仪(可选),不想把对于CAN帧的了解仅仅停留在纸面上,相对CAN进行更为底层了解的同学可以备一个逻辑分析仪。
然后就是在实践中检验真理,在实践中总结经验。
总结:
我个人觉得吧,对于CAN的学习可能分为以下几个层次(阶段):
★
了解、使用CAN:读一读CAN入门书,学习一下CAN工具,基本上你就能胜任CAN报文采集,刷新(使用);
★★
进一步掌握CAN的工作原理:在1的基础上搞一套开发版,读一读芯片手册,敲一敲代码,示波器测一测波形;
★★★
从事汽车CAN开发:在上述基础上,熟读各类CAN标准(ISO14229,ISO11898,ISO15765),系统学习CAN驱动,CAN诊断、CAN网络管理等知识,并在实战中不断提升认知,积累经验。
★★★★★
成为CAN大神:对AUTOSAR架构融会贯通,熟悉了解autosar中定义的各个CAN模块的功能,工作原理,实现方法。
题外话:CAN作为一项发展普及了数十年的技术,技术标准、工具练已经相当完善,虽然说CAN在未来很长一段时间内还将继续存在,但难免潜力不足;再说汽车网络技术也不乏众多后起之秀虎视眈眈,其中车载以太网可谓是最有潜力者,可多关注。
关于车载以太网推荐本人另一篇回答:
码字不易,欢迎赐赞,更多信息请点关注。
四、电动汽车can总线标准
在当今汽车工业快速发展的背景下,电动汽车作为一种清洁能源的代表,受到越来越多人的关注和青睐。随着电动汽车的普及,人们对其安全性和性能提出了更高的要求。而 电动汽车CAN总线标准 的制定和应用,则在一定程度上影响着电动汽车的性能、安全性以及整车系统的稳定性。
电动汽车CAN总线标准的概念和作用
电动汽车CAN总线标准,是指在电动汽车中用于数据通信的控制器局域网络总线标准。它起到了连接整车各个控制单元的桥梁作用,实现车载设备之间的数据交换和互联。通过CAN总线,车辆的各个部件可以实现之间的实时通信,实现数据的共享和协同工作。
在电动汽车领域,CAN总线标准的制定和应用,不仅可以提高整车系统的稳定性和可靠性,还能够简化车辆的电气布线,减少线束的使用量,从而降低整车的重量和成本。
电动汽车CAN总线标准的发展历程
随着电动汽车技术的不断进步和应用范围的扩大,电动汽车CAN总线标准也在不断完善和发展。最早的CAN总线标准是在20世纪80年代被提出的,经过多年的发展和演变,目前已经形成了一系列完善的标准和规范。
从最初的CAN 2.0标准到后来的CAN FD标准,电动汽车CAN总线标准不断适应着汽车电子系统的快速发展和不断增加的功能需求。同时,为了满足电动汽车对数据传输速率和稳定性的要求,还针对性地制定了适用于电动汽车的CAN总线标准。
电动汽车CAN总线标准的应用案例
电动汽车CAN总线标准的应用已经逐渐成为电动汽车行业的发展趋势。例如,在电动汽车的电池管理系统中,通过CAN总线实现对电池的实时监测和管理,确保电池系统的安全性和稳定性。
此外,电动汽车的驱动电机控制系统、充电管理系统、车载信息娱乐系统等,也都采用了CAN总线作为数据通信的接口,实现各个系统之间的协调运作,提高整车的性能和驾驶体验。
未来电动汽车CAN总线标准的发展方向
随着电动汽车的不断普及和发展,未来电动汽车CAN总线标准也将会朝着更高的性能和更广泛的应用方向发展。一方面,随着自动驾驶技术的逐步成熟和应用,电动汽车CAN总线标准可能会加强对数据安全和通信稳定性的要求。
另一方面,随着电动汽车的智能化水平不断提升,未来的CAN总线标准可能会更加注重数据传输效率和实时性,以满足对车辆性能和用户体验的更高要求。
总的来说,电动汽车CAN总线标准的发展不仅关乎整车系统的性能和可靠性,还直接影响着电动汽车的竞争力和市场地位。因此,电动汽车行业的各个相关方都应密切关注CAN总线标准的发展动态,推动行业标准的不断提升和完善。
五、can总线与canopen总线的区别?
CAN只定义了物理层与链路层,遵从ISO11898标准。
CANopen定义了应用层。CANopen是基于CAN总线的应用层协议,在开放的现场总线标准中CANopen是最著名和成功的一种。
“自动化CAN用户和制造商协会”(CiA,CANinAutomation),制定自动化CAN的应用层协议CANopen。
现场总线网络一般只实现了第1层(物理层)、第2层(数据链路层)、第7层(应用层)。因为现场总线通常只包括一个网段
六、汽车can总线由谁供电?
CAN总线靠CAN收发电路驱动的,譬如通常给82C250供电,就可以驱动CAN通讯了。但是考虑到抗干扰的问题,有事回单独给CAN收发电路供电,TX和RX用光耦隔离。
CAN线就是双绞线,绞在一起的目的是防止外界对它的干扰。CAN线是汽车各种不同功能电脑之间的通讯用的。如果汽车上报跟CAN通讯相关的故障,可以直接对它进行检测。
七、CAN总线智能照明接线原理?
CAN总线智能照明接线的原理:以广播的形式发送报文.当CAN总线上的某个节点需要给其他节点发送消息时,会以广播的形式发送给总线上所有的节点,因为总线上的节点不适用地址来进行配置CAN系统,而是根据报文的开头的11位标识符决定是否要接受其他节点发来的报文.(面向内容的编制方案)
每个节点都有自己的处理器和CAN总线接口控制器
八、汽车can总线应用层协议
汽车CAN总线应用层协议: 实现车辆网络通信的关键技术
CAN(Controller Area Network)总线是一种被广泛应用在汽车电子系统中的通信协议。它通过一种先进的技术,实现了车辆内部各个控制单元之间的高效通信,为车辆的电子化和智能化提供了可靠的基础。而CAN总线的应用层协议则是保证这一通信过程顺利进行的关键。
在汽车电子系统中,不同的控制单元负责着不同的功能,如发动机控制单元、制动系统控制单元、安全气囊控制单元等。而这些控制单元之间的信息交互需要快速、可靠地进行,以保证车辆的正常运行和驾驶安全。CAN总线应用层协议就是为了满足这一需求而被设计出来的。
CAN总线应用层协议的基本特点
CAN总线应用层协议基于CAN总线物理层的特点,采用了一种高效的通信方式,具有以下几个基本特点:
- 面向事件的通信机制:CAN总线应用层协议使用事件驱动的方式进行通信,只有在需要发送或接收信息的时候才会进行通信,而不需要周期性地进行通信,从而减少了系统的通信负担,提高了通信效率。
- 支持多帧类型:CAN总线应用层协议支持多种不同类型的数据帧,如数据帧、远程帧、错误帧等,可以根据具体需求选择合适的帧类型进行数据传输。
- 可靠性高:CAN总线应用层协议采用了一系列的错误检测和纠正机制,如CRC校验和冗余帧等,可以有效地保证数据的可靠传输,提高了系统的可靠性。
- 扩展性强:CAN总线应用层协议支持数据的扩展,可以根据实际需求添加新的数据类型和数据帧格式,使得系统具有更强的扩展性。
CAN总线应用层协议的工作原理
CAN总线应用层协议的工作原理可以简单地描述为以下几个步骤:
- 信息发送:当某个控制单元需要发送信息时,它会首先检查总线是否空闲,然后将信息添加到发送缓冲区中,等待发送。
- 信息传输:CAN总线应用层协议采用了一种分布式的仲裁机制,当多个控制单元同时发送信息时,会通过仲裁来确定哪个消息具有优先权。具有优先权的消息将被发送,而其他消息需要等待。
- 信息接收:当某个控制单元接收到信息时,它会首先检查信息的合法性和完整性,然后将信息添加到接收缓冲区中,等待处理。
- 信息处理:接收到的信息会被相应的控制单元进行处理,根据具体的需求进行相应的操作,如控制发动机、操控制动系统等。
CAN总线应用层协议的应用
作为汽车电子系统中的重要通信协议,CAN总线应用层协议在汽车行业中得到了广泛的应用。
首先,在车辆内部,CAN总线应用层协议实现了各个控制单元之间的快速、可靠的通信,使得各个系统能够协同工作,从而提高了车辆的性能和安全性。例如,发动机控制单元可以实时地监测发动机的工作状态,并根据需要进行相应的调整,以实现燃油经济性的提高和排放的控制;制动系统控制单元可以通过CAN总线接收来自其他传感器的信息,实现对制动力的精确控制,提高制动效果。
其次,在车辆外部,CAN总线应用层协议也可以实现车辆和车辆之间的通信,从而实现车辆之间的协同工作。例如,当一辆车遇到紧急情况需要紧急制动时,它可以通过CAN总线向周围的车辆发送相应的信息,提醒其他车辆做出相应的反应,从而避免交通事故的发生。
总结
CAN总线应用层协议作为一种实现车辆网络通信的关键技术,为汽车电子化和智能化提供了可靠的基础。它具有面向事件的通信机制、支持多帧类型、可靠性高和扩展性强等基本特点,通过分布式的仲裁机制实现信息的发送和接收,并在车辆内部和车辆之间实现了高效的信息交互,提高了车辆的性能和安全性。
随着汽车电子技术的不断发展和普及,CAN总线应用层协议在未来将会得到更广泛的应用。它将继续为汽车行业带来新的技术突破和创新,推动车辆的智能化和网络化发展。
九、高速CAN总线与低速CAN总线有什么信号不同?
虽然二者的都属查分信号,但通信方式不一样。 CAN是多主结构,容错性能好,中间节点如遇故障可自动退出,不影响其它节点的通信; 而RS485是一主多从结构,通信速率较高,但容错性较差,中间节点一旦出现故障会影响下一站的通信。 此外,CAN的电流较RS485大,不具备本安特征。 相同距离下,CAN总线电缆要比RS485电缆要粗一些。
十、can总线与plc区别?
CAN总线和PLC是两个不同的概念,它们之间存在一些区别。下面是CAN总线和PLC的主要区别:
功能和应用范围:CAN总线是一种通信协议,用于在不同设备之间进行数据传输和通信,主要应用于汽车、工业自动化等领域。而PLC(可编程逻辑控制器)是一种专门用于控制和监控自动化系统的设备,广泛应用于工业控制领域。
数据传输方式:CAN总线采用串行通信方式,通过双线传输数据,具有较高的传输速度和抗干扰能力。而PLC通常使用并行或串行通信方式,根据具体的通信接口和协议进行数据传输。
系统结构:CAN总线是一种分布式系统结构,多个设备通过总线连接,可以实现设备之间的数据交换和通信。而PLC通常是一种集中式控制系统,由中央处理器和各种输入输出模块组成,通过编程控制各个模块的工作。
编程方式:CAN总线的编程相对较为复杂,需要使用特定的编程语言和工具进行开发。而PLC通常采用类似于 ladder diagram(梯形图)的图形化编程语言,更加易于理解和使用。
总的来说,CAN总线是一种通信协议,用于设备之间的数据传输和通信,而PLC是一种专门用于控制和监控自动化系统的设备。它们在功能、应用范围、数据传输方式、系统结构和编程方式等方面存在一些区别。