This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TDA4VM:PCIe SMB 总线

Guru**** 2885260 points

Other Parts Discussed in Thread: TDA4VM

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1643501/tda4vm-pcie-smb-bus

器件型号: TDA4VM

尊敬的 TI 专家:

PCIe 不熟悉的 Im、因为我们使用 PCIe M.2、如果移除 TCA9543APWR SMB 总线、PCIe 将正常工作。  

我们将使用 TDA4VM EVM 作为参考。

此致

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Balaji:

    是的、PCIe 可在没有 TCA9543APWR 的情况下在您的定制电路板上运行、但需要注意以下几点。

    背景:EVM 具有两个 TCA9543APWR

    TDA4VM EVM 在 SoC_I2C0 上使用其中两个器件:

    | I2C 地址|函数|
    |----- |----- |
    | 0x70        |用于单通道和双通道 PCIe 卡连接器的 SMBus 多路复用器|
    | 0x71        | M.2 PCIe 连接器 (SERDES2) 的 SMBus 多路复用器/电平转换器|

    连接到 M.2 插槽 (0x71) 的器件是 M.2 SMBus 信号的电压电平转换器—根据 EVM 用户指南、它“将 SMBus 信号的 I/O 电平更改为 1.8V “。 它不参与 PCIe 链路训练、通道初始化或数据传输。

    PCIe 完全通过差分 TX/RX 数据通道和基准时钟运行 — M.2 连接器上的 SMBus 线路是不承载 PCIe 流量的边带信号。

    没有 M.2 TCA9543APWR (0x71)、您会损失什么:
    - 到 M.2 设备的 SMBus 路径。 M.2 模块有时使用 SMBus 来实现带外管理功能、例如温度报告或固件更新、但这是特定于器件的。 您的 M.2 器件是否需要 SMBus 取决于您正在使用的模块(请参阅以下问题)。

    不受影响的内容:
    - PCIe 链路训练和 LTSSM 操作
    - PCIe 枚举和 BAR 配置
    - PCIe 数据传输

    如果您的定制电路板还具有 PCIe 卡连接器(x1 或双通道插槽): 0x70 多路复用器用于这些连接器、并且是单独的器件。 移除该引脚同样不会影响 PCIe 运行、但会移除通往这些插槽的 SMBus 路径。

    SDK/PDK 电路板初始化—重要说明:

    如果您使用 TI SDK/PDK、电路板初始化代码可能会尝试在启动期间与 SoC_I2C0 上地址 0x71 的 TCA9543APWR 进行通信。 如果器件不存在并且代码无法正常处理缺少的器件、您可能会在启动时看到 I2C 错误。 PCIe 本身仍然可以正常工作、但您应该审核特定于电路板的初始化代码、并禁用任何针对 0x71 的 I2C 探头(如果您移除此器件)。

    以下几个有助于确认上述内容的问题适用于您的情况:

    1. 您打算使用什么 M.2 设备? (例如 NVMe SSD、WiFi 模块,蜂窝调制解调器或定制设备?) 答案将确定您的特定模块是否需要 SMBus。
    2. 您是从适用于 TDA4VM 的 TI SDK/PDK 开始、还是使用定制软件?
    此致、
    Jeff
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Saied、

    感谢您的响应、在这里、我们计划在 PCIe M.2 系列中使用 NVMe SSD、并将 TI SDK/PDK 用于 TDA4VM。

    此致

    Balaji S

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Balaji:

    太棒了—借助 NVMe SSD 和 TI SDK/PDK、情况变得更加清晰。

    关于 PCIe 功能:
    在典型实现中、NVMe SSD 通过 PCIe 通道进行通信、不需要 SMBus 即可进行基本操作。 但是、要完全确定、您应使用特定的 NVMe SSD 供应商文档进行验证—确认特定驱动器上的初始化或固件操作不需要 SMBus。 假设您的驱动器不需要 SMBUS、则可以从定制电路板上安全地移除 TCA9543APWR (0x71)。 如果需要 SMBus、通常将其用于可选的带外功能(例如温度监测)。

    关于 TI SDK/PDK:
    由于您使用的是 SDK/PDK、因此应验证电路板初始化代码是否尝试与 SoC_I2C0 上地址 0x71 处的 I2C 多路复用器进行通信。 如果存在检测器且器件不存在、则探测可能会失败或在启动时生成 I2C 错误。

    为了安全起见:

    1. 检查 PDK 板支持代码 、以获取任何 I2C 探头或 SoC_I2C0 上针对地址 0x71 进行初始化。
    2.如果存在这样的探测器,请将其注释掉,或者添加一个条件以跳过您的主板型号。
    3. 测试 PCIe 枚举和 NVMe 检测, 以确认驱动器已被识别并正常工作。

    如果您在删除器件后在引导期间发现与地址 0x71 相关的 I2C 错误、这将确认探头存在并需要禁用。

    此致、
    Jeff