01
前言
最近设计的一个产品,产品有三个按键,下面讲解的问题跟按键有关。经过前期研发阶段的调试,测试,产品终于进入了试产阶段。不料试产就出现了几十个不良的,而且都是同一个问题,一直检测到某个按键被按下了。刚开始以为是结构问题,让结构工程师去分析。但是结果工程师检查完后,果断说不是他们结构的问题,因为他们已经把结构上的按键拆下来了,已经没有东西接触到威廉希尔官方网站 板上的按键了,但还是检测到有某个按键按下。
02
硬件分析
只能让我们硬件工程师来检查了。我们先是用手按按键,看按键有没有触感,发现触感正常,再用万用表短路档测按键两端,发现按下按键后,按键两端是导通的,通过这两步初步判断不是按键来料问题,为了排除是个例问题,我们又拆了好几台测量,没有发现有按键来料不良的。接下来,我们给机器开机,用万用表测量按键两个脚,其中一个脚是高电平,有上拉电阻上拉到3.3V,接到MCU的IO口上,另一个脚是低电平,接到GND上的,然后用手按下按键,万用表测到了高电平变成了低电平,说明按键是有作用的。为了排除按键和MCU的IO口之间的走线有断裂,或者是MCU管脚虚焊的可能,我们又做了另外一个测试,就是用万用表直接测按键连接的那个MCU的IO口管脚,结果一样,按键按下去,电平由高变成低,证明了硬件上的按键功能已经起了作用。
03
软件分析
这个时候,要软件工程师出马了。软件工程师用在线仿真的方法测试了一下,发现机器开机后,软件初始化完后,软件一直检测到那个按键的电平是低电平,不管有没有按键按下去,所以不良的机器总是检测到某个按键被按下去。我们问软件工程师,是不是软件初始化时,那个用作按键功能的IO口是不是没有被设置成输入模式,而是设置成输出模式了,并且设成了低电平。他检查了又检查,确定是设置成了输入模式,如果没有设置成输入模式,为什么同一个软件,其他的机器没有问,就只有这几十个有问题,想想都很奇怪。我想到了一个方法,就是让软件工程师在软件初始化的时候,先把那个IO口设置成输出模式,然后再设置成输入模式,测试一有没有效果。软件工程师按我说的方法改了一下软件,让那个IO口在初始化的时候,先是设置成输出模式,然后再设置成输入模式,结果一测试,机器变好了,再也没有检测到有按键按下,按按键能正常工作。于是,我做了一个实验,把一台好的机器和一台不良的机器对调了一下MCU,结果两台机器都变好了。接着又做了一个实验,给不良的机器换上一个新的MCU,下载程序后,一测试又是好的。说实话,这种事情以前都没有见过呢,第一次遇上,算是长见识了。
04
探讨解决方法
我们多方经过讨论,决定从软件上去优化。如果从硬件上去解决的话,生产成本有点高,现在是试产就有几十台,用更换MCU的方法就已经很很麻烦了,时候到了量产阶段,出现上百上千台不良,这个方法就不可取了。但是从软件去优化,即使是MCU本身的问题,也可以覆盖掉。还有一个重要的工作,就是赶紧让MCU原厂的人分析这些MCU,看是不是MCU本身的问题,找出原因,最终从根本上解决问题。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !