發表於 2018-05-11 15:29:18
集成電路開短路測試分為開路測試(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();
}
}
硬體原理圖
測試
眼前最亮的黃燈亮了說明晶片沒問題,後面的紅燈亮指示的電源
打開APP閱讀更多精彩內容
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴