隨著各種電子設備使用的PCB日益精密復雜,光靠人工檢測PCB背板故障不僅繁瑣且可靠性低,本文介紹的基于PLD的PCB背板自動測試儀可提高工作效率并保證檢測可靠性。
隨著電子技術的快速發(fā)展,被廣泛應用于各種電子設備的印刷電路板(PCB)的產量大幅增加,技術人員需要快速確定背板上的短路、斷路故障或對超標的電阻進行定位,如果單純依靠人工檢測則非常繁瑣,且可靠性低,因此對電路板背板自動測試的需求大大增加。本文提出使用基于EPM7128控制多路選擇開關ADG732實現電路板背板自動測試系統(tǒng)的方法,并給出了具體的實現,應用于電路板背板測試后表明,該測試方法快速有效。
系統(tǒng)硬件組成
自動測試儀的系統(tǒng)結構如圖1所示,它由微型機、USB總線DIO接口卡、PLD控制塊、多路選擇開關、測試夾具等幾個部分組成。該系統(tǒng)可以快速測試單面、雙面和多層電路板背板的開路和短路故障。
微型機沒有特殊要求,一般可采用普通計算機。系統(tǒng)接口采用價格便宜的由宏拓測控技術有限公司生產的USB-7802ADIO工控模板,輸入輸出電壓為0~5V,符合USB總線+5V標準。USB-7802A是32路通用數字TTL電平輸入/輸出板,具有4個8位數字輸入口及4個8位數字輸出鎖存口,共有32路輸入及32路輸出;提供Win95/98/2000/NT下測試程序和動態(tài)鏈接程序(DLL)。由于是USB總線, USB協議自動分配該板的基地址。
多路選擇開關采用ADG732組成。其有32通道模擬多路復用器,雙/差分16到1通道多路復用器,TTL/CMOS兼容輸入。
譯碼控制采用PLD器件EPM7128。EPM7128是Altera公司生產的CPLD芯片,其內部有2,500個門可用,128個宏單元,允許對外有68個輸入、輸出引腳。該CPLD可編程邏輯器件支持在線現場可編程操作,只要用一根專用電纜接到芯片的特定引腳上,無需拆下芯片,不需要編程器及芯片適配器,通過上位機打印口就可對芯片編程。EPM7128利用邏輯信號來控制ADG732選擇電路板的被測節(jié)點,同時EPM7128通過USB-7802A DIO工控模板向計算機輸出被測節(jié)點間的通斷信號。在EPM7128輸入口通過連接一定的電阻,可以實現設置被測電路板背板節(jié)點間通斷電阻的閥值,如果被測電路板背板兩節(jié)點間的阻值大于所設定的閥值,則可以判定兩節(jié)點間為斷路。在整個系統(tǒng)中PLD芯片除了起到控制譯碼作用以外還有對數據進行中轉傳輸的作用。
微機通過測試設備的USB總線DIO卡輸出控制信號,EPM7128控制多路選擇開關ADG732向底板上的節(jié)點施加激勵信號,同時控制多路選擇開關選擇出底板上的一個或多個節(jié)點(選擇多個節(jié)點時可以顯著提高測試速度),多個節(jié)點的狀態(tài)信號通過USB接口卡并行讀入微機的數據總線。由計算機處理采集到的數據并判斷電路板上節(jié)點的連通性,于是自動測試儀自“學習”到電路板的電路連接圖,診斷模塊利用標準電路板的電路連接圖同采集到的故障電路板的電路連接圖比對,便能夠準確判斷故障電路板的開路和短路故障位置,并記入故障數據庫以備統(tǒng)計分析。
本文應用設計為可以測試4,096個節(jié)點的PCB背板,為了便于測試,測試儀的PLD控制電路和多路選擇開關部分根據需要可以分布在多塊電路板上,由微機選擇出多塊電路板中的一塊電路板。在每塊電路板上,能完成對所要測的節(jié)點激勵信號的發(fā)送和狀態(tài)信號的接收;由一塊EPM7128選擇出測試孔中的一個測試節(jié)點輸入+5V激勵信號,由一塊EPM7128控制ADG732每次選擇出3個測試節(jié)點作為響應信號,然后并行輸入USB數據采集卡的3個輸入端口。測試的基本原理如圖2所示。
測試時,在多路選擇開關部分,由DIO卡的輸出端口輸出的開關量信號作為控制信號,控制EPM7128選擇出電路板中的一塊,再由DIO卡的輸出端口1輸出的開關量信號作為譯碼信號選擇出每塊電路板上的節(jié)點中的1個節(jié)點,在選擇出的這個節(jié)點上施加+5V的電壓激勵信號。在多路受控開關部分,由DIO卡的端口3輸出的高位數字量信號作為譯碼信號選擇出多塊電路板中的1塊電路板和在這塊電路板上選擇出有響應的節(jié)點,輸入信號為1則代表有激勵信號的節(jié)點與有響應信號的節(jié)點連通, 無響應信號則代表兩節(jié)點不相連通,由計算機測試軟件對采集的信號進行處理,從而建立電路板的電路連接圖。
另外,測試夾具的設計很關鍵。我們選用針床作為被測板與測試平臺的夾具,針床一次性投入成本低,測試效率高,但隨著產品的變化需要不斷制作新的測試針床,后期需要不斷投入。通常一個針床只能連接一類電路板,因此針床必須與相應的電路板成套同時使用。
系統(tǒng)軟件設計
廠家根據USB7502ADIO工控模板提供了USB7502A.dll動態(tài)鏈接庫,是用VC編寫的,供VC調用,通過VC++6.0調用USB7502A.dll動態(tài)鏈接庫完成測試系統(tǒng)地址擴展譯碼器譯碼信號的輸出和被測對象的狀態(tài)信號的采集。而譯碼控制采用的PLD器件EPM7128需要VHDL語言編程實現其控制。
PCB電路自動測試儀的軟件在Windows XP操作系統(tǒng)平臺上,采用VC++6.0編程語言進行設計編程,實現窗口、事件和消息的WINDOWS工作方式與USB7502A硬件驅動程序相融合,軟件完全按事件驅動順序來執(zhí)行程序,而非按“過程化”來執(zhí)行程序;同時軟件本著方便儀器測試使用和提高可靠性的原則設計,改善人機接口界面,便于軟件功能擴充和系統(tǒng)維護。按照系統(tǒng)的功能劃分,軟件系統(tǒng)功能可分為以下幾塊:
1. 主控模塊,利用VC++6.0編程,能提供良好人機接口界面,使熟悉Windows XP操作系統(tǒng)的人員能夠迅速掌握和使用;
2. 系統(tǒng)設備自檢模塊,自檢時,由自檢板代替被測試電路板,主控程序調用自檢模塊對測試設備的功能進行自檢。全開路測試時,檢測全部測試點兩兩間有無短路故障存在,全短路測試時,檢測全部測試點兩兩間有無開路故障存在;
3. PCB電路連接采集模塊,該模塊按照一定的數據結構對電路板的電路連接進行提取,注意采取好的算法和數據結構避免多余的連線測試;
4. 電路板診斷模塊,把標準PCB電路連接圖和待測PCB電路連接圖進行比對,準確判斷故障位置并把故障情況錄入數據文件或故障數據庫;
5. 測試診斷結果報告模塊,顯示、打印或者存儲PCB的測試診斷結果。
結語
基于PLD和多路選擇開關ADG732的電路板自動測試儀實現了對4,096個節(jié)點的電路板背板的故障檢測,該系統(tǒng)模型能夠很好地提高工作效率,減少測試現場的勞動強度和人為因素引起的記錄錯誤,產生了較好的經濟效益。