当前位置:首页 > 公众号精选 > 嵌入式微处理器
[导读]前言由于不可抗拒因素,原定性产品替换一颗器件,该器件的目的是防止外界EMI干扰,位置处于处理器和SD卡之间,器件是为每个SD卡信号线连接100Ω电阻。更换后,SD卡探测正常,从SD卡读写几十KB文件功能正常, 从SD卡数据500KB以上的文件永远无法读完,系统其他功能依旧正常,再...

前言

由于不可抗拒因素,原定性产品替换一颗器件,该器件的目的是防止外界EMI干扰, 位置处于处理器和SD卡之间,器件是为每个SD卡信号线连接100Ω电阻。

更换后,SD卡探测正常,从SD卡读写几十KB文件功能正常, 从SD卡数据500KB以上的文件永远无法读完,系统其他功能依旧正常,再次插拔SD卡不可识别,只能关机重启。

问题原因:新旧器件的寄生电容有差异,SD卡时钟信号畸形,处理器SD控制器

下面看看整个曲折排查过程


方向错误

前天,报告故障时同事没有把事情给我描述清除,仅说“更换EMI器件后,从SD卡里执行系统更新时被卡住了,进度条走不完”。我到产线的确每次都能复现改描述问题。庆幸,容易复现以前都好办,可我的排查方向错了,被问题描述误导而去检查设备驱动是否存在问题,比如mmc驱动里某个核心死锁、等待信号量、while循环、状态机混乱。

纳闷着产品都量产好几年了,从SD卡执行系统更新功能我还特别关注过可靠性。生怕好好一台设备升级变砖。于是一下午在新、老器件上尝试对比差异。生产部门的示波器很难用,只用它初略对比信号高、低电平范围,没能捕获到实际频率响应特性,粗略观测到两设备插入SD卡后某几个信号线逻辑电平不一致,一个高电平、一个低电平,至于原因未知。

快下班时同事告知:“设备可以正常保存数据文件到SD卡。”。

What?有这么神奇?

设备业务数据每个文件只有200KB以内,我尝试着用dd命令在SD卡根目录创建若干不同大小文件,再telnet到设备上逐个 hexdump它们,发现500KB文件大小是个分水岭。

阅读手册

次日,对比新老器件的手册说明,两器件的差异仅仅在于寄生电容上,老器件寄生电容8.5pF,新器件36pF。其实这个时候动手算算时间响应系数、SD卡工作频率、在芯片手册时序特性就能确认故障点在这了,本产品的SDIO时钟频率48MHz。

SDIO这部分我不是太熟悉,尝试在群里请求帮助

抱几台设备去实验室做对比实验,用着熟悉的示波器,操作起来游刃有余。

老器件的波形勉强还行,至少算是个正弦波,新器件的波形已经被寄生电容展宽成 斜三角波。初步怀疑布线质量差劲,波形抖动,访问大文件时时钟抖动累加影响处理器时序,状态机混乱。访问小文件时任务小巧。数个时钟偏差不足以引起单次读写任务执行。



眼图

是德科技的这款示波器默认没开放眼图功能,要使用眼图也行,1万RMB购买软件扩展功能lisence。我只能退而求其次使用它的 Mask(模板)功能 。这个功能原理和眼图类似,下文我还是用眼图来称呼它。Mask功能缺少眼图下移动标杆测量的能力, 不能测量“眼镜”开口大小,无法得知3dB位置,一拖动动屏幕任何参数,Mask数据都会丢失。

怎么让处理器保持读取数据内容呢?

让处理器反复地在SD卡上拷贝1MB文件就行了,记得末尾清除文件系统缓存,防止linux在内存里缓存SD卡文件。

while [ 1 ]do cp /mnt/sd/1MB.img /mnt/sd/unuse.img echo 3 > /proc/sys/vm/drop_caches # 清除缓存done每个眼图都保持1min测试时长

老器件的波形实际上也是存在抖动的,好在抖动不剧烈,抖动位置规则的分布在5个密集区域。


新器件的眼图我需要说明一下,文章开头描述“只要访问SD卡500KB以上的数据无响应,不再有时钟”。于是我对测试shell做了小修改,每次仅处理10KB的文件,接着让总线休息一下,避免shell执行太快SD控制器的来不及停止就继续执行。有了这个延时,所以新器件1min眼图效果和老器件是不能直接对比的,初略看他的抖动会比老器件的强。

  • 老器件48MHz持续运行1min,约产生2880M个时钟。

  • 新器件48MHz执行10KB,停歇1秒循环1min,约产生600K个时钟

  • 所以1min里老器件工作量是新器件的4800倍=2880*10^6/600,约是老器件12.5ms=60s * 1000 / 4800的眼图效果

while [ 1 ]do cp /mnt/sd/10KB.img /mnt/sd/unuse.img sleep 1 # 等待,否则同样会无响应 echo 3 > /proc/sys/vm/drop_caches # 清除缓存done


降频

人生苦短,姑且假设问题就是处在频率太高、寄生电容太大。尝试粗略修改处理器SDIO时钟频率,如果降低频率后能正常工作就可以定位故障点了。

大笔一挥,直接降低SDIO时钟为设置的一半,SDIO有这点好处,只要在SD卡的工作范围内,则可以在0-maxMHz范围内任意频率工作。


再次测试读写1MB文件,呕吼,两设备都正常执行。再次测量眼图,这回新器件的shell脚本可以和老器件的相同,不需要延时。可看出他们眼图1min效果是相同的。


END
来源:写个解,作者:吴解君版权归原作者所有,如有侵权,请联系删除。
嵌入式ARM

扫描二维码,关注更多精彩内容

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭