返回首页

汽车can总线?

275 2024-03-12 18:20 admin

一、汽车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你都不好意思说自己做过汽车电子开发

vector VN1640 CAN工具
can oe界面
vehicle spy CAN工具
vehicle spy界面

2 CAN基础知识的了解

既然是汽车电子工程师的必修课,就得扎实的学习,经历了数十年的发展与普及网络上关于CAN的材料可以说是数不胜数,大家可以网络检索,这里推荐一本本人学习时看的比较多的一份材料

CAN入门书 - 图文 - 百度文库

该入门书源自于著名汽车芯片生产商Renesas(瑞萨),个人感觉该材料特点实战意义很强,比较适合实战开发中学习使用。

这里简单梳理书中的关键字、知识点:

(1)CAN网络

如图,CAN网络通常有N个节点组成,节点间呈总线式连接,每一个节点必须包含CAN收发器CAN控制器、主控制CPU,(通常CAN控制器、主控制CPU为集成式方案。较为常见的CAN通讯速率为500Kbps,125kbps,即行业内经常所谓的低速容错CAN和高速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工具进行反复摸索。

NXP 某芯片FlexCan相关主要寄存器
TJA1043T示意图(来自NXP官网截图)

CAN收发器驱动的开发中最最关键的一部分工作就是了解收发器不同工作模式的切换方法,如下图TJA1043T收发器状态切换示意图,收发器工作时主要分为NORMAL Mode,STADBY Mode,GO-TO-SLEEP Mode,SLEEP Mode。

TJA1043T收发器状态切换示意图(来自NXP官网截图)

(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控制指令或状态值。

dbc文件中message1的示意图

值得注意的是在定义通讯矩阵时,不同的厂家可能会有不一样的选择,如:采用摩托罗拉格式还是英特尔格式不同的厂家的抉择就各有所爱。

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是不可避免的了。

基于CAN诊断的协议示意图

(4)基于CAN的刷新

由于设计缺陷或者功能升级,车载控制器在生命周期内会有软件刷新的需求,作为控制器与外界几乎唯一的数据通道,车载控制器的软件刷新通常由CAN通道实现,基于CAN的刷新又与基于CAN的诊断息息相关。

(5)CAN网络管理

以后有机会再细聊,主要可分为OSEK网络管理,AUTOSAR网络管理。


4 进阶阶段-不得不提的AUTOSAR

AUTOSAR在汽车电子行业的知名度应该不会亚于“六神”在中国香水界的地位。简单的讲AUTOSAR是由全球汽车制造商(宝马、戴姆勒、福特...)、部件供应商及其他电子(大陆、博世...)、半导体和软件系统公司联合建立,各成员保持开发合作伙伴关系。自2003年起,各伙伴公司携手合作,致力于为汽车工业开发一个开放的、标准化的软件架构

AUTOSAR联盟创始成员

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总线是一种差分信号传输方式,每个CAN信号都是由CAN高和CAN低两个信号线组成的一个差分信号,可以通过这两个信号线的电平状态来区分。在CAN总线系统中,由于CAN高和CAN低是一对信号,需要同时对其进行测试,以确保信号传输的可靠性。常见的测试方法包括使用示波器或者专业的诊断工具来监测信号电平和波形,以判断CAN高和CAN低的状态是否正常。此外,也可以使用特定的测试仪器来对CAN总线进行测试,对其性能进行评估和优化。

四、汽车can是什么?

Can-Bus总线技术是“控制器局域网总线技术(Controller Area Network-BUS)”的简称,它具有极强的抗干扰和纠错能力,最早被用于飞机、坦克等武器电子系统的通讯联络上。

通过遍布车身的传感器,汽车的各种行驶数据会被发送到“总线”上,这些数据不会指定唯一的接收者,凡是需要这些数据的接收端都可以从“总线”上读取需要的信息。

Can总线的传输数据非常快,可以达到每秒传输32bytes有效数据,这样可以有效保证数据的实效性和准确性。

传统的轿车在机舱和车身内需要埋设大量线束以传递传感器采集的信号,而Can-Bus总线技术的应用可以大量减少车体内线束的数量,线束的减少则降低了故障发生的可能性。可以去看看虹科电子开的培训班,希望能对你有所帮助,谢谢~

五、什么是汽车CAN?

汽车CAN(Controller Area Network,控制器局域网)是一种用于车辆之间和车辆内部通信的标准化协议。它是由德国Bosch公司于1986年推出的,现在已成为全球汽车行业中的通用通信协议。

CAN总线系统主要由两个方面组成:CAN总线控制器和一些CAN节点。CAN总线控制器是负责控制CAN通讯的硬件,它将来自多个CAN节点的通讯数据封装成一个统一消息,然后将这个消息广播到所有节点。CAN节点是指连接在总线上的所有设备,它们可以是各种传感器、执行器、显示器和控制器等。

CAN协议在汽车领域中的应用非常广泛,包括发动机控制、变速器控制、仪表盘控制、车身电子控制等方面。它可以集成各种不同的系统和设备,提高汽车的性能和安全性。同时,车辆制造商和技术人员可以使用CAN总线系统来进行车辆故障诊断和调试等工作,大大提高了汽车制造和维护的效率。

六、汽车CAN通讯原理?

汽车CAN通讯采用控制器局域网(CAN)总线,通过CAN控制器和CAN收发器实现车内各个电子设备之间的数据交换。

CAN总线采用差分传输方式,具有抗干扰性强、传输速率快、可靠性高等优点,广泛应用于汽车电子系统中,如发动机管理、车身控制、安全系统等,提高汽车的性能和安全性。

七、汽车行业can

汽车行业的发展和前景

汽车行业是现代社会中不可或缺的一部分,随着经济的不断发展和人民生活水平的提高,汽车的需求量也在不断增加。汽车行业不仅是一项重要的制造业,也是一个重要的经济支柱和就业机会提供者。

中国是世界上最大的汽车市场之一,且处于汽车行业的快速发展阶段。随着国内经济的快速增长和城市化进程的加速,越来越多的人开始购买汽车。汽车行业正在蓬勃发展,为经济增长做出了重要贡献。

汽车行业的发展趋势

随着科技的进步和人们对环境的关注,汽车行业正朝着可持续发展方向发展。其中一大趋势是推动电动汽车和新能源汽车的发展,以减少对传统燃油资源的依赖,降低污染物排放。新能源汽车的兴起,给中国汽车行业带来了全新的机遇和挑战。

在技术方面,汽车行业正在经历一次革命性的变革。自动驾驶技术、人工智能和互联网的应用,正改变着汽车的使用方式和交通系统。未来,驾驶员将享受更智能化的驾驶体验,汽车将成为一个更安全、更舒适、更智能的移动空间。

汽车行业的挑战与机遇

尽管汽车行业发展迅猛,但也面临着一些挑战。一方面,随着市场竞争的激烈和消费者需求的不断变化,汽车厂商需要不断创新,提高产品质量和竞争力。另一方面,环保压力和政府监管的加强,也要求汽车企业加大研究及发展环保技术,减少对环境的影响。

然而,这些挑战也带来了机遇。汽车行业的发展需要各方共同努力,推动科技创新和绿色发展。新能源汽车市场的崛起,为企业提供了更多的机会。中国政府也出台了一系列支持政策,鼓励研发和生产创新型汽车,引导汽车行业朝着可持续发展的方向前进。

汽车行业的未来展望

展望未来,汽车行业正面临着更广阔的发展空间。随着技术的不断推进和人们对高品质生活的追求,汽车将逐渐成为人们生活中不可或缺的一部分。智能化、电动化、共享化将成为汽车行业发展的关键词。

智能化将带来更多的便利和舒适,使汽车成为人们的个人助手。人工智能技术将赋予汽车更强大的处理能力和智慧,将成为人们出行、娱乐和工作的伙伴。

电动化将推动新能源汽车的全面普及。随着电池技术的进一步改进和充电桩建设的完善,电动汽车的续航里程将大幅提高,充电时间将进一步缩短。这将有效解决传统燃油车的环境问题,并提升人们对汽车的使用体验。

共享化是未来汽车行业的一个重要趋势。共享汽车的兴起,改变了人们对汽车拥有与使用的观念,节约了资源和空间。人们可以根据自己的需求,随时随地租用汽车,这不仅方便了出行,也减少了交通拥堵。

总结

汽车行业作为现代化工业的重要组成部分,对国民经济发展和社会进步具有重要意义。随着科技的不断进步和人们对环保的追求,汽车行业正面临着前所未有的机遇和挑战。

中国作为全球最大的汽车市场之一,正在积极引导汽车行业向着可持续发展的方向迈进。在政府的支持下,汽车企业应加大研发投入,推动技术创新,提高产品质量和竞争力。只有在科技创新和绿色发展的道路上不断前行,汽车行业才能健康发展,并为社会经济发展做出更大贡献。

八、汽车大灯can高can低怎么控制大灯?

1、方法一:旋转车内大灯高度调节按钮,现在绝大部分的车都有大灯高度可调功能。驾驶室里有一个大灯高度调节按钮,坐在驾驶位上,一边旋转按钮,一边观察灯光。可以看到明显的变化,操作简单,调到觉得合适的位置就好,这个按钮同时控制左右前大灯。

2、方法二:调节大灯总成微调按钮,少数车型没有大灯高度可调功能,也就没有大灯高度调节按钮,但大灯总成上的微调按钮一定有。车下面红圈内的两个白色按钮即为微调按钮,用内六角扳手旋转扭动即可看到光形变化,调整好位置就可以。

九、汽车CAN有哪些功能?

CAN总线是对汽车中标准的串行数据传输系统的习惯叫法。CAN的英文全称是:Controller Area Network,意思是区域网络控制器,最早是用于智能化住宅小区的信息传输,总线则源自计算机,因为其功能和计算机中的“BUS”类似。

十、汽车can 挡位设置?

电子换挡器已逐渐成为车辆标配,换挡器可以将车辆切换至前进挡、倒车挡、空挡、停车挡以及手动挡等,当前并无其他方式能够脱离换挡器控制车辆实现各挡位(前进挡、倒车挡、空挡等)之间的切换,换挡器不可或缺,导致车辆较多的成本、重量,且空间占用多。

一种车辆挡位切换方法,所述车辆包括第一换挡输入装置和第二换挡输入装置,该方法包括:检测所述车辆的当前挡位;基于所检测的当前挡位,根据接收到的所述第一换挡输入装置的信号和/或所述第二换挡输入装置的信号,以及所述车辆的辅助信号控制所述车辆的挡位从所述当前挡位切换至目标挡位。

CAN总线通信协议的每一帧可以看作一连串的电平信号,每一个电平信号代表一位,一帧中包含很多位,由发送单元在非同步的情况下发送的每秒钟的位数称为位速率;一位可分为4段:同步段(SS)、传播时间段(PTS)、相位缓冲段1(PBS1)、相位缓冲段2(PBS2);