1. Layerscape平台与PCIe/高速网络接口概览
NXP Layerscape(LS)系列是面向网络、工业与边缘计算的高集成度ARM SoC 家族,其核心价值在于把多核 CPU、PCIe 控制器、以太网 MAC 与高速 SerDes 集成在同一芯片内,使单板即可承担数据面转发、加速与主控任务。理解这一平台,关键是先建立“CPU 复合体—总线—控制器—SerDes—外部接口”这条纵向链路,再理解各控制器如何通过 SerDes 通道与外部器件对接。
一、LS 系列 SoC 的典型构成
以 LS1046A、LS1043A、LS1028A、LX2160A 等常见型号为例,其内部大致可分为四类资源:
- CPU 复合体:如 LS1046A 为 4 核 Cortex-A72,LS1043A 为 4 核 Cortex-A53,LX2160A 为 16 核 Cortex-A72。核数、主频与缓存决定控制面处理能力。
- PCIe 控制器:通常提供 3~6 个 PCIe 控制器,支持 Gen1/2/3/4,可配置为 Root Complex(RC)或 Endpoint(EP),用于连接 NVMe、网卡、FPGA、交换芯片等。
- 以太网 MAC:集成多个 1G/2.5G/10G/25G/100G 以太网控制器,如 DPAA2 的 DPMAC、ENETC,支持 SGMII、XFI、USXGMII、CAUI-4 等接口模式。
- SerDes 与复用:芯片内部 SerDes 通道(Lane)通过 RCW(Reset Configuration Word)与 SerDes 协议寄存器映射到 PCIe、SGMII、XFI、SATA、Aurora 等不同协议,是“同一物理通道、多种协议”的关键。
因此,LS 平台的接口能力并非固定,而是由“控制器 + SerDes 通道 + 协议映射”三者共同决定。同一颗芯片在不同 RCW 配置下,可呈现完全不同的 PCIe 与网络接口组合。
二、PCIe 控制器与 SerDes 的关系
PCIe 控制器本身只负责事务层、数据链路层与部分物理层逻辑,真正的差分信号由 SerDes Lane 提供。一个 PCIe 控制器可绑定 1、2、4、8 或 16 条 Lane,形成 x1/x2/x4/x8/x16 链路。例如 LS1046A 的 PCIe1 可配置为 x4,PCIe2 为 x2,PCIe3 为 x1,具体取决于 SerDes 协议分配。
SerDes 协议映射通常通过 RCW 的 SRDS_PRTCL 字段与复位配置字选择。开发时若发现 PCIe 链路无法训练(LTSSM 停在 Detect 或 Polling),首先要确认该控制器对应的 SerDes Lane 是否被正确分配为 PCIe 协议,而不是被占用为 SGMII 或 SATA。
三、以太网 MAC 与高速网络接口
LS 系列的网络接口分为两类:一类是传统 ENET(eTSEC/DPAA1),支持 1G/2.5G,常用于管理口;另一类是 DPAA2 架构下的 DPMAC 与 ENETC,支持 10G/25G/100G,配合 DPNI、DPIO 等对象实现高性能数据面。接口模式包括:
- SGMII:1G,常用于光模块或 PHY;
- XFI:10G,直连 SFP+ 或 10G PHY;
- USXGMII:1G/2.5G/5G/10G 自适应;
- CAUI-4:100G,4 条 Lane 并行。
这些模式同样依赖 SerDes Lane 的协议分配。例如 LX2160A 的 100G MAC 需要 4 条 Lane 组成 CAUI-4,若 Lane 分配不足,则只能降速运行。
四、典型应用场景
LS 平台常见于以下场景:
- 网络设备:路由器、交换机、防火墙,利用多核与 DPAA2 做转发;
- 边缘计算:LS1028A 带 TSN 交换与显示输出,适合工业网关;
- 存储与加速:通过 PCIe 连接 NVMe SSD 或 FPGA 加速卡;
- 无线基础设施:LX2160A 用于 5G DU/CU,配合 25G/100G 前传接口。
五、开发环境搭建要点
典型开发流程如下:
- 安装 NXP LSDK(Layerscape Software Development Kit)或使用 Yocto 构建;
- 准备参考板(如 LS1046ARDB、LS1028ARDB、LX2160ARDB)与串口、网线、电源;
- 通过 U-Boot 加载 RCW、BL2、FIP、Linux 内核与根文件系统;
- 使用
lspci、ethtool、ip link查看 PCIe 与网络接口状态; - 通过
devlink、restool管理 DPAA2 对象。
下面这张图概括了 LS 平台从 CPU 到外部接口的纵向链路,以及 PCIe 与以太网 MAC 如何共享 SerDes 资源:
六、开发中的常见判断依据
在参考板上电后,可通过以下方式快速判断接口是否按预期工作:
| 观察对象 | 命令/方法 | 正常表现 | 异常提示 |
|---|---|---|---|
| PCIe 链路 | lspci -vv | 显示设备与 LnkCap/LnkSta 速率、宽度 | 无设备或 LnkSta 为 2.5GT/s x1 |
| 以太网接口 | ip link、ethtool eth0 | 接口 UP,Speed 与预期一致 | 接口不存在或 Speed 降级 |
| SerDes 协议 | 读取 RCW 与 SRDS_PRTCL | 与硬件设计一致 | 协议冲突导致链路不训练 |
| DPAA2 对象 | restool dprc show | DPNI、DPMAC 正常创建 | 对象缺失或资源不足 |