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.

[参考译文] AM623:为什么串联电阻器可以消除 eMMC IO 误差

Guru**** 2331900 points
Other Parts Discussed in Thread: SK-AM62
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1507836/am623-why-can-serial-resistor-eliminate-emmc-io-error

器件型号:AM623
主题中讨论的其他器件:SK-AM62

工具/软件:

在 eMMC 部分的原理图检查清单中:

7.2.2.1.1.3信号端接
提供以下端接:
为 MMC0_CLK 信号连接串联电阻(0 Ω、靠近处理器)、为连接外部下拉电阻
MMC0_CLK 信号(靠近 eMMC 器件)。
•为数据线(MMC0_DAT0)连接外部上拉电阻(靠近 eMMC 器件)。 eMMC 器件(如
只要 eMMC 器件符合 eMMC 标准、就为数据信号启用了上拉电阻
默认为 MMC0_DAT1..7。 进入4位模式时、eMMC 器件会关断其 MMC0_DAT1..3上拉电阻
进入8位模式时、MMC0_DAT1..7上拉电阻。 eMMC 主机软件应打开相应的电源
DAT 在更改模式时拉取

#1。 0 Ω 电阻器用于 MMC0_CLK 的用途是什么?  

#2. 在更改模式时、软件打开 DAT 上拉电阻、DAT 引脚上是否必须上拉电阻? 如果是、为什么 eMMC 器件在开关期间将其从打开状态关闭?

#3. 是否在 SDK 中实现了在更改模式时打开 DAT 上拉电阻? 未在驱动程序 sdhci_am654.c 中找到 padconfig 信息

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

    1) 如果需要解决信号完整性问题、串联电阻提供了安装10欧姆至33欧姆阻抗的选项、以帮助衰减从信号布线远端返回的反射。

    2)不安装上拉电阻 R399 (DNI)、因此不会上拉电阻器。

    3)我需要将此主题分配给软件团队中的某个人处理此问题。 在我重新分配之前、您是否还有任何与硬件相关的问题?

    此致、
    Paul

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

    您好、Paul:

    谢谢。

    在部分客户电路板上存在 CEQ 错误、IO 错误或 CRC 错误、SDK 是旧的、未修复调优算法错误。 将 DAT0-7、CMD 上的串行电阻从0 Ω 调整为22 Ω 解决了该问题、CMD 线上没有串行电阻。  

    是否仍然需要更新 eMMC 调优算法以避免将来即使在部署之前通过了测试、也可能出现现场 CEQ/IO/CRC 错误? 由于更新软件并不是一个简单的决定、因此需要更详细的分析。

    PS:我假设您正在与软件团队合作处理 eMMC 问题、知道 eMMC 调优算法更新的背景。

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

    我不确定调优算法错误修复发生了哪些更改、因此我无法回答您的问题。 但是、我怀疑为了在不同器件工作条件下提供正确的数据有效窗口、需要进行更改、并且应该实施更改以确保产品按预期工作。

    串联电阻用于解决信号完整性问题、而不是解决时序问题。 串联电阻可能会影响 足够使非工作单元正常工作的时序。 然而、串联电阻引入的微小时序变化通常非常小。  您不应该假设串联电阻足够好来防止出现问题。

    客户应实施最新的软件、以实现稳健的系统。

    此致、
    Paul

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

    您好、Paul:

    在该客户的电路板上、错误是通过复制特定的数据包来触发的: 最初复制更大的数据包>100MB 触发错误/失败,然后分成两个相等的数据包,然后只有两个数据包中的一个触发错误/失败,然后再将该数据包分成两个相等的封装,其中一个仍然可以触发错误,所以有理由认为 IO/CRC/CQE 错误是由数据线上传输 的特定数据模式触发的,这可能更容易引入严重的串扰,然后减少串扰。 这是我的推导,如果它是合理的,如果优化调谐过程/算法可以提高 抗干扰能力?

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

    该问题可能与 串扰或 ISI 有关。

     由于反射、失败的数据模式很可能会在一个或多个数据信号上产生驻波、并且驻波会干扰后续的数据模式。 这通常称为符号间干扰(ISI)、这是一种信号失真形式、其中一个符号会干扰后续符号。

    安装串联电阻器可以衰减任何反射、并有效地在驻波产生问题之前消除驻波。

    您的客户应对 PCB 布局执行信号完整性仿真、以检查是否存在任何串扰或 ISI 问题。 他们在设计 PCB 时是否执行了任何信号完整性仿真?

    我建议您使用 Bin 来打印调优算法日志、看看它是否选择了一个以数据有效窗口为中心的捕获点。   如果调优算法选择的捕获点位于数据有效窗口的中心、则问题可能是信号完整性问题。 如果是、串联电阻可能是唯一的解决方案。

    此致、
    Paul

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

    您好、Paul:

    调整是调整时钟相位还是数据信号相位?

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

    HS200模式下使用调优来优化接收时序。 之所以需要这一点、是因为连接的 eMMC 器件  在 HS200模式期间不会提供数据选通(DS)信号。 我们需要补偿 PCB 和所连接的 eMMC 延迟、这些延迟因系统而异、因此  捕获时钟转换 可以集中在数据有效窗口中。  调优期间调整的延迟是 在 AM62x 器件内部的接收器 DAT/CMD 捕获时钟中。

    此致、
    Paul

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

    您好、Paul:

    谢谢。  

    如果调整时钟之外的 DAT/CMD、则每条 DAT/CMD 线路应该具有不同的延迟(相对于日志)、似乎 所有信号都共享一个 ITAP 延迟值、因此等长对于布局非常重要?  

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

    相应的数据表时序条件表 定义了每种数据传输模式允许的最大 PCB 延迟不匹配。 我们的设计团队在外设时序关闭期间考虑了这种 PCB 布线延迟不匹配问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您的客户应在 PCB 布局上执行信号完整性仿真、以检查是否存在任何串扰或 ISI 问题。

    是否有捕获或仿真 ISI 的方法?

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

    我会将此主题重新分配给能够比我更详细地讨论此主题的人。

    此致、
    Paul

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

    您好、Paul:

    从 SK-AM62上的 eMMC 引导后、padconfig 值为0x50000、其中显示 eMMC 引脚拉电阻被禁用、接收器被启用。 这违反了原理图检查列表中的语句:

    进入4位模式时、eMMC 器件会关断其 MMC0_DAT1..3上拉电阻 、进入8位模式时则关断 MMC0_DAT1..7上拉电阻。  在更改模式时、eMMC 主机软件应打开相应的 DAT 上拉电阻。"

    root@am62xx-evm:~# devmem2 0x000f4210
    /dev/mem opened.
    Memory mapped at address 0xffffba25c000.
    Read at address  0x000F4210 (0xffffba25c210): 0x00050000
    root@am62xx-evm:~# devmem2 0x000f4214
    /dev/mem opened.
    Memory mapped at address 0xffffb1ed8000.
    Read at address  0x000F4214 (0xffffb1ed8214): 0x00050000
    root@am62xx-evm:~# devmem2 0x000f420c
    /dev/mem opened.
    Memory mapped at address 0xffffba365000.
    Read at address  0x000F420C (0xffffba36520c): 0x00050000
    root@am62xx-evm:~# devmem2 0x000f4208
    /dev/mem opened.
    Memory mapped at address 0xffff88912000.
    Read at address  0x000F4208 (0xffff88912208): 0x00050000
    root@am62xx-evm:~# devmem2 0x000f4204
    /dev/mem opened.
    Memory mapped at address 0xffff910f7000.
    Read at address  0x000F4204 (0xffff910f7204): 0x00050000
    root@am62xx-evm:~# devmem2 0x000f4200
    /dev/mem opened.
    Memory mapped at address 0xffff87f2e000.
    Read at address  0x000F4200 (0xffff87f2e200): 0x00050000
    root@am62xx-evm:~# devmem2 0x000f41FC
    /dev/mem opened.
    Memory mapped at address 0xffff8e8a6000.
    Read at address  0x000F41FC (0xffff8e8a61fc): 0x00050000
    root@am62xx-evm:~# devmem2 0x000f41F8
    /dev/mem opened.
    Memory mapped at address 0xffff8a0e3000.
    Read at address  0x000F41F8 (0xffff8a0e31f8): 0x00050000
    root@am62xx-evm:~# uname -a
    Linux am62xx-evm 6.1.80-dirty #4 SMP PREEMPT Fri May  9 17:14:06 CST 2025 aarch64 aarch64 aarch64 GNU/Linux
    root@am62xx-evm:

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

    如果是、这是一个软件错误、允许信号在不驱动时悬空、从而影响 AM62x 和 eMMC 器件的长期可靠性。

    您应该提交一个错误 来突出显示此问题。

    此致、
    Paul

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

    附上一些有关 ISI 的文档、以帮助解决此问题、网址为 question.e2e.ti.com/.../ISI_5F00_SSO_5F00_basics.pptx

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

    您好 Shriram、

    我知道幻灯片中描述了两种类型的干扰:

    #1。 SSO:同时切换时最坏情况下的电源开关噪声。

    #2. ISI:由阻抗不匹配引起的反射。

    对于此客户案例、将串联电阻从0 Ω 更换为22 Ω/33 Ω、消除了电路板上的 eMMC IO/CRC/CQE 错误、 使用0 Ω 电阻器时肯定会重现该错误。

    通过探测信号、两个电阻值都没有明显的信号质量变化。

    您如何考虑它是否与 SSO 或 ISI 相关?

    BTW: 这里的 A 和 V 代表什么? 如表中所示

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

    Tony、表中的 A 表示干扰源、而 V 表示受扰对象。 我不清楚更换电阻值如何影响观察到的误差的说法。 关于 SSO 与 ISI、它特定于模式。 在最坏情况下、所有信号的同时切换将会激发 SSO。 最坏情况下的 ISI 将通过将数据位从长的0流切换到1、然后在下一个周期中切换回0来激励。 因此、一个由0组成的长流、后跟0101型开关。 反之亦然、这也是相反的逻辑状态。

    -Shriram  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid="35634" url="~/support/processors-group/processors/f/processors-forum/1507836/am623-why-can-serial-resistor-eliminate-emmc-io-error/5820000 #5820000"]

    如果是、这是一个软件错误、允许信号在不驱动时悬空、从而影响 AM62x 和 eMMC 器件的长期可靠性。

    您应该提交一个错误 来突出显示此问题。

    [/报价]

    我不确定是讨论 eMMC 内部用于软件控制的上拉电阻、也不确定它是否真正启用。 不确定谁可以评论它。