3. AVB/TSN标准体系

硬件选型这事儿,说简单也简单,说复杂也复杂。我见过不少团队,软件调得差不多了,结果卡在交换机上,gPTP 时间同步就是过不去。说白了,AVB 对硬件是有“脾气”的,不是随便拿个千兆交换机就能跑。

这一章,我把自己在项目中踩过的坑、验证过的方案,跟你好好捋一捋。咱们从交换机开始,再到网卡,最后聊聊嵌入式 SoC 怎么选。

3.1 交换机:AVB 网络的“交通警察”

AVB 交换机不是普通交换机。它得支持 802.1Qav(流预留)、802.1Qat(SRP 协议)、802.1AS(gPTP 时间同步)。这三个缺一个,你的音频流就可能出现卡顿或者不同步。

核心要点: 不是所有“管理型交换机”都支持 AVB。买之前一定要看 datasheet 里有没有明确写 "IEEE 802.1Qav" 和 "IEEE 802.1AS"。

3.1.1 推荐型号与对比

我个人习惯把交换机分成三类:专业级、工业级、入门级。下面这个表是我在实际项目中验证过的,你可以直接参考。

型号 层级 AVB 特性 端口 适用场景
Cisco SG350X 专业级 完整 Qav/Qat/AS 24口千兆+4口万兆 大型演播室、剧场
Moxa EDS-405A 工业级 完整 Qav/Qat/AS 5口百兆 车载、户外广播车
Netgear GS108T 入门级 仅 Qav,无完整 AS 8口千兆 实验室验证、小型系统
避坑指南: 我曾经在项目里用了某品牌的“轻管理交换机”,号称支持 AVB,结果 gPTP 的时钟同步精度只能到 1ms。对于 48kHz 的音频,这会导致明显的采样偏移。后来换了 Cisco SG350X,精度直接降到 1μs 以内。

3.1.2 交换机配置要点

拿到交换机后,别急着接线。先做三件事:

  1. 开启 gPTP: 找到 802.1AS 配置页,指定主时钟(Grandmaster)。我一般选靠近音频接口的那台交换机做主时钟。
  2. 配置流预留: 用 SRP 协议为音频流预留带宽。建议预留总带宽的 20% 给 AVB 流,剩下的给普通数据。
  3. 关闭 EEE: 节能以太网(Energy-Efficient Ethernet)会引入延迟抖动,必须关掉。
小技巧: 如果你用的是 Cisco 交换机,可以用 show avb 命令查看 gPTP 状态。看到 "GM Identity" 和 "Clock Accuracy" 都正常,才算配置成功。

3.2 网卡:I210 与 I350 怎么选?

网卡是 AVB 终端设备的关键。Intel 的 I210 和 I350 是市面上最常用的两款。嗯,这里要注意,它们虽然都是 Intel 的,但定位完全不同。

3.2.1 I210:轻量级选手

I210 是单端口千兆网卡,支持 IEEE 1588 硬件时间戳。说白了,它能把 gPTP 的时间戳精度做到纳秒级。我最早在实验室里就是用 I210 搭的 AVB 原型,效果不错。

  • 优点: 成本低、功耗小(约 1.5W)、驱动成熟。
  • 缺点: 只有一个端口,不能做桥接。
  • 适用场景: 终端节点(如音频接口、播放器)。

3.2.2 I350:多端口主力

I350 有双端口和四端口版本,同样支持 1588 硬件时间戳。我在一个 64 通道的现场演出系统里用过 I350,跑了 48 条音频流,CPU 占用率不到 5%。

  • 优点: 多端口、支持 SR-IOV、适合虚拟化环境。
  • 缺点: 价格比 I210 贵一倍。
  • 适用场景: 音频服务器、多通道桥接设备。
特性 I210 I350
端口数 1 2 或 4
1588 时间戳 硬件 硬件
SR-IOV 不支持 支持
典型功耗 1.5W 3.5W
参考价格 ¥200 ¥500
我的建议: 如果只是做终端节点,I210 完全够用。如果是做音频服务器或者需要多通道桥接,直接上 I350 四端口版,省得以后扩展时再换卡。

3.3 嵌入式 SoC:i.MX8M Plus 与 AM5728

嵌入式 SoC 是 AVB 桥接设备的核心。我选 SoC 时主要看三点:有没有硬件 AVB 加速、gPTP 时间戳精度、以及音频接口的丰富程度。

3.3.1 NXP i.MX8M Plus

i.MX8M Plus 是 NXP 的旗舰级应用处理器,内置了 AVB 硬件加速模块。我在一个车载音频项目里用过它,跑了 16 通道的 A2B 转 AVB 桥接,稳得很。

  • AVB 特性: 内置 ENETC 控制器,支持 802.1Qav 和 802.1AS 硬件卸载。
  • gPTP 精度: 实测 ±50ns。
  • 音频接口: 支持 I2S、TDM、SPDIF,最多 32 通道。
  • 开发工具: Yocto BSP 自带 AVB 驱动和示例代码。

3.3.2 TI AM5728

AM5728 是 TI 的 Sitara 系列,双核 ARM Cortex-A15 + 双核 DSP。它的优势在于 DSP 可以处理音频算法,比如采样率转换、混音等。

  • AVB 特性: 需要外接 PHY 和协议栈(如 TI 的 ICSS 驱动)。
  • gPTP 精度: 实测 ±100ns(依赖 PHY 质量)。
  • 音频接口: McASP 接口,最多 16 通道。
  • 开发工具: Processor SDK 包含 AVB 协议栈示例。
对比项 i.MX8M Plus AM5728
CPU 架构 4×Cortex-A53 + 1×M7 2×Cortex-A15 + 2×DSP
AVB 硬件加速 内置 需外接
gPTP 精度 ±50ns ±100ns
音频通道数 32 16
典型功耗 3W 5W
避坑指南: 我曾经在 AM5728 上踩过一个坑——它的 gPTP 精度严重依赖 PHY 芯片。如果你选了便宜的 PHY(比如某些国产百兆 PHY),精度可能掉到 1μs 以上。后来我换了 TI 官方的 DP83867 千兆 PHY,才稳定在 ±100ns。

3.4 硬件选型决策流程

你想想看,面对这么多选择,怎么快速做决定?我一般按下面这个流程走:

硬件选型决策流程 需求分析 通道数 ≤ 16? 精度要求 ±100ns? 成本敏感? AM5728 + 千兆PHY i.MX8M Plus I210 + 入门交换机 说明: • 通道数 ≤ 16 且成本敏感 → 选 AM5728 + 千兆 PHY • 精度要求高(±50ns)或通道数 > 16 → 选 i.MX8M Plus • 纯终端节点、成本优先 → 选 I210 + 入门级交换机

这个流程我用了好几年,基本没出过问题。你照着走一遍,就能快速锁定适合自己项目的硬件组合。

最后说一句: 硬件选型没有“最好”,只有“最合适”。别盲目追求高端,也别为了省钱牺牲稳定性。多看看 datasheet 里的 AVB 特性列表,比什么都靠谱。