3. 硬件选型:支持AVB的交换机、网卡与嵌入式SoC
硬件选型这事儿,说简单也简单,说复杂也复杂。我见过不少团队,软件调得差不多了,结果卡在交换机上,gPTP 时间同步就是过不去。说白了,AVB 对硬件是有“脾气”的,不是随便拿个千兆交换机就能跑。
这一章,我把自己在项目中踩过的坑、验证过的方案,跟你好好捋一捋。咱们从交换机开始,再到网卡,最后聊聊嵌入式 SoC 怎么选。
3.1 交换机:AVB 网络的“交通警察”
AVB 交换机不是普通交换机。它得支持 802.1Qav(流预留)、802.1Qat(SRP 协议)、802.1AS(gPTP 时间同步)。这三个缺一个,你的音频流就可能出现卡顿或者不同步。
3.1.1 推荐型号与对比
我个人习惯把交换机分成三类:专业级、工业级、入门级。下面这个表是我在实际项目中验证过的,你可以直接参考。
| 型号 | 层级 | AVB 特性 | 端口 | 适用场景 |
|---|---|---|---|---|
| Cisco SG350X | 专业级 | 完整 Qav/Qat/AS | 24口千兆+4口万兆 | 大型演播室、剧场 |
| Moxa EDS-405A | 工业级 | 完整 Qav/Qat/AS | 5口百兆 | 车载、户外广播车 |
| Netgear GS108T | 入门级 | 仅 Qav,无完整 AS | 8口千兆 | 实验室验证、小型系统 |
3.1.2 交换机配置要点
拿到交换机后,别急着接线。先做三件事:
- 开启 gPTP: 找到 802.1AS 配置页,指定主时钟(Grandmaster)。我一般选靠近音频接口的那台交换机做主时钟。
- 配置流预留: 用 SRP 协议为音频流预留带宽。建议预留总带宽的 20% 给 AVB 流,剩下的给普通数据。
- 关闭 EEE: 节能以太网(Energy-Efficient Ethernet)会引入延迟抖动,必须关掉。
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 |
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 |
3.4 硬件选型决策流程
你想想看,面对这么多选择,怎么快速做决定?我一般按下面这个流程走:
这个流程我用了好几年,基本没出过问题。你照着走一遍,就能快速锁定适合自己项目的硬件组合。