当前位置:首页 > 芯闻号 > 充电吧
[导读]2005年五一期间我们解决了ADSL局端及终端设备的频带干扰问题,初步测试下来功能正常,性能满足要求,终于可以交付到测试部门进行完整的测试。不出意料的,新问题来了。

2005年五一期间我们解决了ADSL局端及终端设备的频带干扰问题,初步测试下来功能正常,性能满足要求,终于可以交付到测试部门进行完整的测试。不出意料的,新问题来了。

测试工程师测试下来发现一个问题,设备正常工作一段时间后会莫名奇妙的自动重启,从开机到重启的时间每次不固定,而且手上的5台样机都存在同一问题。

接到测试报告后,软硬件团队开始联手进行系统调试。有系统开发经验的都知道,这个问题对工程师调试来说喜忧参半,喜的是这是一个必现的bug,相对来说问题比较容易复现和定位,问题是否得到解决比较好验证;忧的是这个问题出现的时间长短是随机的,功能都已实现,性能也达到要求,这种情况下的问题往往不简单,需要调试的工作量很大。

这个问题对于硬件部分比较常见的问题一般有电源设计不良、复位电路、晶振电路、过热保护、元器件不良、生产制程不良等;软件部分可能存在的问题有系统配置不正确、异常流程处理不当、内部看门狗不正确触发等。

硬件团队首先排查了可能存在制程问题,通过目视检查和X-ray照射,未发现明显异常;全面监测复位、供电和晶振等,均未发现自动重启时存在异常状态,通过对电路板全面的热监测也未发现存在过热区域;软件团队也对可能存在的问题逐一排除,未发现任何异常。调试陷入僵局,项目一时无法进展。

没办法,软硬件团队再次回到对故障现象的分析梳理,重新拟定测试方案,寻找重启时的共同点。经常大量的测试,终于发现当系统传输大容量数据时出现重启概率要大很多,而那种很轻负载状态的设备重启几率较小,时间间距也会拉开更大。找到规律不代表就能找到确切问题点,甚至更加让人迷茫。

当所有的分析测试都没有结果时,我们重新回到对生产制程的分析,由于主控芯片和MAC芯片都是BGA封装,电路板本身是10层板,大部分走线都是走在内层,对我们的排查来说困难重重。经过不懈努力,发现主控芯片到MAC的16根地址线因走线和贴装工艺存在瑕疵而有虚短路现象,其中一根和地之间的阻抗由正常的10兆欧左右降为1兆欧左右,由于检查BGA贴装质量的X-ray主要检查是否存在短路或断路问题,对于虚短是很难检查出来的。由于该地址线并未短路,在初始化或低速率传输数据时问题不大,但当大容量数据高速传输时,地址线之间的差异就会显现出来,导致程序运行异常而触发内部看门狗,从现象上看就是系统自动重启。

经验教训:

1、 不是能够正常工作了硬件就万事大吉,还要关注压力测试和长时间测试;

2、 阻抗匹配很重要,对于很多问题,数据线和地址线等对地阻抗测试会告诉我们很多信息;

3、 嵌入式系统的调试一定要有系统概念,软硬件及测试团队的通力协作是快速发现问题、定位问题和解决问题的前提和保证,很多现象是多种因素引起的,只有经多细致分析,大胆推测、反复验证才能解决问题。

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

在电路中,耦合是指将前级电路(或信号源)的输出信号送至后级电路(或负载)的过程。这种连接方式主要用于实现不同电路之间的信号传输和能量的转移。耦合的主要方式有阻容耦合、直接耦合和变压器耦合等。其中,阻容耦合是通过电容器实现...

关键字: 电源电路 阻抗匹配

电压跟随器是一种在电路中起到关键作用的电子器件。它常常被用于缓冲、隔离和放大电压,以提高电路的性能和稳定性。

关键字: 电压跟随器 阻抗匹配

连接器在各个领域中的应用非常活跃,而且连接器的种类规格也是五花八门,很多采购在挑选合适的连接器时都会觉得很伤脑筋。

关键字: 连接器 阻抗匹配 LCP绝缘

仪表放大器(英语:instrumentation amplifier或称精密放大器简称INA),差分放大器的一种改良,具有输入缓冲器,不需要输入阻抗匹配,使放大器适用于测量以及电子仪器上。

关键字: 仪表 放大器 阻抗匹配

2020年11月3-5日,首届慕尼黑华南电子展(electronica South China)登陆深圳国际会展中心(宝安新馆)。慕尼黑华南电子展立足粤港澳大湾区,辐射华南、西南及东南亚市场,聚焦5G、物联网、蓝牙技术、...

关键字: 电子行业 海尔曼太通 项目

最近一个引起广泛劳苦群众共鸣的话题是“996.ICU”。此话题源自Github前不久出现的一个非常火爆的项目。996.ICU的代码仓库从26号开始建立,只用了两天时间就超过了大名鼎鼎linux的一半。截止发稿,这个项目的...

关键字: Github 项目 代码

大家好,我是杂烩君。嵌入式大杂烩周记主要是一些实用项目学习分享,每篇一个主题。SDS 是 C 的字符串库,旨在通过添加堆分配的字符串来增强有限的 libc 字符串处理功能。

关键字: 嵌入式 项目 字符串

用静态局部变量,还是临时变量,要牵涉到你项目具体情况,比如:RAM资源、代码运行效率等。(临时变量还会有一个数据拷贝过程)所以,该如何分配堆栈,该用静态还是临时变量,需要综合考虑你项目的情况而定。

关键字: 静态局部 变量 项目

个人感觉,如果是一直在小公司,那相当于是泥腿子出身,小公司的产品开发流程并不健全,产品的质量保障可能更多的取决于个人能力,流程上缺少了环节虽然可以让项目跑得更快,但是可能会出问题。对于出问题比较多的地方,可以看看这本书,...

关键字: 小公司 产品 项目

字节的新人培养一直是个迷,有的实习生入职前就会有 mentor(导师)联系,一对一交流。而有的实习生入职,没有 mentor,Leader 对新人唯一的交流就是帮他找到工位。

关键字: 实习生 导师 项目
关闭
关闭