2568|2

283

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

我的eMMC启动不正常,问题到底在哪里? [复制链接]

今天我们要分享的这个案例是关于eMMC启动不正常的问题,感谢热心网友“晒不”提供的案例素材,也谢谢他的分享。

上篇文章我们提到希望大家一起来分享硬件调试中发现的一些低级错误,果然就有我们的铁杆粉丝之一“晒不”发来了他初步整理的案例素材,大家一起来学习一下吧,也谢谢他的分享! 

这个项目的主芯片是瑞芯微的RV1126(位号U10),分别拖了一个金士顿的eMMC芯片(位号U40)和镁光的NAND Flash芯片(位号U41),在Layout的时候做了兼容设计,也就是通过选焊电阻的方式,让主芯片来选通其中一个芯片,使用的时候二选一,eMMC和NAND Flash芯片不会一起工作,大致的拓扑图如下所示。

 

 

 

从Layout设计文件可以看到,几个芯片都是放在Top面,eMMC和NAND Flash基本是放在同一个中心位置,所以贴片的时候只能选择贴其中的一个,两个芯片是没法同时贴上的,所以需要做兼容设计。两个分支电阻在垂直空间上重叠放置在Top面和Bottom面,这样如果只焊接其中一个电阻的时候,确实是可以做选通操作,看起来Layout设计没什么问题,对应的走线如下图所示。

 

 

 

设计上没发现什么问题,然后就制板贴片开始调试。硬件在调试板子时发现,有时候上电,系统会有卡死的情况,同样的固件在开发板上是OK的,软件做了几轮修改都会有类似软件报错的情况,显示出跑到eMMC操作时就卡住了,最后只能怀疑是硬件或者PCB Layout的问题。

 

 

 

但硬件有排除不是自己问题的理由:“最小系统模块(包含eMMC)的原理是直接复制开发板的,所有的器件贴装也和开发板一样,同样的代码在之前开发板上没有问题,而现在新设计的板子有问题,那肯定是PCB Layout出了问题”。

不可否认,硬件的话确实有一定的道理,硬件原理之前是验证过的,这样压力一下子就给到了PCB设计工程师。无奈,PCB工程师只能想办法自证清白,在没有专职SI工程师的情况下,PCB设计工程师只能通过再次查板,进行粗略的估算和评估一些影响,检查的方向如下:

1、阻抗不匹配方向:所有信号走线没有跨分割平面,走线线宽和阻抗计算也没有错误,同时也不存在较长的走线Stub,所以这一条不会影响。

2、时序方向:因为需要跑200MHz的信号,等长也是比较关键的,但因为没有做仿真,只能按照芯片的手册要求来做好等长约束,检查了等长表,每根信号走线长度也是都可以满足芯片要求,所以时序这块的影响也是可以初步排除。

3、电源方向:按照经验简单算了电源平面载流能力是可以满足需求的,相应的电源Pin脚也有足够的滤波电容,硬件测试电压和电源噪声都是可以满足要求,所以电源的影响也可以排除。

同时也和开发版本的设计进行了对比,硬件人员觉得是因为时钟信号走线和开发板不一致导致的。如下图是开发板的走线情况。

 

 

 

开发板上eMMC和NAND Flash也是同面同中心放置,原理是一样的,也是通过两个电阻做了选通,只是走线上的分支更短,而新改板后的分支相对来说长了很多。所以硬件人员有理由觉得是PCB改版带来的问题,所有的原理和贴片器件都是一样,PCB设计改了就出问题了,这个大概率是PCB设计不一样而带来的问题。

而PCB设计工程师也有自己的主张:“CLK信号是由RV1126源端发出的,开发板的串联阻抗匹配电阻放在了终端,靠近eMMC和NAND Flash是不对的,应该把串联匹配电阻靠近源端,所以本次改版设计的电阻就往源端放了,这样确实会导致分支变长,但由于是选焊的,如果一次只焊接其中一路的情况下,另一路是没有导通的,这样相当于没有分支的影响,原理上来说信号质量会更好。如果连串联匹配电阻放在源端也被怀疑有问题的话,那就是怀疑信号完整性的理论有问题了。”PCB设计工程师的话也是说得在理,无可挑剔,由于没有SI人员支持,于是双方各执一词,谁也说服不了谁。

 

 

 

经过几天的“沟通”,压力还是在PCB工程师这。就在PCB工程师拿着PCBA研究的时候,无意中发现虽然U41没有焊接,但是R41却焊接了器件。这个发现仿佛一道佛光,拯救了“背锅侠”。在PCB工程师的反馈下,硬件拆除了R41,系统终于可以正常启动了。

这个时候硬件人员就有疑问了,为什么开发板上的R41没有拆除可以正常工作,改版后的R41焊上就有问题了呢?大家可以帮忙回答一下哈!

同时也欢迎大家继续提供类似这种调试过程中的低级错误案例素材,谢谢!

最新回复

抓一下r41的波形~  详情 回复 发表于 2024-7-30 08:52
点赞 关注
个人签名

深圳市一博科技股份有限公司

 
 

回复
举报

72

帖子

0

TA的资源

一粒金砂(中级)

沙发
 

经过几天的“沟通”,压力还是在PCB工程师这。就在PCB工程师拿着PCBA研究的时候,无意中发现虽然U41没有焊接,但是R41却焊接了器件。这个发现仿佛一道佛光,拯救了“背锅侠”。在PCB工程师的反馈下,硬件拆除了R41,系统终于可以正常启动了。   恭喜恭喜

 
 
 

回复

4935

帖子

12

TA的资源

版主

板凳
 
抓一下r41的波形~
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
推荐帖子
用fpga实现uart

最近翻书,发现有一个用FPGA实现uart通信的实例。于是乎就在自己的实验板上试验起来。但是有一个尚未解决:我的时钟是50mhz的, ...

[MSP430 学习笔记] 晶体振荡器的负载电容

最近有童靴在问如何确定MSP430的晶体负载电容,一般来讲,大家都是在用一些经验值,对其原理也不是特别清楚。 有兴趣的同学可以看 ...

我的Beaglebone学习历程-2

整理一下前面发的帖子,搞个总帖,方便大家交流。 1. BeagleBone 硬件性能测试 _周计划 https://bbs.eeworld.com.cn/thread-32 ...

枚举变量与宏的应用

本帖最后由 zhaojun_xf 于 2015-4-17 11:43 编辑 想必会C的网友对枚举和宏的定义与使用并不陌生,对于枚举和宏的区别大家应该 ...

DDR SDRAM控制器verilog代码及中文说明文档

DDR SDRAM控制器verilog代码及中文说明文档

Python如何链接MySQL?

连接MYSQL需要3步 1、安装 必须先安装MySQL驱动。和PHP不一样,Python只默认安装了SQLite的驱动。最常用的包是MySQLdb但是 ...

测评入围名单:6月22国产芯先楫直播间HPM6750EVKMINI申请活动

感谢网友参与6月22日晚上先楫直播:“纯国产!看先楫800MHz RISC-V 高性能MCU 如何玩转四轴伺服电机控制”,以下是申 ...

对仿真软件的自我感觉

在使用LTspice中,最蛋疼的莫过于他不能支持数模混合仿真,虽然只是简单搭个逻辑但不至于使用MCU,论应用级仿真电源之类还是使用 ...

高速pcb板设计需要懂的基本概念

高速pcb板设计需要懂的基本概念 要做高速的 PCB设计,首先必须明白下面的一些基本概念,这是基础。 1、什么是电磁干扰(E ...

基于MSPM0C110x家庭割草机主板设计

Texas Instruments MSPM0C110x混合信号微控制器(MCU)属于MSP高度集成的超低功耗32位MCU系列。此系列MCU基于增强型Arm® Co ...

关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表