第三章:车载TSN网络架构设计——域控制器架构下的TSN拓扑、交换机与端点的角色、网络分段与规划

好,咱们进入第三章。这一章,我想聊聊车载TSN网络架构设计。说实话,很多工程师一上来就盯着协议栈调参数,结果发现根本跑不通。为什么?因为架构没想清楚。域控制器架构下的TSN,跟传统分布式架构完全是两码事。

3.1 域控制器架构下的TSN拓扑选择

先说说拓扑。我个人习惯把车载TSN拓扑分成三类:星型、环型、混合型。你想想看,域控制器架构下,每个域控制器本身就是一个巨大的交换节点,所以拓扑选择直接影响时延和可靠性。

拓扑类型 典型场景 时延特性 可靠性
星型 智驾域控 + 传感器 低(一跳直达) 中等(单点故障)
环型 车身域 + 骨干网 中等(需绕行) 高(链路冗余)
混合型 整车级TSN骨干 可控(优先级调度) 高(多路径)

我在项目中遇到过一个问题:某OEM用纯星型拓扑连接6个摄像头,结果中央网关挂了,所有摄像头数据全丢。嗯,这就是典型的单点故障。后来我建议改成混合型——摄像头到域控用星型,域控之间用环型。效果立竿见影。

核心原则:时延敏感流(如摄像头、激光雷达)走星型直达;可靠性要求高的流(如制动、转向)走环型冗余。

3.2 交换机与端点的角色划分

很多人搞不清交换机(Switch)和端点(Endpoint)在TSN里的具体分工。说白了,交换机负责“转发”,端点负责“说话”。但TSN里没那么简单。

3.2.1 交换机的TSN职责

  • 802.1Qbv(时间感知整形):交换机必须支持门控列表,按优先级开闭出口队列。我建议至少配置8个队列,前4个给时间敏感流。
  • 802.1Qci(入口流过滤):防止某个端点发疯,把带宽占满。我曾经见过一个摄像头驱动bug,每秒发了10万帧,直接把交换机打死了。
  • 802.1CB(帧复制与消除):环型拓扑下,交换机要负责复制帧走两条路径,并在接收端消除重复帧。

避坑指南:我曾经在调试时发现,某款交换机宣称支持802.1Qbv,但实际门控列表只有4个条目。结果摄像头流和雷达流冲突,时延抖动从50μs飙到2ms。所以,选型时一定要看门控列表深度,至少16个条目起步。

3.2.2 端点的TSN职责

端点(比如摄像头、雷达、域控制器)的任务是“把数据包装成TSN能理解的样子”。具体包括:

  • 802.1AS(时钟同步):端点必须支持gPTP,同步精度要求±500ns以内。我习惯在端点侧用硬件时间戳,软件时间戳根本不够用。
  • 802.1Qav(信用整形):对于音视频流,端点要打上正确的优先级标签。比如摄像头流打5,雷达流打6,诊断流打2。
  • 帧预编码:端点要提前计算好帧长度和发送周期。比如一个30fps的摄像头,每33.3ms发一帧,帧长不能超过1500字节(否则会分片,增加时延)。
// 端点侧TSN配置示例(伪代码)
EndpointConfig {
    streamId: "CAM_FRONT_01",
    priority: 5,           // 802.1Q优先级
    interval: 33333,       // 33.3ms (30fps)
    maxFrameSize: 1500,    // 字节
    gPTP_domain: 0,
    clockSync: true
}

3.3 网络分段与规划

网络分段,说白了就是把一个大网络切成几个小区域。为什么要切?因为TSN的调度能力是有限的。一个交换机如果挂100个端点,门控列表根本调度不过来。

3.3.1 分段原则

我一般按功能域 + 时延等级来分:

  • 智驾域:摄像头、激光雷达、域控。时延要求<1ms,带宽>10Gbps。建议独立VLAN,用802.1Qbv严格调度。
  • 底盘域:制动、转向、动力。时延要求<100μs,可靠性99.999%。建议用环型拓扑+802.1CB冗余。
  • 车身域:车窗、灯光、门锁。时延要求宽松(<100ms),但节点多。建议用普通以太网+802.1Qav即可。
  • 信息域:导航、娱乐、OTA。带宽需求大,但时延不敏感。建议走独立VLAN,避免干扰关键流。

注意:千万不要把智驾流和娱乐流混在一个VLAN里。我曾经见过一个项目,工程师图省事把所有流都放在VLAN 1,结果OTA下载时把摄像头带宽挤没了,车辆直接降级。嗯,血的教训。

3.3.2 带宽规划

带宽规划是门手艺活。我习惯用“峰值带宽 × 1.5”来预留。举个例子:

流类型 单流带宽 数量 总带宽 预留带宽
摄像头(4K@30fps) ~800Mbps 6 4.8Gbps 7.2Gbps
激光雷达 ~200Mbps 2 0.4Gbps 0.6Gbps
雷达 ~50Mbps 5 0.25Gbps 0.375Gbps
诊断/控制 ~10Mbps 20 0.2Gbps 0.3Gbps
合计 5.65Gbps 8.475Gbps

你看,如果只用6个摄像头,总带宽就接近5.65Gbps了。所以骨干网至少要用10Gbps链路,否则肯定拥塞。我建议智驾域内部用10Gbps,域间用25Gbps。

3.3.3 时钟域规划

时钟同步是TSN的命根子。我建议整个车载网络只用一个gPTP域(domain 0)。为什么?因为多域同步会引入额外的校准误差。我曾经在测试中发现,两个gPTP域之间的时钟偏差能达到2μs,对于需要1μs同步精度的摄像头来说,直接导致画面撕裂。

小技巧:如果必须跨域(比如智驾域和底盘域物理隔离),可以在域控制器之间加一个“时钟桥”,用硬件转发gPTP报文。软件转发?别想了,精度根本不够。

3.4 实战案例:某L3级智驾TSN网络设计

最后,我分享一个实际案例。去年我参与了一个L3级智驾项目,架构是这样的:

  • 智驾域控:1个,作为TSN主时钟
  • 摄像头:6个(前视3个,环视3个),全部走星型连接到智驾域控
  • 激光雷达:2个,走星型连接
  • 底盘域控:1个,与智驾域控之间用环型连接(802.1CB冗余)
  • 车身域控:1个,通过普通以太网连接到智驾域控

网络分段如下:

  • VLAN 10:智驾流(摄像头+激光雷达),优先级5-6,802.1Qbv严格调度
  • VLAN 20:底盘流(制动+转向),优先级7,802.1CB冗余
  • VLAN 30:车身流(灯光+车窗),优先级3,802.1Qav信用整形
  • VLAN 40:诊断流,优先级1,尽力而为

结果呢?摄像头端到端时延稳定在800μs以内,底盘流时延小于50μs。嗯,这个架构后来成了该OEM的参考设计。

好了,这一章就到这里。下一章咱们聊聊TSN的时钟同步实战,那可是个硬骨头。


公众号:蓝海资料掘金营,微信deep3321