本文为臭皮匠试验室(同微信号)观点转载请请注明出处,今天小编就来聊一聊关于电动汽车can总线系统由什么组成?接下来我们就一起去研究一下吧!
电动汽车can总线系统由什么组成
本文为臭皮匠试验室(同微信号)观点。转载请请注明出处。
之前在文章《电动汽车动力总成解读︱模拟世界与数字世界》中提到的,我们所处的世界,是一个由用无限多种颜色、无数种音调,无数种气味绘制而成的世界,所有的这些元素都可以理解成一个模拟信号,他们是构建这个世界的元素。而CAN总线技术(Controller Area Network),类似于我们的神经系统,遍布于我们身体的各个部分,通过某种规则,与身体的各个节点之间交互,接收和发送信息,从而感受世界、改造世界。今天我们就来聊聊上80年代由BOSCH公司开发的CAN总线技术。
▼
文章结构如下:
1. 什么是CAN总线技术?
2. 为什么需要CAN总线?
3. 为什么是Can总线被广泛应用?
4. CAN总线报文是如何传输的?(传输方式)
4.1 CAN报文/信号/物理量
4.2 模拟信号与数字信号
4.3 CAN总线物理结构
4.4 传输方式
5. CAN协议帧结构
6. OSI网络结构与AUTOSAR架构
6.1 OSI网络结构
6.2 AUTOSAR架构
7. CAN报文的发送、确认和接收
7.1 报文的发送、确认
7.2 报文的接收
1. 什么是CAN总线技术?
CAN,即Controller Area Network,二十世纪八十年代由BOSCH公司为解决现代汽车中众多ECU之间的数据交换而开发的一种单工穿行通信协议。
可以将CAN总线理解成我们的神经系统,它遍布于我们身体的各个部分,通过某种规则,与身体的各个节点之间交互,发送或接收消息。
也可以将其理解成电话会议,一旦某一节点有发送请求,该信息将输入网络,其他节点共同接收,接收节点判断是否使用该信息。
备注: 单工 , 指 同一时间,只能有一个ECU单元向总线发送数据,而其他ECU只能做为接收节点。
2. 为什么需要CAN总线?
正如之前在文章《电动汽车动力总成解读︱模拟世界与数字世界》中提到的,我们所处的世界,是一个由用无限多种颜色、无数种音调,无数种气味绘制而成的世界,所有的这些元素都可以理解成一个模拟信号,他们是构建这个世界的元素。
而人类,作为高级动物,正式通过相互交流、合作,对这个世界进行了改造。将这一概念放到汽车上:人类通过文字、声音、图像来交流,为了提升交流效率,诞生了“网络”技术;汽车不同部件之间则通过线束来实现,同样,为了提升信息交换的效率、简化系统,诞生了“总线”技术。
3. 为什么是CAN总线被广泛应用?
早期的网络结构有很多,为什么CAN总线技术得以推广应用,主要以下几点原因:
4. CAN总线报文是如何传输的?(传输方式)
4.1 CAN报文/信号/物理量
介绍之前先对CAN报文/信号/物理量的概念做下区分,三句话概括:
4.2 模拟信号与数字信号
之前我们介绍过模拟信号与数字信号,详见文字《电动汽车动力总成解读︱模拟世界与数字世界》。
我们所处的世界,是一个由用无限多种颜色、无数种音调,无数种气味绘制而成的世界,所有的这些元素都可以理解成一个模拟信号,他们是构建这个世界的元素。ECU之间通过CAN总线的通讯过程,与人类通过音频、视频的过程是一样的,即数字量与模拟量之间的转换。
4.3 CAN总线物理结构
如下图所示为CAN总线物理结构,基本形式为: CAN_H CAN_L 各个节点(Nodes)。
其中,
CAN_H/CAN_L:以双绞形式缠绕;
节点:CAN收发器(Transceiver) CAN控制器(Controller),控制器的 Tx 发送端脚、Rx 接收端脚,而收发器直接连接在双绞线上。
CAN总线上的信号,即为电压形式表现的差分信号,由 CAN_H和CAN_L两根信号线组成,分为显性电平(dominant)和隐性电平(recessive)两种类型。其中显性电平规定为逻辑0,隐性电平则为逻辑1,如下图所示。
4.4 传输方式
当CPU需要发送数据时候,CAN Controller给Transceiver传送需求的数据,CAN Transceiver将其发送给CAN 总线,通过CAN_H和CAN_L两根线实现整车各ECU节点之间的串联,接收数据类似过程。
综上,整车ECU各节点之间CAN总线的通讯方式,简单理解如下:
了解了CAN总线上报文的传递方式和逻辑电平序列的应用,那么这些逻辑电平序列要如何使用呢?
5. CAN协议帧结构
为了说明上述逻辑电平序列的使用方式,需要了解CAN协议帧的结构。
CAN协议标准里对这些逻辑点评序列做了定义,使这些数据字段有了灵魂,标准中对CAN协议帧的定义有以下4种类型:
简单来讲,正式通过上述对报文信号协议帧的规范,使我们ECU之间的通讯定位准确、逻辑清楚、信息完善、响应及时、鲁棒性高,限于篇幅,具体帧结构的展开形式和应用方法本文不做详细介绍,感兴趣的可以自行搜索,如有时间我也会再做总结。
通讯逻辑和方法已大致了解,那么具体要怎么实现CAN通讯功能呢?
6. OSI网络结构与AUTOSAR架构
为了满足软件的可以执行、可扩展性和安全性能等,我们引入基于OSI网络结构的AUTOSAR架构,如下图所示。
6.1 OSI网络结构
OSI网络结构定义如下,其核心目的时为了将协议、服务和接口明确区分,解决异种节点互联时的兼容性问题。
对于车规级CAN网络通讯,只对 物理层、数据链路层、应用层 做了逻辑上定义,其他暂无需关注。
6.2 AUTOSAR架构
下图为基于OSI网络结构的AUTOSAR架构中的通讯站。可以看出,HW访问只有通过Driver实现,CAN If模块与其对接,同时,CAN If统一管理与service层的通讯,通过PDUR路由到更多上层模块,减少了接口。
7. CAN报文的发送、确认和接收
7.1 报文的发送、确认
简单来讲,报文发送的过程,即用户向服务提供者发出请求(request),然后提供者向用户确认请求结果(confirm)的过程,如下图所示:
详细说明下这一过程:
其中1~5为发送阶段,6~10为确认阶段,其中具体的函数调用规则和定义可参见《AUTOSAR- Specification of CAN Interface》。
7.2 报文的接收
报文接收的过程,即服务提供者通知所服务用户的过程(indication),过程与上述确认过程类似,这里不做赘述。
以上就是关于CAN总线技术的基本内容,实际应用中会涉及很多细节,标准中对应章节有规范,对某一方面感兴趣或者有疑问的读者可以后台留言,欢迎交流。