根据规格书,S920 Serdes M5可配置为PCIE0 lane[0:7]或SAS x8两种模式。我们希望在载板上仅使用一个高速连接器,通过软件切换CPU配置来兼容这两种模式。
请教两个问题:
- 这种兼容设计是否可行?
- 由于PCIE和SAS会共用信号线,TX和RX上的AC耦合电容应该如何添加?容值选择多少合适?
谢谢!
根据规格书,S920 Serdes M5可配置为PCIE0 lane[0:7]或SAS x8两种模式。我们希望在载板上仅使用一个高速连接器,通过软件切换CPU配置来兼容这两种模式。
请教两个问题:
谢谢!
答案内容由AI生成,仅供参考:
| 项目 | 建议 |
|---|---|
| 兼容性设计可行性 | |
| 模式切换方式 | 通过CSR配置WorkMode和ModeConfigs实现 |
| AC耦合电容必要性 | |
| 推荐容值 | 0.1 μF |
| 电容位置 | 放在驱动端(如CPU)侧,靠近SerDes输出 |
| 电容类型 | C0G/NP0,0402小封装,低寄生参数 |
| 布线建议 | 所有lane保持等长、阻抗控制85~100Ω差分,避免串扰 |
根据您提出的关于S920 SerDes M5在PCIe与SAS模式间进行兼容性设计的问题,结合现有技术文档与系统架构信息,现分析并答复如下:
结论:可行,且已在系统中实际应用。
SerDes支持多模式配置
根据知识库信息,SerDes组件明确支持多模式工作(Multi-Mode Configuration),可通过配置WorkMode参数切换不同工作模式,包括:
PCIE(WorkMode = 1)SAS(WorkMode = 4)相关证据:
"SerDes_0_1_A is configured to operate in PCIE mode, as specified by the WorkMode parameter."
"SerDes supports multi-mode configuration, enabling switching between different operational modes via configuration."
Hilink资源复用机制
在系统设计中,Hilink5[0:7] 明确被定义为可同时服务于PCIe控制器0的Lane[0:7] 和 SAS控制器1,这表明该SerDes通道具备物理共享、逻辑切换的能力。
文档原文:“Hilink5[0:7] PCIE控制器0 lane[0:7] SAS控制器1”
该设计正是为实现PCIe ×4 + PCIe ×4 或 SAS ×8 等灵活拓扑而服务,完全符合您提出的“使用一个高速连接器、通过软件切换模式”的需求。
实际配置支持动态切换
通过配置ModeConfigs对象,并设置WorkMode,可在系统启动或运行时动态选择对应的功能模式。每个模式下可绑定不同的Device、ControllerIndex等属性,实现资源映射的切换。
示例配置字段:
"WorkMode": 1, // 1 = PCIe, 4 = SAS "ModeConfigs": { ... } // 不同模式下的设备映射
| 要素 | 说明 |
|---|---|
| 硬件连接 | 使用同一组SerDes信号线(如Hilink5[0:7]),连接至一个高速连接器(如UBCDD或PCIe CEM) |
| 软件配置 | 通过CSR文件中的SerDes对象设置WorkMode和ModeConfigs来决定功能模式 |
| 控制器切换 | CPU内部可根据模式启用PCIe控制器或SAS控制器对相应lane进行管理 |
| 拓扑识别 | BMC可通过读取当前模式自动识别下游设备类型并加载对应驱动/CPU资源配置 |
结论:该兼容设计方案不仅理论上成立,而且已有成熟实现路径和配置规范支持。
答:必须添加,且应统一配置在发送端附近。
PCIe与SAS电气规范要求
无论是PCIe还是SAS,其差分高速信号(TX/RX)均采用AC耦合(AC Coupling) 方式传输,以隔离直流偏置电压、防止不同芯片之间电平不匹配导致的问题。
文档中提到:“AC耦合电容 在BMC页”,说明系统已规划此类电容的存在。
共用信号线需统一处理
由于同一组SerDes(如Hilink5[0:7])被PCIe和SAS复用,其AC耦合电容必须对所有模式均有效。因此,不能按单模式设计,而应满足两者中最严格的规范。
| 参数 | 推荐值 | 说明 |
|---|---|---|
| 容值 | 0.1 μF(100nF) | 行业通用标准值,适用于PCIe Gen3/4/5 和 SAS 12Gbps/24Gbps |
| 封装 | 0402 或 0201 | 尽量靠近驱动端(TX侧)布局,减小寄生电感 |
| 位置 | 放置在驱动芯片输出端附近 | 如CPU或Retimer之后,连接器之前 |
| 类型 | C0G/NP0 高频陶瓷电容 | 具备低ESL、低ESR特性,适合高速信号 |
“CAD NOTE:原理图放在MAC芯片/NVME硬盘页,但是布局需靠近CPU模组连接器(发送端)”
→ 应将AC电容靠近CPU侧SerDes输出端布置,确保两种模式下都能正常工作。
| 项目 | 建议 |
|---|---|
| 兼容性设计可行性 | |
| 模式切换方式 | 通过CSR配置WorkMode和ModeConfigs实现 |
| AC耦合电容必要性 | |
| 推荐容值 | 0.1 μF |
| 电容位置 | 放在驱动端(如CPU)侧,靠近SerDes输出 |
| 电容类型 | C0G/NP0,0402小封装,低寄生参数 |
| 布线建议 | 所有lane保持等长、阻抗控制85~100Ω差分,避免串扰 |
Hilink5[0:7] carries data from PCIe Controller 0 through SerDes to downstream components.SerDes supports multi-mode configuration, enabling switching between different operational modes via configuration.AC耦合电容 在BMC页Design NOTE: Model: PCIE控制器0 Lane[0:7](支持2x4)如需进一步提供具体CSR配置模板或biz_topo.lua中的模式切换示例,也可继续提供支持。
AC耦合电容放置位置想再确认下:
这个是硬件知识,BMC社区可能回答不了你的问题~
建议在鲲鹏论坛交流
https://www.hikunpeng.com/forum/