集成电路开短路测试
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要
本次设计针对测试集成电路的开短路。作品设计以AT89S52,两个CD4051,一个待测芯片MC34063为主,用AT89S52来控制CD4051输入引脚从而使得输出其中一个引脚,此引脚用来连接被侧的其中一个引脚。34063芯片测试仪基本功能是集成电路的开短路测试、基准电压测试、集成电路等级评定;自动分装时能够与机械手系统通信;用数码显示基准电压和集成电路等级评定结果。在评定集成电路等级时,第一种测试仪只需分辨合格与不合格。
芯片的测试分两次。在芯片制造完成后必须对圆片上的芯片(小片)进行测试。测试后进行切割。测试合格的芯片才能进行封装。封装完成后的芯片还要进行第二次测试。当已经封装的芯片被测出故障,厂商应当拆掉封装进行测试,找出故障原因。这时候的故障可能是由于焊接等过程中的静电等原因造成的。
关键词:一片AT89S52;两片CD4051;一片MC34063
目录
一、选题意义 (2)
二、原理分析 (2)
三、总体设计 (3)
四、详细设计 (3)
1、硬件设计 (3)
(1)恒电流电路设计
(2)判决电路设计
(3)控制电路设计
(4)选通电路设计
2、软件设计 (5)
五、系统实现 (8)
1、硬件原理图
六、测试 (9)
七、总结 (9)
八、参考文献 (10)
集成电路开短路测试
一.选题的意义
对集成电路厂家来说,开短路测试(open short test)是集成电路生产商必须具备的一项关键技术,关系到企业的生存;对消费者使用者来说,开短路测试关系到一个项目的生产效率,在很大程度上决定着工作的质量。
二.原理分析
集成电路开短路测试分为开路测试(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
#include
#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++)
{