3. 硬件平台选型与评估:主流TSN端点芯片对比

做TSN端点设备,选芯片是第一道坎。

我见过太多人,上来就画板子,结果芯片不支持某个协议,或者驱动根本跑不起来。嗯,今天咱们就把这事聊透。

3.1 主流TSN端点芯片横向对比

目前市面上能打的TSN端点芯片,其实就三家:Intel、NXP、Microchip。我挨个说说我的使用感受。

芯片型号 TSN特性 接口类型 驱动成熟度 价格区间 我的评价
Intel I210 802.1AS、Qav、Qbv(部分) PCIe ★★★★★ ¥50-100 老将,资料最多
Intel I225 完整TSN协议栈 PCIe ★★★★ ¥80-150 性能强,但坑也多
NXP LS1028A 完整TSN协议栈 集成SoC ★★★ ¥200-400 适合做高端设备
Microchip LAN966x 完整TSN协议栈 RGMII/SGMII ★★★ ¥60-120 性价比之选

3.2 Intel I210:老兵不死

I210是我用得最多的芯片。为什么?因为它的驱动太成熟了。

Linux内核里自带的igb驱动,直接支持I210。你想想看,这意味着什么?意味着你不需要自己写驱动,改改设备树就能跑起来。

核心优势:

  • Linux内核原生支持,驱动稳定
  • 支持802.1AS精确时间同步
  • 支持802.1Qav流控
  • 价格便宜,容易采购

注意:I210的802.1Qbv支持是阉割版的。我在项目中遇到过,它只能做简单的门控调度,复杂的整形做不了。如果你需要完整的Qbv,建议上I225。

3.3 Intel I225:性能怪兽

I225是I210的升级版。说白了,就是补全了I210缺失的那些TSN特性。

我个人习惯用I225做原型验证。为什么呢?因为它支持2.5Gbps速率,而且TSN协议栈是完整的。

避坑指南:我曾经在I225上踩过一个坑——它的PCIe接口对主板兼容性要求很高。有些工控主板插上去直接不识别。后来我查了Intel的勘误表,才发现是PCIe L1电源状态的问题。解决办法是:在BIOS里关掉PCIe ASPM。

I225的驱动是igc,也是内核自带的。但要注意,内核版本要5.10以上,否则有些TSN特性不支持。

3.4 NXP LS1028A:集成方案

LS1028A不是单纯的网卡芯片,它是一个完整的SoC。里面集成了两个TSN端点,还有Cortex-A72核心。

如果你要做工业网关或者边缘计算设备,这个芯片很合适。我有个项目就是用LS1028A做的,一个芯片搞定所有事。

技术要点:

  • 内置两个TSN端点,支持完整协议栈
  • 集成Cortex-A72,可跑Linux
  • 支持EtherCAT和PROFINET
  • 工业级温度范围

但说实话,NXP的驱动生态不如Intel。它的TSN驱动是闭源的,需要签NDA才能拿到。嗯,这点挺烦人的。

3.5 Microchip LAN966x:后起之秀

LAN966x是Microchip收购Micrel后的产品。我最近才开始用,但印象不错。

它的特点是:便宜、功耗低、TSN特性全。而且Microchip提供了完整的Linux SDK,包括驱动和配置工具。

我的建议:如果你做的是成本敏感的产品,比如工业IO模块或者现场设备,LAN966x是首选。它的BOM成本比Intel方案低30%左右。

不过要注意,LAN966x的驱动在内核里是staging状态,稳定性不如Intel。我建议用Microchip官方提供的SDK,别用主线内核的驱动。

3.6 开发板选择

选开发板,我有个原则:选官方评估板,别选第三方。为什么?因为官方板的原理图和PCB文件都是公开的,出了问题好排查。

芯片 推荐开发板 价格 特点
I210 Intel I210-T1 ¥300 PCIe插卡,即插即用
I225 Intel I225-LM ¥400 支持2.5G,带TSN
LS1028A NXP LS1028ARDB ¥2000 完整开发平台
LAN966x Microchip EVB-LAN9662 ¥800 性价比高,资料全

重要提醒:买开发板时,一定要确认它支持TSN。有些商家把普通千兆网卡当TSN板卖。我有个朋友就上过当,买回来发现根本不支持802.1AS。

3.7 我的最终建议

说了这么多,到底选哪个?

我个人的经验是:

  • 入门学习:选I210。资料多,驱动稳,便宜。先跑通TSN的基本流程再说。
  • 产品开发:看需求。如果做PCIE卡,选I225;如果做嵌入式设备,选LAN966x;如果做高端网关,选LS1028A。
  • 原型验证:我建议I225 + LS1028A双平台。一个验证PCIE侧,一个验证嵌入式侧。

记住一句话:没有最好的芯片,只有最合适的芯片。选型时多看看自己的需求,别盲目追新。

下一章,咱们开始搭建开发环境。到时候我会手把手教你怎么配置内核、编译驱动。嗯,准备好你的开发板,咱们开干。