一种集成电路开短路测试方案详解,开测 2023-11-01 14:13:54 0 0 集成电路开短路测试分为开路测试(open short to VDD)和短路测试(open short to VSS)。 一般来说,芯片的每个引脚都有泄放或保护电路是两个首尾相连的二极管,一端接VDD,一端接VSS,信号是从两个二极管的接点进来测试时测试时,先把芯片的VDD引脚接0伏(或接地),再给每个芯片引脚供给一个100uA到500uA从测试机到芯片的电流,电流会经上端二极管流向VDD(0伏),然后测引脚的电压,正常的值应该是一个二极管的偏差电压0.7伏左右,我们一般设上限为1.5伏,下限为0.2伏,大于1.5伏判断为openfail,小于0.2伏判断为shortfail.这就是open_short_to_VDD测试。 open_short_to_VSS测试的原理基本相同。同样把先VDD接0伏,然后再给一个芯片到测试的电流,电流由VSS经下端二级管流向测试机。然后测引脚的电压,同样正常的值应该是一个二极管的偏差电压0.7伏左右,只是电压方向相反,上限还是为1.5伏,下限为0.2伏,大于1.5伏判断为openfail,小于0.2伏判断为shortfail.这就是open_short_to_VSS测试。 总体设计 详细设计 (一)硬件设计 1. 恒电流电路设计 5V电压源通过电路产生2.5V电压,供电流源使用。电流源是通过Q1和Q2两个PNP管基极共联以及三个电阻按右上图所示连接而成,该电流源主要用于提供100mA到500mA的电流用于测试输入,其中C4电容主要是在瞬间断电起到缓冲作用 2. 判决电路设计 比较电路上端接2.5V,通过电阻的分压作用在芯片LM358AM的2号引脚产生1.5V的电压,在5号引脚产生0.2V的电压;将3和6号引脚电位与他们比较,以此来选通二极管D1或D2,当3和6号引脚电位高于1.5V或低于0.2V时二极管其中一个导通,介于两电位之间时两个二极管全部截止,其中3和6号引脚电位等于所U3选通引脚电位。 3. 控制电路设计 控制电路主要通过对AT89S52编程控制U2和U3的6,9,10,11号引脚实现;右上图是AT89S52的复位电路。 4. 选通电路设计 选通电路主要用于选择被测芯片的引脚,芯片U2选通的引脚通过其3号引脚将被测引脚点置0,芯片U3选通的引脚置于与其3号引脚相同的电平,之后通过发光二极管来显示两引脚是开路或短路,还是正常。 (二)软件设计 #include《reg52.h》 #include《intrins.h》 #define uint unsigned int #define uchar unsigned char sbit P1_0 =P1^0; //定义p1.0口 sbit P1_1 =P1^1;//定义P1.1口 void deplay(uint z) //延时 { uint x,y; for(x=z;x》0;x--) for(y=110;y》0;y--); } void open_short_to_VDD() //开路测试 { uint i,j; P2=0x34; i=P2&0x0f; j=(P2&0xf0)》》4; for(i=3;i《=6;i++) {if(j==i) continue; P2=(j《《4)|i; if(P1_0)P1_1 =1;else P1_1 =0; deplay(700); } } void open_short_to_VSS() //短路测试 { uint i,j; P2=0x23; i=P2&0x0f; j=(P2&0xf0)》》4; for(i=3;i《=6;i++) { if(i==j) continue; P2=(j《《4)|i; deplay(700); } } void short_out_to_PIN() //对各引脚测短路 {uint i,j; P2=0x32; i=P2&0x0f; j=(P2&0xf0)》》4; for(i=3;i《=6;i++) { for(j=3;j《=6;j++) { if(j==i) continue; P2=(j《《4)|i; deplay(1000); } } } main() { while(1) { open_short_to_VDD(); deplay(700); open_short_to_VSS(); deplay(700); short_out_to_PIN(); } } 系统设计 硬件原理图 测试 眼前最亮的黄灯亮了说明芯片没问题,后面的红灯亮指示的电源 收藏(0)