一种集成电路开短路测试方案详解

时间:2023-06-21

集成电路开短路测试分为开路测试(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测试。

(一)硬件设计

5V电压源通过电路产生2.5V电压,供电流源使用。电流源是通过Q1和Q2两个PNP管基极共联以及三个电阻按右上图所示连接而成,该电流源主要用于提供100mA到500mA的电流用于测试输入,其中C4电容主要是在瞬间断电起到缓冲作用。

比较电路上端接2.5V,通过电阻的分压作用在芯片LM358AM的2号引脚产生1.5V的电压,在5号引脚产生0.2V的电压;将3和6号引脚电位与他们比较,以此来选通二极管D1或D2,当3和6号引脚电位高于1.5V或低于0.2V时二极管其中一个导通,介于两电位之间时两个二极管全部截止,其中3和6号引脚电位等于所U3选通引脚电位。

控制电路主要通过对AT89S52编程控制U2和U3的6,9,10,11号引脚实现;右上图是AT89S52的复位电路。

选通电路主要用于选择被测芯片的引脚,芯片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();

}

}


上一篇:嵌入式电脑主控智能家居系统方案
下一篇:驱动PIN二极管:运算放大器方案

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料