310系列EMMC问题调测思路
收藏回复举报
310系列EMMC问题调测思路
发表于2025-03-19 09:49:36
0 查看

310 RC系列产品EMMC调试问题案例

问题背景:

310 RC系列产品在回板调试中,发现产品在emmc启动配置下启动失败,打印如下:

Get Bootarg raram:U

BootMode: Ox1. PXE Boot!

non-secure boot.

send CMD 1 errord=0x104 emun eMMC error!

[EMMCReadWriteBlocksl:[70L] emmc init error, Ret = OxFFFFFFFF!

[EMMCBlockReadBlocksl:[89Ll emmc init error Ret = 0x7!

send CMD 1 error coed=0x104 emun eMMC error!

[EMMCReadWriteBlocksl:[70L] emmc init error, Ret = OxFFFFFFFF!

[EMMCBlockReadBlocksl:[89L] emmc init error Ret = 0x7!

send CMD 1 error coed=0x104 emun eMMC error!

[EMMCReadWriteBlocksl:[70L] emmc init error Ret = OxFFFFFFFF!

[EMMCBlockReadBlocksl:[89L] emmc init error, Ret = OxZ!

send CMD 1 error coed=0x104 emun eMMC error!

[EMMCReadWriteBlocksl:[7OL] emmc init error, Ret = OXFFFFFFFF!

[EMMCBlockReadBlocks]:[89L] emmc init error Ret = 0xZ!

send CMD 1 error coed=0x104 emun eMMC error!

[EMMCReadWriteBlocksl:[70L] emmc init error Ret = OxFFFFFFFF!

[EMMCBlockReadBlocksl:[89L] emmc init error, Ret = Ox7!

current keypoint[93], last keypoint[11. NumOfLoadFileHandles = 4, Status = Success [PxeLoadFilellndex = 0, Status = 0.

Checking media [Passl

无法建立EMMC连接开始制卡。

定位思路:

  1. 确定问题类型:

是单体环境的偶发现象,还是多台环境的必现问题?——多台环境的必现问题

固件包是否使用最新的固件——是

  1. 问题界定:

从打印来看,是emmc读取方面出了问题,固件已是最新版本,且启动过程在较为初始的软件阶段,初步可以排除软件问题,往硬件问题的方向定位。

验证结论

检测emmc颗粒在上电过程中的时钟波形如下:

cke_201.jpeg

从图像中可以看出以下信息:

  1. 时钟电平不对,高电平只有1.2V,正常的EMMC时钟高电平应该在1.8V左右
  2. 时钟频率是正常的,启动阶段,时钟频率可以达到400kHZ

什么原因会引起高电平数值不达标呢?

  1. 电源供电问题eMMC的电源电压供应不足会导致时钟信号的高电平达不到预期值。 1
    • 检查电源线路是否有接触不良或损坏的情况,确保电源能够稳定地提供所需的电压。
    • 验证电源管理ICPMIC)的输出电压是否符合规范,特别是1.8V的电源轨。
  2. 电路设计问题:电路设计不合理也会影响信号电平。
    • 检查PCB布局是否存在信号线过长、走线不佳等问题,这可能导致信号衰减,影响电平质量。 
    • 确认信号线上是否有适当的匹配电阻,以减少反射和信号干扰。
  3. 探头选择不当:使用不合适的示波器探头也会导致测量结果与实际值有偏差。
    • 建议使用高带宽的无源探头或有源探头进行测量,确保探头带宽至少为信号频率的5倍以上,以获得准确的测量结果。
    • 检查探头是否与示波器正确连接,避免因连接问题导致测量误差。
  4. 环境噪声:外部电磁干扰(EMI)可能会对信号造成影响,导致测量结果不准确。
    • 尝试在屏蔽环境中进行测量,以排除外界噪声的干扰。
    • 检查附近是否有强电流、高频信号源等可能的干扰源。

问题确认

以上述思路进行排查,发现在电路设计时,时钟的对地电容(红圈位置)过大,客户选择了0.1uf100000pf)的电容,实际的参考原理图给出的电容为27pf。,修改电容容值后,问题解决。

cke_202.jpg

设计的问题点:

未考虑到 RC充放电延迟效应,单纯的增大了对地电容的数值

时间常数(τ = RC:时钟

的输出阻抗(R)与对地电容(C)共同构成RC回路。电容增大时,时间常数τ增大,导致信号充放电速度变慢。

电平建立时间不足:在高速时钟下,若τ接近或超过时钟周期的1/2,驱动器无法在半个周期内将电压充/放到目标值(如逻辑高电平)。例如:

若时钟频率为100 MHz(周期10 ns),驱动器需在5 ns内完成充电。若τ过大(如5 ns),电压仅能充到约63%的目标值,导致高电平不足。

我要发帖子