http://sjdai.spaces.eepw.com.cn/articles/article/item/85263
有个项目需要测试某个芯片的工作电流,该芯片工作电流为60uA,待机不超过10uA,如果芯片有问题则电流会超过几百uA。
客户的要求就是能用简单的方法对这种芯片进行电流测试,将有问题的芯片挑出来。要说最简单的测试方法,用指针式微安表或万用表直接测量肯定最简单,但有一个问题,需要测试的芯片数量非常之多,让测试员去看表的显示值不太适合现实应用。
你想一想,如果是让你一天到完重复看表的显示值,告诉你正常的数字应该是多少,你能保证出错的比例维持在很低数值吗?经验告诉我们,对于这种重复性的简单工作,测试员很容易进入疲劳状态,别说一整天,就是一小时,就容易出现明明看着是50,自己却当成是100的结果。最不容易出错的就是用红绿灯加声音告诉测试员测试结果是否合格,于是客户让我们给他开发一套这样的测试工具。
其它要求的实现不必细表,到电流测量这个地方犯了糊涂,要测电流肯定要一个采样电阻将电流转换成电压信号,再用ADC测量电压即可。可不到100uA这样的电流实在太小,一开始我们想采样电阻也不能太大,就算是100欧,60uA的电流对应电压也才6mV,如果是5V供电的10位ADC就只有一个量化单位的大小,考虑到地线等因素,显然难以测量。
如果用1000欧的采样电阻,电压可以到60mV,不过给人第一感觉是用1000欧的采样电阻也太大了吧?这样就没细想到底能不能用1000欧德采样电阻,而是想当然定为100欧,再在后面用放大器将其上面的电压放大后进行测量,找了个运算放大器进行验证,确实能放大到很理想的幅度,但需要对放大器的输出偏置电压做一个校正,要让单片机记住输入电压为零的情况下放大器输出的电压大小,想着这小电流测量还真麻烦。
在做样机的时候,一负责硬件的同事问怎么不直接用1000欧的采样电阻+单片机的ADC口来测电流呢?这个时候我们才意识到之前的想法太过于想当然。通过计算可以得出1000欧的电阻正常工作电流状态下得到的电压是60mV,实际上这个电压对于一个5V的系统来说一般来说是可以接受的,只是之前我们想当然,认为在芯片电源脚上串联一个1000欧的电阻太大,当时我们只看到1000欧电阻的阻值大,疏忽了流过的电流小这一特性,实际上我们只要采样电阻上的电压在芯片可接受的电源压差范围之内即可。
如果这样能行那就简单多了,赶紧更改电路进行测试,实验证明这种想法是正确的。5V电压10位ADC的单片机,用1500欧电阻对芯片工作电流进行采样,只是简单的8次平均采样,就能得到非常稳定的测量结果,60uA对应的电压为90mV,ADC转换的理论结果应该是18.44,我们实测结果为20,考虑到器件误差等因素两者基本一致。
原来小电流测试并不一定要太复杂的方法,不要被自己的经验想当然而蒙蔽了双眼,实际上就是这么简单就实现了。