车载开发相关

1.汽车软件基础

1.1 汽车基本结构

1.2 汽车电子电气架构

1.2.1 汽车电子电气架构基本概念

汽车中各种电子设备形成的网络关系,电子设备之间通过什么样的网络结构连接起来 的叫汽车电子电气架构。电子指的是电子设备中偏弱电的设备,比如仪表、车机芯片。弱电一般界定在 36V 安全电压及以下。

电子电气架构结构图如下:

分为控制单元控制单元构成的网络车载网络

主要的电子电气控制设备为: ECU 电子控制单元DCU 域控制器 (将一些功能集中到一个控制器进行控制)

车载网络5域或3域 划分方式

1.2.2 为什么要分网段

ECU 数量本身不直接降低 CAN 总线的物理波特率(如 500kbps、1Mbps),但会通过增加总线负载 、电气负载与仲裁竞争,导致实际通信延迟上升有效吞吐量下降,表现为 "通信变慢" 的直观感受。影响因素如下:

  1. 总线负载与仲裁竞争(最主要因素)
    CAN 总线为多主仲裁机制,同一时刻仅能有一个 ECU 发送报文:
    ECU 增多→发送请求增加→仲裁冲突概率上升→等待时间变长
    低优先级报文可能被高优先级报文持续抢占,出现 "饥饿" 现象
    总线负载率 =(单帧时长 × 每秒总帧数)÷100%,负载越高,有效传输效率越低
  2. 电气负载限制(物理层约束)
    每个 ECU 的 CAN 收发器都会增加总线寄生电容,ECU 越多电容越大
    电容增大导致隐性电平上升时间延长,易产生位错误与错误帧
    高速 CAN(如 1Mbps)对电容更敏感,通常限制节点数≤30 个;降低速率可支持更多节点(如 125kbps 可支持 60 + 节点)
  3. 系统复杂度与处理瓶颈
    节点增多→网络管理、诊断报文增加→进一步消耗带宽
    部分 ECU 处理能力不足时,会成为整个网络的 "瓶颈",即使总线空闲也无法及时响应
    报文过滤、信号解析等操作占用 ECU 资源,数量越多整体响应越慢。

怎么优化避免 ECU 增多导致的 "变慢"?

  1. 网络分段:使用 CAN 网关将大网络拆分为多个小网段(如动力 CAN、车身 CAN、娱乐 CAN),降低单总线负载
  2. 优先级规划:按功能重要性分配报文 ID(数值越小优先级越高),确保关键信号(如制动、转向)优先传输
  3. 报文优化:
    合并信号到单帧,减少总帧数
    合理设置周期(关键信号 10ms 级,普通信号 100ms 级,诊断信号 1s 级)
    采用 CAN FD(数据段 64 字节)替代传统 CAN(8 字节),提升单帧效率
1.2.3 常见的独立网段

整个流程梳理 :车的电子电气架构主要有控制单元(ECU)和控制单元网络(车载网络)组成。由于ECU过多会影响单个ECU在车载网络上的通信时延,所以将车载网络进行网络分段,通过网关将大网络拆分为多个小网段(如动力 CAN、车身 CAN、娱乐 CAN),降低单总线负载。

这个图片展示的是汽车车载网络架构图,它的分类逻辑是按 "功能域" 划分不同的通信网段(CAN/LIN 总线),再通过中央网关Gateway 实现各功能域之间的互联。

图中通过不同颜色 / 标识的总线,将车载电子模块按 "功能属性" 分成了多个独立网段:

  1. PT CAN(动力总成域 CAN)
    对应动力系统功能,连接 ACU、WPTC、MCU、CDU、VBU 等模块(多为电机控制器、整车控制器等动力核心部件)。
  2. Chassis/ADAS CAN(底盘 + ADAS 域 CAN)
    对应底盘控制 + 辅助驾驶功能,连接 ESP(电子稳定程序)、EPS(电动助力转向)、MPC、AVM(环视系统)、MRR(毫米波雷达)等模块,负责底盘操控与智能驾驶相关信号传输。
  3. Inf CAN(信息娱乐域 CAN)
    对应车载信息娱乐功能,连接 ICM(信息娱乐主机)、IU(显示单元)、DVR(行车记录仪)、SDAL/SDAR(音视频模块)等,负责娱乐、显示类数据通信。
  4. Tbox CAN(车联网域 CAN)
    对应远程通信功能,仅连接 TBOX(车载远程通信模块),负责车辆与云端 / 手机的交互。
  5. Diag CAN(诊断域 CAN
    对应诊断功能,连接 OBD 接口,是外部诊断设备与整车网络通信的专用网段。
  6. Body CAN(车身控制域 CAN)
    对应车身附件控制功能,连接 BCM(车身控制模块)、DSM(驾驶状态监测)、AVAS(低速提示音)等模块;同时通过LIN 总线(低速辅助总线)连接 RLS(雨量传感器)、门窗电机(F.WM/R.WM 等)、传感器(IBS 等)等低数据量的车身部件。

分类的核心目的

按 "功能域" 划分网段,是为了隔离不同功能的通信流量降低单总线负载提升系统安全性与可靠性------ 比如动力域 / ADAS 域的实时信号,不会被信息娱乐域的非实时数据干扰;同时通过中央网关统一管理跨域数据交互。

1.2.4 车载网络网关基本概念和分类

车载网络网关 是连接汽车内部不同类型不同速率网段 的核心通信设备,它的核心作用是解决各网段之间的协议不兼容速率不匹配数据隔离与交互问题 ,是整车电子系统的 "中枢神经节点"。

传统汽车的电子模块多为点对点通信,而现代汽车采用分布式网络架构,按功能划分为多个网段:

  • 动力网段(高速 CAN/CAN FD,500kbps-1Mbps):负责发动机、变速箱、制动系统通信;
  • 车身网段(低速CAN,125kbps):负责车灯、车窗、空调控制;
  • 舒适网段(LIN 总线,19.2kbps):负责座椅、后视镜等低端设备;
  • 智能驾驶网段(以太网,100Mbps-1Gbps):负责 ADAS 传感器、车载娱乐、车联网数据传输。

网关就像这些网段之间的 "桥梁",同时具备数据转发、协议转换、网络管理、安全防护四大核心能力,是整车数据交互的唯一通道。

按功能分类:

1.2.5 汽车CAN总线网络

对于低速 CAN 采用开环设计,允许单线故障时继续通信,这种容错能力以降低速率为代价;高速 CAN 采用严格差分信号与终端匹配,确保高速信号完整性;CAN FD 复用高速 CAN 物理层,但通过协议创新实现更高带宽。

目前主流汽车网络仍然是CAN/LIN 网络,CAN 网络分高速CAN和低速CAN。 高速CAN连接动力、底盘等控制时间响应要求高的部

分,低速CAN用于车身、座舱设备方面。

汽车的CAN网络一般是分为 多个子网 ,再通过网关互联形成整车的CAN网络

1.2.5.1 CAN总线基础知识

CAN是控制器域网(Controller Area Network,CAN)的简称,CAN属于总线式串行通信网络

什么是 "总线"?

总线是多个设备(节点)共享的 "公共通信通道",类比生活里的 "城市主干道":

  • 传统 "点对点通信" 像 "每户之间单独修小路"------ 比如早期汽车里,每个 ECU(电子控制单元)之间都单独拉一根线传信号,会导致线缆多如蜘蛛网、成本高、布线复杂。
  • 而 "总线" 像 "一条主干道,所有住户都连到这条路上"------ 所有设备(如车载 ECU)都连接到同一条总线线路上,共享这条通道传输数据,不用再点对点单独布线。

"总线式串行通信网络"= 多个设备共享同一条串行通信线路,典型代表就是车载 CAN 总线:

  • 硬件上:所有 ECU 都并联在CAN_H、CAN_L 两根差分线(串行通信的物理线路)上;
  • 通信逻辑:数据以 "串行位流"的形式在总线上传输,每个节点既能发送数据、也能接收数据;
  • 冲突解决:通过 "ID 仲裁" 规则(比如 CAN 的优先级ID),避免多个节点同时发数据时的冲突。
1.2.5.2 Can 协议

Can 协议对应7层通讯模型中 物理层数据链路层
物理层数据链路层 ,可以类比成 "公路基础设施" 和 "交通规则"------ 物理层 是 "路本身",数据链路层是 "在路上怎么开车、怎么排队、怎么处理事故"。

Can 协议物理层规定

  1. 使用两根导线同时配合传输电信号,分CAN高和CAN低,以双绞形式布线
  2. CAN高输出3.5V 时,CAN低必须输出1.5V, 此时两根线之间的电压差(差分信号)为2V, 称为"显性信号", 表示二进制0;
    CAN 高输出2.5V 时,CAN低必须输出2.5V, 此时两根线之间的电压差(差分信号)为0V, 称为"隐性信号", 表示二进制1;
  3. 通常can高和can低之间 应该有一个120欧姆的终端电阻。

Can 协议数据链路层规定

  1. CAN 总线发送2进制位的最小数量单位为" "frame(报文), 传输数据最小的一个单位(最少的二进制位)都必须考虑传输控制信息传输的数据本身的信息校验信息
相关推荐
汽车仪器仪表相关领域7 天前
动态诊断充电中枢:DCA-8000型动态诊断充电系统 4S店/维修连锁/新能源服务站/车队维保全场景实战全解
人工智能·车载系统·汽车·负载均衡·压力测试·可用性测试
杰克崔7 天前
android的lmkd的实现及代码分析
android·linux·运维·服务器·车载系统
进击的横打10 天前
【车载开发系列】入坑RH850芯片
c语言·车载系统
进击的横打10 天前
【车载开发系列】GPIO核心概念理解
车载系统
进击的横打11 天前
【车载开发系列】Renesas Flash Programmer (RFP) 反向读取功能
车载系统·编辑器·rfp
进击的横打13 天前
【车载开发系列】瑞萨RH850芯片基础介绍
车载系统
进击的横打14 天前
【车载开发系列】Renesas Flash Programmer (RFP) 使用教程
车载系统
进击的横打16 天前
【车载开发系列】浮点数与整型数的转换
c语言·车载系统
进击的横打17 天前
【车载开发系列】C语言浮点数入门
c语言·车载系统
王夏奇19 天前
自动泊车技术-入门理解
车载系统