作为中国大陆教育出来的科技从业者,特别是研发工程师,可能大部分都和我一样,是无神论者,因为整个教育的大环境就是那样的。
我坚信科技是第一生产力,相信科学研究和实验会拨开迷雾厘清问题,相信这个世界上没有无因的果。
可是,随着研发工作的持续和深入,慢慢的,会碰到越来越多的“灵异现象”。
在遭遇的当下,任凭怎么用心努力排除万难,你会发现问题犹如被一种看不见摸不着的不可控力所操纵,那些bug属于超自然的存在,反科学反理性,完全超出自己的认知。
这个时候,相信绝大多数从业者会对自己产生怀疑,会对这个世界产生怀疑——根本没有所谓的科学,科学的尽头是神学,不然牛顿怎么会到最后信了上帝呢?
所以,我们可以在网络上看到越来越多的程序员,在写完程序,实际运行之前,要烧香拜佛;有越来越多的RD,在项目实际面世前要请一些“大师”过来驱邪正气,以保证自己的工作不受鬼神打扰。这似乎逐渐成了一种风气,盲从者越来越多。
但是,作为一个有着十几年电子研发经验的工程师,我可以负责任地告诉你:或许在别的领域有超自然现象存在,但至少在我所处的嵌入式系统的研究领域,没有灵异现象。所有的异常,都有原因,也都能找到原因。
实际上,科学研究和内心信仰并不冲突,很多出色的科研人员,并不是唯物主义者。但是,这并不影响科学研究中认真地求证。
远的不说,就拿我这几天碰到的meter开机会RESET这件事来说。过程和解决方法在一个“优秀”研发工程师的苦——可能又是堆栈惹的祸和一个“优秀”研发工程师的乐——原来是电源惹的祸有详细的叙述,如果你有兴趣的话,可以去看看,不看也可以,我简单描述一下现象,不影响这篇文章的阅读。
过程是这样的:
2019.1.2:
元旦放假回来第一天,我收到台湾同事(测试工程师)的消息,说我设计的一款meter在开机的时候不正常,有2种表现情况,并给我发了视频,看了不同的表现。而且几台meter表现都一样。
从视频可以判断出,异常的时候,meter复位了。于是我拿上手头的样品,这个样品和台湾测试的样品都是同一批试产出来的,而且台湾是几台都表现一样,可以排除个别差异。
可是,我试了几百次,异常现象根本无法重现。
2019.1.3:
忙了大半天,下午无意中继续测试meter,发现异常现象经常出现,且概率大于60%。
同样的meter,同样的人,同样的电池/同样的电源供应器,前后2天的结果截然不同。
说这是灵异现象似乎不为过:一定是出问题的时候,有怪力乱神出现,肯定不是设计问题,不然一整天测试几百次不出现怎么解释?!!!
这时,平庸的研发肯定会把锅甩给灵异现象,就此结案。但是,我不是“平庸”的RD啊!!最后我找到了原因,是电源的瞬态响应问题,使用的LDO(低压差线性稳压器)在瞬间电流变化时,会下跌,导致MCU复位。
本着打破砂锅问到底的精神,我仔细考虑了一下问题所在。
为什么2号测试不复位,3号测试一直复位???
所有的测试对象,人员,条件几乎都一样,但是结果不同。用科学的眼光来看,结果不同,一定过程不同,有差异。那么,这两天的差异到底在哪里呢?仔细回忆一下,差异在温度。
1.2号元旦后第一天上班,办公室4天没有进人,整个建筑物温度低,再加上空调不给力,到了中午室温只有10℃,我被冻得提前回家取暖了,下班前在京东下单买了个取暖器;
1.3号取暖器收到,加上空调的配合,室温在20℃以上。
我在上海,测试工程师在台湾,也有温度差异:台湾此时温度在20℃以上。
当然,温度不同,相对湿度也不同。有时候,湿度低的时候人体会有静电累积,操作仪表时会ESD放电,也会导致meter复位。不过在这个案例中,不是静电问题。
为什么温度不同会导致表现不同呢?
首先,在LDO输出电流变化的时候,输出电压是会波动的:
但是,没有不同温度下波动的影响。
根据meter的表现,可以推断温度越高,这个波动越大。但是datasheet里面并没有具体描述,但我们可以根据其他温度特性来推导。
我们来看看所使用的LDO的参数:
LDO的输出电压和温度有关,且温度系数有正有负。
不过,这个只和LDO的稳态输出有关,我们要看瞬态响应。
这个是LDO的Dropout Voltage vs Output Current关系:
从里面可以看出,温度越高,压降越大,这和电路内部的特性有关。稳态下是这样,瞬态响应也是差不多的,温度越高,压降越大。
再从LDO本身的功率消耗和不同温度下的关系:
可以看出,在VIN相同的情况下,温度越高,消耗的功率越大,也就是输出的电压越低(更多的功率消耗在LDO本身)。
从以上曲线关系来看,LDO的特性都是温度越高,输出特性越差,所以可以肯定瞬态响应性能也会变差。
哈哈,在我几乎放弃进一步研究的时候,发现了一个算是有直接关系的图表,负载瞬态响应和温度依赖性:
可以看出,温度越高,下跌越大。
那么,除了减小瞬间电流突变幅度以外,有没有别的办法来解决这个因为LDO瞬间响应特性差得问题呢?
有的。我们来看看负载电容的特性:
可以看出,负载电容越大,输出特性越稳定。
这个电容有一个要求,就是ESR(等效电阻)要小,否则在低温状态下可能引起震荡。当然,根据经验,也不可能非常大,比如放个2200uF,输出肯定能稳,但是上电瞬间充电电流过大,极有可能损坏LDO本身。
下面这幅图是原来CL只有20uF时,没有修改程序,同时大电流输出的瞬间下跌,跌幅接近2V:
如果把负载电容改为220uF,则跌幅只有0.2V,改善还是非常大的。所以,在成本允许的情况下,增大滤波电容也能显著改善问题,这就要看整个产品的性价比定位了。
好了,看了以上这些,你还相信在电子研发的过程中,真的有灵异现象存在吗?
作为一个合格的RD,必须详细研究所用元件的datasheet,对元件特性了如指掌,这样才能拨开迷雾见月明,让那些所谓的“灵异现象”统统破灭!!
科技改变生活,科技消除研发过程中的牛鬼蛇神,哈哈~~
参考文献:Seiko Instruments Inc. S801XX datasheet
Posted using Partiko iOS
This page is synchronized from the post: 一点心得:谈谈研发过程中的灵异现象