摘 要: 介紹了未知電路板原理圖測(cè)繪系統(tǒng)的基本實(shí)現(xiàn)原理,,并在此原理的基礎(chǔ)上,,實(shí)現(xiàn)了柔性針床網(wǎng)絡(luò)圖測(cè)試系統(tǒng),。給出了該系統(tǒng)的設(shè)計(jì)方案,,并詳細(xì)說明了該系統(tǒng)軟,、硬件設(shè)計(jì)方法,。實(shí)際應(yīng)用表明,,該系統(tǒng)能實(shí)現(xiàn)未知電路板原理圖的測(cè)繪工作,具有較好的應(yīng)用前景,。
關(guān)鍵詞: 電路原理圖" title="電路原理圖">電路原理圖 測(cè)繪 柔性針床 USB CPLD
近年來,,我國(guó)引進(jìn)了大量先進(jìn)的儀器設(shè)備,這些設(shè)備系統(tǒng)龐大,、結(jié)構(gòu)復(fù)雜,、集成度高。經(jīng)過多年的使用,,這些設(shè)備在維護(hù)修理,、備件保障方面遇到了極大的困難。由于不是技術(shù)引進(jìn),,幾乎沒有任何關(guān)于設(shè)備的技術(shù)資料,,無法獲得電子備件的電路原理圖,所以對(duì)未知(無電路原理圖)電路板電路原理圖的測(cè)繪,,對(duì)于電子備件尤其是軍工產(chǎn)品的反設(shè)計(jì)具有重要意義,。
1 基本原理
要完成對(duì)未知電子備件的反設(shè)計(jì),必須首先獲知該備件的連線表,,然后才能依據(jù)元器件數(shù)據(jù)庫(kù)的相關(guān)知識(shí)繪制出原電路原理圖,,進(jìn)而通過技術(shù)分析和設(shè)計(jì)形成替代方案,實(shí)現(xiàn)反設(shè)計(jì),。對(duì)未知電路板的測(cè)繪所使用的常用辦法主要有如下兩種:
(1)用萬用表的歐姆檔,,對(duì)印制電路板上的各外露焊點(diǎn)" title="焊點(diǎn)">焊點(diǎn)和元器件管腳進(jìn)行連接測(cè)試,即首先測(cè)量第一個(gè)焊點(diǎn)(或管腳)和第二,、第三個(gè)焊點(diǎn)(或管腳)之間的電阻,,直至測(cè)量完所有焊點(diǎn)和管腳,從而得到第一個(gè)焊點(diǎn)或管腳在電路板上的連接圖,。用同樣的方法,,再測(cè)第二個(gè)焊點(diǎn)(或管腳)與第三、第四個(gè)焊點(diǎn)(或管腳)之間的電阻,,直至測(cè)量完所有焊點(diǎn)和管腳,,得到第二個(gè)焊點(diǎn)或管腳在電路板上的連接圖。依次類推,,可以得到電路板上各焊點(diǎn)和元器件管腳的連接關(guān)系(即網(wǎng)絡(luò)圖),。這種方法雖然能夠得到電路板的網(wǎng)絡(luò)圖,,但十分繁瑣、效率低,、差錯(cuò)率也高,,因此應(yīng)開發(fā)自動(dòng)測(cè)繪設(shè)備。
(2)采用固定針床的辦法進(jìn)行測(cè)繪,,對(duì)于每種電路板設(shè)計(jì)專門的測(cè)試針床,,將專用針床與被測(cè)電路板的所有接點(diǎn)可靠接觸,在計(jì)算機(jī)測(cè)試軟件的控制下,,通過專門的通道控制器可在較短時(shí)間內(nèi)完成測(cè)試工作,,而且能完成對(duì)多層電路板的測(cè)繪。但這種方式要求為每種被測(cè)對(duì)象設(shè)計(jì)一個(gè)專門的針床和測(cè)試軟件,,投入成本高,、周期長(zhǎng)。
綜合以上兩種方法的優(yōu)點(diǎn),,根據(jù)常用的通路電阻測(cè)試法,,設(shè)計(jì)了“柔性針床網(wǎng)絡(luò)圖測(cè)繪系統(tǒng)”,實(shí)現(xiàn)了靈活高效的測(cè)繪,。連線表測(cè)試完成后,,借助專門建立的器件數(shù)據(jù)庫(kù),通過人工干預(yù)的方式即可完成電路原理圖的繪制工作,。
2 系統(tǒng)硬件設(shè)計(jì)
2.1 系統(tǒng)總體結(jié)構(gòu)
該系統(tǒng)由計(jì)算機(jī),、開關(guān)矩陣" title="開關(guān)矩陣">開關(guān)矩陣、柔性針床陣列和被測(cè)備件組成,,其結(jié)構(gòu)見圖1,。其中,柔性針床陣列通過柔性針與電路板上的所有節(jié)點(diǎn)可靠連接,,開關(guān)矩陣實(shí)現(xiàn)通道的自動(dòng)切換或順序切換,,柔性針床寬度僅能夠覆蓋一個(gè)電子芯片,這樣通過多個(gè)針床,,即可覆蓋整個(gè)待測(cè)電路板,。
測(cè)試時(shí)將電路板水平固定,在電路板上方和下方間距為2至3厘米處水平固定柔性針床,,柔性針床的一面有密集分布的焊點(diǎn),,這些焊點(diǎn)通過長(zhǎng)短可變的彈性探針與被測(cè)電路板一面上的外露焊點(diǎn)或元器件管腳相連。柔性針床的另一面由連線將各焊點(diǎn)與開關(guān)矩陣相連,,電路板的另一面也進(jìn)行相同的操作,,從而將電路板的外露焊點(diǎn)或元器件管腳引到柔性針床上,通過計(jì)算機(jī)對(duì)開關(guān)矩陣進(jìn)行控制,,實(shí)現(xiàn)柔性針床上各節(jié)點(diǎn)之間的連接關(guān)系的自動(dòng)測(cè)試,。
2.2 測(cè)試電路" title="測(cè)試電路">測(cè)試電路結(jié)構(gòu)組成
本系統(tǒng)采用自定義的總線結(jié)構(gòu),各柔性針床通過總線進(jìn)行連接,,由控制模塊" title="控制模塊">控制模塊控制相互間的通信,。測(cè)試電路通過USB總線接口與主機(jī)進(jìn)行連接,如圖2所示,。
其中,,ADDR1和ADDR2為針床地址總線,控制模塊通過發(fā)送相應(yīng)的地址碼實(shí)現(xiàn)針床的尋址,。由于在測(cè)試時(shí)需要在針床本身和兩個(gè)針床之間進(jìn)行測(cè)試,,只設(shè)計(jì)一套地址總線不能同時(shí)尋址兩個(gè)針床,故設(shè)計(jì)了ADDR1和ADDR2兩套地址總線,,可同時(shí)實(shí)現(xiàn)對(duì)兩個(gè)測(cè)試針床的尋址,。
RD、WR為讀使能和寫使能總線,,RD有效時(shí),,允許測(cè)試針床向控制模塊發(fā)送數(shù)據(jù),WR有效時(shí),,允許控制模塊發(fā)送指令到各個(gè)針床,,實(shí)現(xiàn)控制功能。
AD1,、AD2為針床探針地址總線,。由于在測(cè)試時(shí),各個(gè)探針都需要和其它探針進(jìn)行遍歷測(cè)試,,所以設(shè)計(jì)兩套地址總線用來同時(shí)尋址兩個(gè)不同的探針,。AD1所尋址探針信號(hào)經(jīng)數(shù)據(jù)線D1引出,AD2所尋址探針信號(hào)經(jīng)數(shù)據(jù)線D2引出,,通過測(cè)量D1與D2之間的電阻,,就可以得到所對(duì)應(yīng)的電路板焊點(diǎn)之間的連接情況。
2.2.1 USB接口部分
在本設(shè)計(jì)中,,PC機(jī)通過USB接口完成對(duì)測(cè)試機(jī)的控制,,而測(cè)試數(shù)據(jù)又通過USB接口送回PC機(jī)進(jìn)行分析,分析結(jié)果用于對(duì)UUT進(jìn)行故障診斷,。
本系統(tǒng)采用Cypress公司的AN2131QC作為控制器芯片,。圖3所示為AN2131QC的結(jié)構(gòu)簡(jiǎn)化框圖,USB總線收發(fā)器與USB總線引腳D+,、D-相連,,串行接口引擎用來對(duì)串行數(shù)據(jù)進(jìn)行解碼和譯碼、錯(cuò)誤校驗(yàn),、位填充,,并完成其它USB總線所需的信號(hào),,最終實(shí)現(xiàn)與USB總線接口的數(shù)據(jù)傳輸。通用微處理器采用增強(qiáng)型8051,,與標(biāo)準(zhǔn)8051相比較,,執(zhí)行速度更快、功能更強(qiáng)大,。在內(nèi)部使用RAM作為程序代碼和數(shù)據(jù)存儲(chǔ)器,,因此8051序列具有“軟”特性,即:用戶可以自動(dòng)裝載代碼和數(shù)據(jù)來實(shí)現(xiàn)具體功能,。
2.2.2 控制模塊
控制模塊用來完成各個(gè)針床的尋址,、控制、測(cè)試以及數(shù)據(jù)的發(fā)送與接收功能,。通過USB接口由主機(jī)下達(dá)控制命令及接收數(shù)據(jù),。控制模塊結(jié)構(gòu)如圖4所示,。
系統(tǒng)控制芯片采用ALTERA公司的MAX7000系列可編程邏輯器件(CPLD),,用來接收主機(jī)發(fā)送的控制信號(hào),對(duì)測(cè)試電路進(jìn)行控制,;接收測(cè)試數(shù)據(jù)并上傳到主機(jī),。當(dāng)WR有效時(shí),接收控制指令,;當(dāng)RD有效時(shí),,接收測(cè)試數(shù)據(jù)。在測(cè)試電路自定義總線上共有五種測(cè)試信號(hào),,所以采用三根控制信號(hào)線A,、B、C,,經(jīng)譯碼即可輸出不同的控制信號(hào),。電阻測(cè)試電路也位于控制模塊中,負(fù)責(zé)對(duì)經(jīng)D1和D2引出的電路板兩個(gè)焊點(diǎn)(或管腳)進(jìn)行測(cè)試,,測(cè)試結(jié)果經(jīng)A/D變換后由CPLD送到主機(jī)中,。
2.2.3 測(cè)試針床
測(cè)試針床用來使用探針連接電路板各個(gè)焊點(diǎn)或管腳,并使用開關(guān)矩陣進(jìn)行各個(gè)探針之間連接的自動(dòng)順序切換,,從而實(shí)現(xiàn)各個(gè)焊點(diǎn)之間的互連測(cè)試,。針床電路如圖5所示。
開關(guān)矩陣采用MAX7000系列可編程邏輯器件實(shí)現(xiàn),,用來連接針床上所有探針,,接收控制信號(hào)并將所尋址探針信號(hào)輸出。
3 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件運(yùn)行于PC機(jī)平臺(tái)上,通過USB總線對(duì)測(cè)試電路進(jìn)行控制并接收測(cè)試電路測(cè)試數(shù)據(jù),,根據(jù)接收到的數(shù)據(jù)形成所測(cè)電路板電路連線表?,F(xiàn)主要分析與電路測(cè)繪有關(guān)的測(cè)試電路控制程序:
(1)首先利用ADDR1尋址測(cè)試基準(zhǔn)針床,每個(gè)針床都有特定的地址碼,,如發(fā)送ADDR1=00000001,,表示選中1號(hào)測(cè)試針床,以此為基準(zhǔn)測(cè)試針床來對(duì)其它針床進(jìn)行測(cè)試,。
(2)1號(hào)測(cè)試針床利用AD1總線對(duì)其上所有探針進(jìn)行尋址,AD1總線尋址該針床的基準(zhǔn)測(cè)試點(diǎn),,如發(fā)送AD1=00000001,,表示尋址到1號(hào)探針,即1號(hào)探針連接D1端,。
(3)以ADDR1所尋址針床為基準(zhǔn),,利用ADDR2尋址所有針床,所尋址的針床利用AD2總線對(duì)其上探針進(jìn)行尋址,。
(4)以AD1總線所尋址探針為基準(zhǔn),,對(duì)AD2總線所尋址探針進(jìn)行遍歷測(cè)試。
程序偽代碼如下:
for( ADDR1=1 to 20) //假定共有20個(gè)測(cè)試針床,,選定基準(zhǔn)測(cè)試針床
{
for( AD1 = 1 to 256) //假定每個(gè)針床上有256個(gè)探針和焊/點(diǎn)相連,,選定基準(zhǔn)測(cè)試焊點(diǎn)
{
for( ADDR2 = 1 to 20) //依次尋址所有針床
{
for( AD2 = 1 to 256) //依次尋址測(cè)試針床上所有探針(焊點(diǎn))
{
//測(cè)試電路測(cè)試函數(shù)
...
}
}
}
}
通過以上測(cè)試程序,,即可實(shí)現(xiàn)每個(gè)探針(焊點(diǎn))和其它所有探針(焊點(diǎn))的遍歷測(cè)試,,從而獲取電路板上每個(gè)焊點(diǎn)的連接情況。
通過電路板上元器件型號(hào)知識(shí),,利用此套測(cè)繪系統(tǒng)所測(cè)繪的電路板連線表,,結(jié)合相應(yīng)PCB設(shè)計(jì)軟件及人工干預(yù),在某個(gè)引進(jìn)裝備上實(shí)現(xiàn)了未知電路板的測(cè)繪工作,,得到了其電路原理圖,,為下一步的反設(shè)計(jì)工作奠定了基礎(chǔ)。由于涉及知識(shí)產(chǎn)權(quán)問題,,該系統(tǒng)僅應(yīng)用于特殊領(lǐng)域電子設(shè)備,。
?
參考文獻(xiàn)
1 顏榮江,余志強(qiáng).EZ-USB2100系列單片機(jī)原理,、編程及應(yīng)用[M]. 北京:北京航空航天大學(xué)出版社,,2002
2 李國(guó)洪,沈明山. 可編程邏輯器件EDA技術(shù)與實(shí)踐[M]. 北京:機(jī)械工業(yè)出版社,,2004
3 馮正勇,,鄧云凱,郭振永.遠(yuǎn)程監(jiān)控系統(tǒng)中多業(yè)務(wù)數(shù)字光端機(jī)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 測(cè)控技術(shù),,2004;23(10)