一、can 总线?
CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由以研发和生产汽车电子产品著称的德国BOSCH公司开发的,并最终成为国际标准(ISO 11898),是国际上应用最广泛的现场总线之一。
在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机械车辆设计的J1939协议。
二、vw can总线标准
什么是 VW CAN 总线标准?
在汽车行业中,VW CAN 总线标准是指大众汽车集团制订的用于其车辆内部通信的控制器局域网络(CAN)标准。CAN 总线技术是现代汽车中广泛使用的一种通信协议,它允许车辆内部各个电子控制单元(ECU)之间进行数据交换和通信。
VW CAN 总线标准作为一种特定于大众汽车的标准,规定了数据传输的格式、速率、网络拓扑结构等细节,以确保车载系统之间的稳定通信和协同工作。
为什么 VW CAN 总线标准重要?
车辆内部的各种功能和系统,如发动机控制单元、防抱死制动系统、空调控制等,都需要通过CAN 总线进行数据交互和协调工作。遵循统一的标准可确保不同厂家生产的设备和系统在大众汽车中能够无缝集成和协同工作。
VW CAN 总线标准的制定和遵循有助于提高汽车系统的稳定性、互操作性和安全性,减少因数据传输错误或不一致引起的故障和问题,从而提升车辆的整体性能和可靠性。
VW CAN 总线标准的优势和特点
- 统一标准:VW CAN 总线标准统一了大众汽车集团旗下各款车型的数据通信标准,确保不同车型之间的兼容性和互操作性。
- 稳定可靠:采用统一的标准可降低系统集成过程中的错误和故障风险,提升车辆系统的稳定性和可靠性。
- 易于维护:遵循统一的标准可降低维护和维修成本,简化对车辆电子系统的故障诊断和排除。
- 未来扩展性:VW CAN 总线标准注重长期性和未来发展的考量,为新技术和功能的集成留出了空间和可能。
VW CAN 总线标准的发展趋势
随着汽车电子技术的不断发展和更新,VW CAN 总线标准也在不断演进和完善。未来的发展趋势可能包括:
- 更高速率:随着数据交换需求的增加,未来的CAN 总线标准可能会提高传输速率,以满足更复杂系统之间的高速数据通信需求。
- 更智能化:未来的VW CAN 总线标准可能会引入更多智能化功能,如数据加密、网络安全等,以提升系统的安全性和抗干扰能力。
- 更广泛应用:VW CAN 总线标准可能会扩大其适用范围,涵盖更多车型和汽车子系统,以适应未来汽车电子化发展的需求。
结语
VW CAN 总线标准作为大众汽车集团的通信标准,对于提高汽车系统的稳定性、可靠性和互操作性具有重要意义。随着汽车电子技术的不断发展,VW CAN 总线标准的发展和完善将持续推动汽车行业向更智能、更安全、更高效的方向发展。
三、如何进行汽车 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 2.0版本到现在的CAN FD(Flexible Data Rate)版本,不断提升了通信速率和数据传输效率,适应了现代汽车电子系统复杂性和数据量大的特点。CAN总线不仅在传统燃油车型中得到广泛应用,也在新能源汽车、自动驾驶等领域展现出强大的潜力和应用前景。
Can总线的优势
CAN总线作为一种成熟、稳定的通信技术,在汽车电子系统中具有诸多优势。首先,CAN总线具有抗干扰能力强、可靠性高的特点,能够确保各个电子控制单元之间的稳定通信,保障车辆系统的正常运行。其次,CAN总线采用串行通信方式,节省了线束空间,降低了汽车电子系统的复杂度和成本。此外,CAN总线支持多点连接和热插拔功能,方便设备的扩展和维护,提高了汽车电子系统的可扩展性和可靠性。
另外,CAN总线还具有高效的数据传输机制,能够实现实时性和同步性要求,满足车辆电子系统对数据传输速率和精度的需求。在复杂的车联网环境中,CAN总线能够确保数据的安全性和可靠性,有效防止信息泄露和攻击。总的来看,CAN总线的优势在于其稳定性、可靠性、高效性和安全性,为汽车电子系统的发展提供了坚实的基础和支撑。
Can总线的挑战
尽管CAN总线技术具有诸多优势,但其在面对日益复杂的汽车电子系统和车联网环境时也面临一些挑战。首先,随着汽车功能的不断扩展和增加,CAN总线的带宽和数据传输速率可能无法完全满足高性能、大数据量的需求,造成通信瓶颈和性能瓶颈。其次,CAN总线在安全性方面存在一定的漏洞和风险,可能受到黑客攻击和恶意软件的威胁,导致车辆系统的安全性受到威胁。
另外,CAN总线作为一种基于广播通信的协议,存在数据冲突和混乱的问题,可能影响整个系统的稳定性和可靠性。随着自动驾驶技术和车联网技术的快速发展,CAN总线在实时性和数据处理能力上也面临挑战,需要不断优化和改进以适应新的应用场景和需求。因此,如何弥补CAN总线在带宽、安全性、实时性等方面的不足,是当前亟待解决的问题之一。
Can总线的发展趋势
面对复杂多变的汽车电子行业,CAN总线技术在未来的发展中将呈现出一些新的趋势和特点。首先,随着新能源汽车、自动驾驶技术、车联网技术的快速发展,CAN总线将逐渐向高速、高带宽、高安全性的方向演进,以满足不断增长的数据传输需求和实时控制需求。
其次,随着汽车电子系统的不断智能化和互联化,CAN总线可能会与其他通信协议(如Ethernet、FlexRay等)进行融合和优化,实现更加高效、灵活的数据通信方式,提高汽车电子系统的整体性能和响应速度。此外,CAN总线可能会引入一些新的安全机制和加密技术,加强对数据传输的保护和防护,确保车辆系统的安全性和稳定性。
最后,随着5G技术的广泛应用和车联网技术的不断成熟,CAN总线可能会与5G技术相结合,实现车辆对车辆(V2V)、车辆对基础设施(V2I)的实时通信,推动汽车智能化和自动化水平的进一步提升。总的来看,CAN总线在未来的发展中将朝着高速化、智能化、安全化的方向不断演进,为汽车电子系统的发展注入新的活力和动力。
五、CAN总线技术?
CAN总线的全称是控制器局域网络,在工业控制和汽车领域都有广泛的应用。
CAN总线传输信号的方式与常见的rs 485总线及其类似,线缆的形制、节点数和传输距离基本相同,但RS485是主从结构半双工通讯,而CAN是无主结构的半双工通讯,然而因为使用了特殊的通讯协议和仲裁方式,表面上看起来can通讯更像是全双工通讯,所以从编程者的角度上看,can总线的使用要比485灵活很多。
六、can总线意义?
CAN(Controller Area Network)总线是一种常用于实时控制和通信的串行通信协议,最早由德国的Bosch公司开发。CAN总线在汽车、工业控制、航空航天等领域被广泛应用,它的主要意义包括以下几个方面:
1. 实时通信能力:CAN总线具有实时性能,可以在微秒级别进行通信,适用于实时控制系统。它使用基于事件驱动的机制,能够快速地传输数据,保证了系统的实时性。
2. 带宽利用率高:CAN总线采用了多主机和广播方式进行通信,多个节点可以在同一总线上进行通信,共享带宽。它使用了非争用性的冲突检测和重传机制,可以有效避免数据冲突,使得总线通信的带宽利用率高。
3. 网络拓扑灵活:CAN总线支持总线和星型拓扑结构,可以根据不同的应用需求进行选择。总线拓扑结构适用于多节点的通信,而星型拓扑结构适用于更加简单的应用场景。
4. 抗干扰性强:CAN总线采用差分信号传输方式,在传输过程中可以有效地抵抗电磁干扰和噪声。此外,CAN总线还具有错误检测和错误管理机制,能够自动检测并纠正数据传输过程中可能出现的错误。
5. 适用于复杂系统:CAN总线支持多节点、分布式和分级管理的系统结构,可以方便地扩展和添加新的节点。它可以同时传输不同类型的数据,如实时数据、诊断信息和控制命令,适用于复杂系统中多种类型的通信需求。
总的来说,CAN总线具有实时通信能力、高带宽利用率、网络拓扑灵活、抗干扰性强和适用于复杂系统的特点,可以满足多种应用领域对于高效、可靠通信的需求。
七、can总线拥堵?
在CAN通信中,使用某个固定波特率的情况下,总线的通信流量就将是一个固定值,比如使用1Mbps的波特率,则该总线上100%负载率就是1秒的时间内可传输1Mbit的数据。
当总线的平均利用率达到70%以上时,总线的通信将有可能出现拥堵的现象,极端情况下将有可能造成错误帧的出现,所以对于CAN通信需要严格控制好通信的负载率。 我平时做程序开发时使用USBCAN-2E-U这款CAN卡配合其专用的CANTEST软件做的一个测试截图,可以直接通过曲线的变化来实时监控我总线上的实际通信流量,以使我可以很方便的处理好程序中数据发送的时序问题。
八、汽车can总线?
CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由以研发和生产汽车电子产品著称的德国BOSCH公司开发的,并最终成为国际标准(ISO 11898),是国际上应用最广泛的现场总线之一。
在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机械车辆设计的J1939协议。
九、can总线原理?
原理如下
CAN总线原理是指,以广播的形式发送报文.当CAN总线上的某个节点需要给其他节点发送消息时,会以广播的形式发送给总线上所有的节点,因为总线上的节点不适用地址来进行配置CAN系统,而是根据报文的开头的11位标识符决定是否要接受其他节点发来的报文。
十、can总线故障?
汽车电源系统引起的故障:汽车电控模块的工作电压一般在10.5-15.0V,如果汽车电源系统提供的工作电压不正常,就会使得某些电控模块出现短暂的不正常工作,这会引起整个汽车CAN总线系统出现通信不畅。
汽车CAN总线系统的链路故障:当出现通信线路的短路、断路或线路物理性质变化引起通信信号衰减或失真,都会导致多个电控单元工作不正常,使CAN总线系统无法工作。
汽车CAN总线系统的节点故障:节点是汽车CAN总线系统中的电控模块,因此节点故障就是电控模块的故障。 它包括软件故障即传输协议或软件程序有缺陷