4. 网关核心概念

各位,咱们今天聊点实在的。

做TBOX,说白了就是让车跟外界说话。但车里面那堆电子单元,它们自己也得先能互相沟通。这就涉及到车载网络通信的基础了。我这些年调过的板子、踩过的坑,有一大半都跟这些总线协议有关。今天我把几个核心的掰开揉碎了讲给你听。

4.1 CAN总线:老将出马,一个顶俩

CAN总线,这玩意儿在车上太常见了。从发动机到车窗,到处都是它的身影。它最大的特点就是可靠性高、实时性好。

4.1.1 CAN 2.0:经典永流传

CAN 2.0分两种,标准帧和扩展帧。区别在哪?说白了就是ID长度不一样。标准帧11位ID,扩展帧29位ID。

我个人习惯,在TBOX上做诊断和标定的时候,基本都用扩展帧。为啥?因为ID多,好规划。你想想看,一个车上几十个ECU,要是ID不够用,那不乱套了?

核心参数速览

  • 最大速率:1 Mbps(实际常用500 kbps或250 kbps)
  • 数据长度:最多8字节
  • 总线长度:40米@1 Mbps
  • 差分信号:CAN_H和CAN_L

我在项目中遇到过一个问题:某次测试,TBOX老是丢报文。查了半天,发现是终端电阻没配好。记住,CAN总线两端必须各加一个120Ω的电阻,不然信号反射会让你怀疑人生。

4.1.2 CAN FD:老树开新花

CAN FD,就是CAN的升级版。它解决了两个痛点:速率不够快、数据不够长。

特性 CAN 2.0 CAN FD
最大速率 1 Mbps 8 Mbps(数据段)
数据长度 8字节 64字节
帧格式 标准/扩展 兼容CAN 2.0 + 新格式
CRC校验 15位 17/21位

嗯,这里要注意:CAN FD的物理层和CAN 2.0是一样的,所以线束不用改。但控制器得换。我建议你在选型TBOX主芯片时,优先选带CAN FD控制器的。现在新出的车,基本都在往CAN FD迁移。

避坑指南

我曾经在一个项目里,把CAN FD和CAN 2.0混在一个总线上。结果发现,CAN FD节点发高速数据时,CAN 2.0节点直接罢工。后来才搞清楚,CAN FD的仲裁段速率和CAN 2.0一样,但数据段速率高,老节点跟不上。解决办法:要么全换CAN FD,要么用网关隔离。

4.2 LIN总线:低成本的小弟

LIN总线,说白了就是CAN的廉价替代方案。它用在那些对速率要求不高的地方,比如车窗、座椅、天窗。

它的特点很明显:

  • 单线传输:一根线,成本低
  • 主从结构:一个主节点,多个从节点
  • 速率低:最大20 kbps
  • 数据短:一帧最多8字节

我个人觉得,LIN总线最大的价值就是便宜。你想想看,一个车窗电机,你给它配个CAN控制器,成本翻好几倍。用LIN,一根线搞定。

在TBOX上,LIN接口一般用来做低速诊断或者配置管理。比如,有些TBOX会通过LIN总线去读取BCM(车身控制模块)的状态。

注意

LIN总线的从节点不能主动发数据,必须等主节点发帧头。所以,如果你需要实时上报数据,别用LIN,老老实实用CAN。

4.3 车载以太网:未来的主角

车载以太网,这是目前最火的方向。为啥?因为自动驾驶和智能座舱需要海量数据传输,CAN那点带宽根本不够看。

4.3.1 100BASE-T1:入门级车载以太网

100BASE-T1,速率100 Mbps,一对双绞线。它跟咱们平时用的100BASE-TX不一样,TX需要两对线,T1只需要一对。

我在项目中遇到过一个问题:第一次用100BASE-T1时,发现信号质量很差。后来才知道,这玩意儿对线束要求很高,必须用专用的车载以太网线缆,不能用普通的网线。

4.3.2 1000BASE-T1:高速通道

1000BASE-T1,速率1 Gbps,同样是一对双绞线。它主要用于摄像头数据回传、激光雷达点云传输这些场景。

特性 100BASE-T1 1000BASE-T1
速率 100 Mbps 1 Gbps
线缆 1对双绞线 1对双绞线
最大距离 15米 15米
典型应用 诊断、OTA 摄像头、激光雷达

嗯,这里要提醒你:车载以太网用的是单对以太网(Single Pair Ethernet, SPE)技术,跟咱们办公室的以太网不一样。所以,别想着用普通网线去接TBOX的车载以太网口,会出问题的。

我的建议

如果你在设计TBOX,至少留一个1000BASE-T1接口。现在可能用不上,但未来三年内,这玩意儿会成为标配。别到时候为了升级接口,还得重新改板子。

4.4 FlexRay:高可靠性的选择

FlexRay,这玩意儿在车上用得不多,但一旦用上,就是关键场合。比如线控制动、线控转向这些安全相关的系统。

它的特点:

  • 双通道:冗余设计,可靠性高
  • 时间触发:确定性好,延迟可控
  • 速率高:单通道10 Mbps
  • 灵活配置:静态段和动态段可以混合使用

说实话,FlexRay的配置非常复杂。我曾经花了两周时间,才把一个FlexRay网络的静态段时序调好。你想想看,每个节点什么时候发数据,都得精确到微秒级。

避坑指南

FlexRay的终端电阻和CAN不一样。CAN是120Ω,FlexRay是80Ω到110Ω之间,具体看线束特性。我曾经因为用了100Ω的电阻,导致信号反射严重,整个网络都不稳定。后来查了芯片手册,才发现推荐值是95Ω。

4.5 知识结构总览

下面这张图,我把这几种总线的关系和定位画出来了。你一看就明白。

车载网络协议知识结构图 车载网络协议知识结构 TBOX 主控制器 高速总线 低速/低成本总线 CAN FD FlexRay 100BASE-T1 1000BASE-T1 LIN 说明: CAN 2.0 作为基础协议,与 CAN FD 物理层兼容;FlexRay 用于高可靠场景; 车载以太网用于高带宽场景;LIN 用于低成本低速控制。 TBOX 需同时支持多种总线,通过网关实现协议转换

4.6 选型建议

最后,我根据经验,给你一个简单的选型建议表。做TBOX设计时,可以参考一下。

应用场景 推荐协议 理由
动力总成、底盘控制 CAN FD / FlexRay 高可靠性、实时性
车身控制(车窗、门锁) LIN 成本低、速率要求低
诊断、OTA升级 100BASE-T1 带宽够用、成本适中
摄像头、激光雷达数据 1000BASE-T1 高带宽、低延迟
传统诊断(兼容老车) CAN 2.0 存量车型多、工具链成熟

好了,这一章的内容就到这儿。这些协议,你不需要一下子全记住。但心里要有数:什么场景用什么协议,为什么用。等你真正开始画原理图、写驱动的时候,自然会越来越熟。