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侧,一个验证嵌入式侧。
记住一句话:没有最好的芯片,只有最合适的芯片。选型时多看看自己的需求,别盲目追新。
下一章,咱们开始搭建开发环境。到时候我会手把手教你怎么配置内核、编译驱动。嗯,准备好你的开发板,咱们开干。