1. 车载网络概述
1.1 车载网络起源
20世纪90年代前,传统汽车中的各个模块采用点对点的通讯方式,越到后期,材料成本和工作效率都满足不了要求了。
为了满足现代汽车的发展,运用微处理器和车载网络技术是最佳解决方法,且以及得到了广泛的运用。
这些系统被称为ECU (Electronic Control Unit,电子控制单元)。
常见的ECU有
- ABS (防抱死系统)
- EBD (制动力分配系统)
- EMS (引擎管理系统)
- 多功能数字化仪表
- 主动悬架
- 导航娱乐系统
- 电子防盗系统
- 自动空调
- 等等
1.2 CAN总线概述
CAN (Controller Area Network,控制器局域网络)最初由德国的Bosch(博士)公司为汽车监测、系统控制而设计的。
由于其高性能、高可靠性和独特的设计,它在汽车领域得到了广泛的应用,世界上几乎所有的汽车制造厂商都在使用。
1.2.1 CAN总线的特点
CAN总线是一种串行数据通讯协议。
CAN 总线的特点主要包括以下几个方面:
- 多主通信:CAN 总线允许多个节点同时发送和接收数据,实现多主通信,提高了系统的灵活性和实时性。
- 可靠性高:CAN 总线采用了多种错误检测和处理机制,如 CRC 校验、错误帧自动重发等,保证了数据传输的可靠性。
- 实时性强:CAN 总线的通信速率较高,可以满足实时性要求较高的应用场景。
- 抗干扰能力强:CAN 总线采用了差分信号传输方式,具有较强的抗干扰能力,能够在恶劣的电磁环境下正常工作。
- 连接简单:CAN 总线的连接方式简单,只需要两根信号线即可实现多个节点之间的通信,降低了系统的成本和复杂度。
- 可扩展性好:CAN 总线可以通过增加节点数量和改变网络拓扑结构来扩展系统的规模,具有良好的可扩展性。
这些特点使得 CAN 总线在汽车电子、工业自动化、航空航天、智能机器人等领域得到了广泛的应用。
1.3 LIN总线概述
LIN(Local Interconnect Network,局域互联网络)是专门为汽车开发的一种低成本串行通讯网络,是对现有汽车多元化网络的一个补充。LIN 可以让机动车网络更加高效和可靠,而标准化则可以让整个汽车电子行业更加规范和统一,从而带来成本的降低和效率的提高。
1.3.1 LIN总线的特点
LIN总线主要有以下几个特点:
- 单线传输:LIN总线只需要一根信号线就可以实现数据传输,相比CAN总线等需要两根信号线的总线,LIN总线的成本更低,结构更简单。
- 主从结构:LIN总线采用主从结构,一个主节点可以控制多个从节点。主节点负责发送同步信号和命令,从节点根据主节点的命令进行响应。这种主从结构可以简化总线的控制和管理。
- 实时性强:LIN总线的传输速率较低,一般为1~20kbps,但是它的实时性很强,可以满足汽车电子系统对实时性的要求。
- 可靠性高:LIN总线采用了多种错误检测和处理机制,如奇偶校验、CRC校验等,可以保证数据传输的可靠性。
- 灵活性好:LIN总线可以支持多种拓扑结构,如单线、双线和多线等,可以适应不同的汽车电子系统架构。
总的来说,LIN总线是一种低成本、高可靠性、实时性强的总线,主要用于汽车电子系统中的分布式控制。
1.3.2 LIN总线主要应用
典型的LIN总线应用是汽车中的联合装配单元,例如,门、方向盘、座椅、空调、照明、湿度传感器和交流发电机等。
1.4 既然已经有CAN总线了,为什么还会有LAN总线 ?
CAN 总线和 LAN 总线是两种不同类型的总线,它们在汽车电子系统中都有各自的应用场景和优势。
CAN 总线主要用于实时性要求较高的控制和数据传输,例如发动机控制、制动系统控制等。它具有可靠性高、实时性强、抗干扰能力强等优点,但 CAN 总线的传输速率相对较低,一般在 1Mbps 以下。
而 LAN 总线则主要用于高速数据传输和多媒体应用,例如车载娱乐系统、导航系统等。它具有传输速率高、可扩展性好等优点,但 LAN 总线的实时性和可靠性相对较差。
因此,在汽车电子系统中,通常会同时使用 CAN 总线和 LAN 总线,以满足不同应用场景的需求。例如,发动机控制和制动系统控制等实时性要求较高的系统会使用 CAN 总线,而车载娱乐系统和导航系统等高速数据传输和多媒体应用则会使用 LAN 总线。这样可以充分发挥两种总线的优势,提高汽车电子系统的性能和可靠性。
1.5 汽车典型电器架构
典型的汽车电器架构是以网关为中心的,这意味着网关是整个汽车电器系统的核心。网关负责连接不同的总线,并实现不同总线之间的数据交换和通信。
汽车电器系统通常包括四条总线:OBD、动力 CAN、车身 CAN 和影音 CAN。
- OBD 总线:这是用于车辆故障诊断的总线。它可以连接车辆的电子控制单元(ECU),并允许诊断工具读取故障码和其他诊断信息。
- 4S店售后接入OBD口,可以拿到一些故障的信号,也可以更改一些配置。
- 动力 CAN 总线:这是用于动力系统的总线。它可以连接发动机控制单元、变速器控制单元、制动系统控制单元等,实现动力系统的控制和通信。
- 车身 CAN 总线:这是用于车身系统的总线。它可以连接车门控制单元、车窗控制单元、座椅控制单元等,实现车身系统的控制和通信。
- 影音 CAN 总线:这是用于影音系统的总线。它可以连接音响系统、导航系统、车载电话等,实现影音系统的控制和通信。
- 车联网系统、发动机管理系统、电子助力转向系统等,这些都是一个个ECU
- ECU和ECU之间,是通过信号传输的(比如Can总线的信号)
1.6 车载网络发展趋势
以太网在诸多方面具有较强的优势,意味着以太网必将成为汽车ECU之间通信的基础组件。而CAN、LIN等传统总线,不仅价格低廉、久经考验且性能稳健,还为许多不需要过高性能的应用提供了足够的带宽。
未来以太网将同CAN和LIN等一起在未来相当长的一段时间内共同主宰车载网络领域。
2. CANoe概述
CANoe
是Vector
公司推出的一款集总线仿真、测试分析和诊断等功能为一体的图形化开发环境。
总线仿真、测试分析和诊断怎么理解呢 ? 这里概括一下
- 总线仿真:就像是在电脑上模拟一个真实的汽车总线环境。它可以让你在没有实际硬件的情况下,模拟各种总线信号和数据的传输,帮助你测试和验证汽车电子控制系统的功能。
- 测试分析:主要是对总线数据进行监测、记录和分析。它可以帮助你发现潜在的问题和故障,并提供详细的数据分析报告,以便你更好地优化和改进汽车电子系统。
- 诊断:用于检测和诊断汽车电子系统中的故障。它可以通过读取故障码、分析总线数据等方式,快速定位故障点,并提供相应的解决方案。
2.1 CANoe用在哪些阶段
- 全仿真网络系统阶段 : CANoe 可以模拟整个汽车网络系统,包括所有的 ECU(电子控制单元)和总线通信。这有助于在早期阶段发现和解决潜在的问题,减少后期的调试时间和成本。
- 真实节点和部分仿真节点共存阶段 : 部分 ECU 是真实的,而其他 ECU 则是通过 CANoe 进行仿真。这种混合模式可以更真实地模拟实际系统的行为,同时也可以对真实 ECU 进行测试和验证。
- 全真实节点的网络系统阶段 : 所有的 ECU 都是真实的,CANoe 主要用于监测和分析总线通信。这有助于确保系统的稳定性和可靠性,并可以在出现问题时进行故障诊断和排除。
2.2 CAPL
CAPL是专门为CANoe设计的一种类似于C的语言,利用它可以对报文的接收、系统变量/环境变量的改变、错误的出现等事件进行处理。
2.3 CANoe不同版本的区别
- CANoe.DiVa Full Installer 18 SP1 是 CANoe.DiVa 的完整安装程序,包含了所有的功能和组件,可以用于实际的项目开发和测试。
- CANoe Demo 18 则是 CANoe 的演示版本,通常只包含了部分功能和限制,主要用于展示 CANoe 的基本功能和特点,让用户了解 CANoe 的使用方法和应用场景。
需要注意的是,CANoe.DiVa Full Installer 18 SP1 需要购买正式的许可证才能合法使用,而 CANoe Demo 18 则可以免费下载和使用,但功能和使用时间可能会受到限制。
2.4 CANoe的授权管理
CANoe目前提供以下三种管理授权的方式。
(1)基于硬件授权(Hardware-based Licensing):单用户授权,将包含授权的硬件与PC相连时,软件才可以正常使用。
(2)基于软件授权(Software-based Licensing):单用户授权,通过激活码(Activation ID)管理授权,可以进行激活与反激活的操作。
(3)池授权(Pool Licensing):可以通过本地服务器来管理和分配用户授权。
目前国内用户主要采用第一种授权方式。
2.5 CAN/LIN/FlexRay总线的区别
CAN (Controller Area Network)
- 历史:CAN 总线由 Bosch 公司于 1983 年开发,是一种多主总线,最初设计用于实时控制应用。
- 传输速度:标准 CAN 最高速度为 1 Mbps,而 CAN FD(Flexible Data rate)可以达到最高约 5 Mbps。
- 数据长度:标准 CAN 帧最大数据长度为 8 字节,而 CAN FD 支持扩展到最多 64 字节。
- 应用:主要用于需要较高数据传输率和实时性的系统,如动力系统、安全系统和舒适系统。
LIN (Local Interconnect Network)
- 历史:LIN 是为了解决 CAN 网络中传感器和执行器的复杂性和成本问题而开发的。
- 传输速度:LIN 的最大速度为 20 kbps,远低于 CAN,但足够用于简单的信号传输。
- 数据长度:LIN 帧最大数据长度为 8 字节。
- 应用:主要用于低速、低成本的车内通信,如门窗控制、灯光控制等。
FlexRay
- 历史:FlexRay 由 FlexRay 联盟于 2001 年发布,旨在提供更高带宽和更严格的确定性。
- 传输速度:最高可达 10 Mbps,支持时间触发和事件触发两种通信模式。
- 数据长度:单个数据包最大可达 40 字节。
- 应用:用于对实时性和可靠性要求极高的应用,如主动悬挂系统、线控转向系统和线控刹车系统。
2.6 CAN/LIN/FlexRay 分别用在哪些地方
CAN、LIN 和 FlexRay 在汽车电子和工业自动化领域有着各自的应用场景,主要基于它们的技术特性,如下所示:
CAN (Controller Area Network)应用场合:
- 动力系统:发动机控制单元(ECU)、变速箱控制、ABS/ESC 制动系统。
- 安全系统:气囊控制、安全带预紧器。
- 舒适系统:空调控制、座椅调节、电动门窗。
- 驾驶辅助系统:雷达传感器、摄像头、泊车辅助。
- 网关:连接不同的子网络,如 CAN、LIN 和 FlexRay。
CAN 适用于需要高可靠性和实时响应的应用,特别是在动力传动系统和安全相关的系统中。
LIN (Local Interconnect Network)应用场合:
- 车身控制模块(BCM)相关设备:门锁、窗户、后视镜调整。
- 照明系统:车内照明、头灯控制。
- 空调系统:温度传感器、风扇控制。
- 仪表盘:简单传感器读数和指示灯。
LIN 主要用于连接成本敏感且数据速率需求较低的传感器和执行器,通常作为 CAN 网络的补充。
FlexRay应用场合:
- 线控驾驶(X-by-Wire)系统:线控油门、线控刹车、线控转向。
- 自动驾驶:高级驾驶辅助系统(ADAS)、自动驾驶控制。
- 高级动力系统:混合动力和电动汽车的电池管理系统。
- 高级车身控制系统:动态悬挂系统、智能空调系统。
FlexRay 提供了更高的带宽和确定性,适合于对实时性和安全性要求非常高的应用,如线控驾驶系统和高级驾驶辅助系统。
- CAN:适用于中等数据速率和需要实时性能的系统。
- LIN:适用于低数据速率和成本敏感的应用。
- FlexRay:适用于高数据速率、高实时性和高安全性的关键系统。
随着技术的发展,诸如 CAN FD
(提供更高的数据速率)和 Automotive Ethernet
(用于更高带宽的应用)等更新的协议也正在被采用,以满足汽车行业中日益增长的数据传输需求。
【官方自制】CANoe/CANalyzer基础教程合集
车载测试零基础28天入行
3. CANoe入门系列
CANoe入门(一) :相关概念知识
CANoe入门(二) :CANoe环境搭建
CANoe入门(三) :CANoe全仿真阶段,模拟数据和信号