Loading...
首页专栏详情
打赏

解决 DDR 问题的一些手段

易百纳技术社区 CST-视觉光源方案 2021-11-20 15:17:49

解决 DDR 问题总的办法就是找规律,尝试是否能找到死机的规律,如都在某个频率下死机,休眠唤醒死
机的是否是和休眠时间多久有关等。尝试各种方法如定频,尝试不同频率,抬压,改驱动强度等逐个排
查可能性缩小问题范围。

  1. 对于在 DDR 初始化中报错的问题
  2. 如果有”rd addr 0x… = 0x…”的报错基本上是焊接问题。焊接问题可以用“Rockchip 平台 DDR 测
    试工具”直接找到问题点。
  3. 如果报”16bit error!!!“,”W FF != R“的话表明 DDR 基本的读写都是错误的。这种情况焊接问
    题概率比较大。
  4. 打印”unknow device”说明颗粒基本的读写都不对,无法探测到 dram 类型。此时应该检查焊接
    问题。
  5. 对于个别容量不是 2 的 n 次幂的颗粒,如 768MB,1.5GB,3GB 等特殊颗粒有些版本的代码可能
    没做好兼容工作,可以更新到最新 loader,如果还有异常的话可以联系 DDR 相关工程师分
    析。
  6. 对于 DDR loader 中报错的问题,大部分会是焊接问题,可以尝试使用 ddr 测试工具焊接专项
    选择对应容量的测试项测试分析。
  7. 查看 loader 中 DDR 初始化部分 log 中的 DDR 容量行列 bank 及颗粒类型位宽信息是否正确。如果
    信息错误可能引起 DDR 问题。
    如下图第一行为 DDR 版本号,第 3 行 DDR 频率,第 4 行 DDR 类型,第五行从左到右分别为系统
    的位宽数,列数,bank 数,行数,片选数,颗粒的位宽数和总容量。第 7 行“OUT”打印出来后表面
    DDR 初始化成功并退出,再下面就是 usbplug 或者 miniloader 打印的 log。这中间 Die Bus-Width 比
    实际的大不会有问题,但是比实际的小会引起死机。

  8. 看显示是否正常。
    当系统死机时虽然 cpu 停下来了,但是 vop 依然会重复着从 DDR 中取数据并显示在屏幕上。所以
    死机时可以直接观察显示的情况来初步判断 DDR 这时候的状态。

  9. 如果显示正常的话,说明这时候 DDR 的是能够正常访问的, 但是并不能说明死机和 DDR 无
    关。
  10. 如果显示异常。
    如下图,我们称为“花屏”,有可能是 DDR 变频的过程中死机了导致 DDR 处于不可访问状态,这时候可以定频试试。或者可能是电源问题导致 DDR 控制器逻辑异常。

  11. 排查是否是电源问题

  12. 固定 cpu/gpu 到一个较低的频率,适当提高 arm/logic 电压看看是否有改善。有改善的话可能
    是电源问题。
  13. 审核 layout 看是否电源上存在问题。
  14. 测量电源纹波是否存在问题。
  15. 排查是否信号质量问题
  16. 降低 DDR 频率看看是否有明显改善,有改善的话很可能就是信号质量问题。
  17. 让硬件同事审核 layout 和 gerber 文件,检查走线是否合理,参考层是否完整。
  18. 适当加强减弱驱强度/odt 强度,看是否有改善。
  19. 改变 RZQ 的阻值看看是否有改善。遇到过个别 220ball 的 lpddr3 需要将 RZQ 改小或者去掉才
    能够恢复正常。
  20. 对于白牌颗粒
    对于白牌颗粒,如果排查过电源,信号质量等都没问题的情况下只能怀疑可能是存储单元有问题,
    可以尝试现有遇到过的白牌颗粒的处理方法。
  21. 尝试关闭 pd_idle,sr_idle 看看是否有效果。
  22. 对于一些死机时屏幕有“重影”的颗粒可以尝试 bypass DRAM DLL 看是否有效果。
  23. 一些存储单元有问题的颗粒可以通过 DDR 测试工具测试出来, 目前遇到的比较多的是 DDR
    测试工具 March 专项能测出来的概率比较大。
    需要注意的是 DDR 测试工具仅仅是作为一个辅助工具,测试工具测试 pass 并不代表颗粒或者
    板子稳定性一定没问题
78
收藏
点赞
评论
0个
内容存在敏感词
打赏作者
CST-视觉光源方案
您的支持将鼓励我继续创作!
金额:
¥1 ¥5 ¥10 ¥50 ¥100
支付方式:
微信支付
支付宝支付
微信支付
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

易百纳技术社区
确定要删除此文章、专栏、评论吗?
确定
取消
易百纳技术社区