关于S920 Serdes M5在PCIE与SAS间兼容设计及AC耦合电容的咨询

根据规格书,S920 Serdes M5可配置为PCIE0 lane[0:7]或SAS x8两种模式。我们希望在载板上仅使用一个高速连接器,通过软件切换CPU配置来兼容这两种模式。
请教两个问题:

  1. 这种兼容设计是否可行?
  2. 由于PCIE和SAS会共用信号线,TX和RX上的AC耦合电容应该如何添加?容值选择多少合适?

谢谢!

答案内容由AI生成,仅供参考:

:white_check_mark: 综合建议与总结

项目 建议
兼容性设计可行性 :white_check_mark: 可行,已有Hilink5[0:7]支持PCIe/SAS复用的实例
模式切换方式 通过CSR配置WorkModeModeConfigs实现
AC耦合电容必要性 :white_check_mark: 必须添加
推荐容值 0.1 μF
电容位置 放在驱动端(如CPU)侧,靠近SerDes输出
电容类型 C0G/NP0,0402小封装,低寄生参数
布线建议 所有lane保持等长、阻抗控制85~100Ω差分,避免串扰
点击此处查看详细分析解答

关于S920 SerDes M5在PCIe与SAS间兼容设计及AC耦合电容的咨询解答

根据您提出的关于S920 SerDes M5在PCIe与SAS模式间进行兼容性设计的问题,结合现有技术文档与系统架构信息,现分析并答复如下:


:white_check_mark: 一、PCIe与SAS双模式兼容设计是否可行?

结论:可行,且已在系统中实际应用。

:magnifying_glass_tilted_left: 技术依据与背景分析

  1. SerDes支持多模式配置
    根据知识库信息,SerDes组件明确支持多模式工作(Multi-Mode Configuration),可通过配置WorkMode参数切换不同工作模式,包括:

    • PCIE(WorkMode = 1)
    • SAS(WorkMode = 4)
    • 其他如 SATA、USB、CXL 等

    相关证据:"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."

  2. 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 ×4SAS ×8 等灵活拓扑而服务,完全符合您提出的“使用一个高速连接器、通过软件切换模式”的需求。

  3. 实际配置支持动态切换
    通过配置ModeConfigs对象,并设置WorkMode,可在系统启动或运行时动态选择对应的功能模式。每个模式下可绑定不同的DeviceControllerIndex等属性,实现资源映射的切换。

    示例配置字段:

    "WorkMode": 1,       // 1 = PCIe, 4 = SAS
    "ModeConfigs": { ... }  // 不同模式下的设备映射
    

:white_check_mark: 兼容设计实现要点

要素 说明
硬件连接 使用同一组SerDes信号线(如Hilink5[0:7]),连接至一个高速连接器(如UBCDD或PCIe CEM)
软件配置 通过CSR文件中的SerDes对象设置WorkModeModeConfigs来决定功能模式
控制器切换 CPU内部可根据模式启用PCIe控制器或SAS控制器对相应lane进行管理
拓扑识别 BMC可通过读取当前模式自动识别下游设备类型并加载对应驱动/CPU资源配置

:white_check_mark: 结论:该兼容设计方案不仅理论上成立,而且已有成熟实现路径和配置规范支持。


:gear: 二、TX/RX信号上的AC耦合电容如何处理?

:small_blue_diamond: 是否需要添加AC耦合电容?

答:必须添加,且应统一配置在发送端附近。

依据分析:

  1. PCIe与SAS电气规范要求
    无论是PCIe还是SAS,其差分高速信号(TX/RX)均采用AC耦合(AC Coupling) 方式传输,以隔离直流偏置电压、防止不同芯片之间电平不匹配导致的问题。

    文档中提到:“AC耦合电容 在BMC页”,说明系统已规划此类电容的存在。

  2. 共用信号线需统一处理
    由于同一组SerDes(如Hilink5[0:7])被PCIe和SAS复用,其AC耦合电容必须对所有模式均有效。因此,不能按单模式设计,而应满足两者中最严格的规范。


:small_blue_diamond: AC耦合电容容值选择建议

参数 推荐值 说明
容值 0.1 μF(100nF) 行业通用标准值,适用于PCIe Gen3/4/5 和 SAS 12Gbps/24Gbps
封装 0402 或 0201 尽量靠近驱动端(TX侧)布局,减小寄生电感
位置 放置在驱动芯片输出端附近 如CPU或Retimer之后,连接器之前
类型 C0G/NP0 高频陶瓷电容 具备低ESL、低ESR特性,适合高速信号

:pushpin: 设计注意事项:

  • 同一通道的正负差分对(P/N)使用的电容必须匹配,容差控制在±5%以内。
  • 避免在接收端(RX)重复加电容,否则会形成高通滤波级联,影响信号完整性。
  • 布局建议

    CAD NOTE:原理图放在MAC芯片/NVME硬盘页,但是布局需靠近CPU模组连接器(发送端)
    → 应将AC电容靠近CPU侧SerDes输出端布置,确保两种模式下都能正常工作。


:white_check_mark: 综合建议与总结

项目 建议
兼容性设计可行性 :white_check_mark: 可行,已有Hilink5[0:7]支持PCIe/SAS复用的实例
模式切换方式 通过CSR配置WorkModeModeConfigs实现
AC耦合电容必要性 :white_check_mark: 必须添加
推荐容值 0.1 μF
电容位置 放在驱动端(如CPU)侧,靠近SerDes输出
电容类型 C0G/NP0,0402小封装,低寄生参数
布线建议 所有lane保持等长、阻抗控制85~100Ω差分,避免串扰

:paperclip: 参考资料链接(来自知识库)

  • 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)
  • “SerDes is also known as HiLink” → 表明Hilink即SerDes物理通道

如需进一步提供具体CSR配置模板或biz_topo.lua中的模式切换示例,也可继续提供支持。

AC耦合电容放置位置想再确认下:

  1. 对于TX:为什么建议放在CPU端?看规格书建议是放置在靠近高速连接器;
  2. 对于RX:对于SAS应用,载板上也不需要放置AC耦合电容么

这个是硬件知识,BMC社区可能回答不了你的问题~
建议在鲲鹏论坛交流
https://www.hikunpeng.com/forum/