基于FPGA的PCB測試機(jī)硬件電路設(shè)計

2013-10-30 14:35 來源:電子信息網(wǎng) 作者:鈴鐺

PCB 光板測試機(jī)基本的測試原理是歐姆定律,其測試方法是將待測試點(diǎn)間加一定的測試電壓,用譯碼電路選中PCB 板上待測試的兩點(diǎn),獲得兩點(diǎn)間電阻值對應(yīng)的電壓信號,通過電壓比較電路,測試出兩點(diǎn)間的電阻或通斷情況。 重復(fù)以上步驟多次,即可實現(xiàn)對整個電路板的測試。

由于被測試的點(diǎn)數(shù)比較多, 一般測試機(jī)都在2048點(diǎn)以上,測試控制電路比較復(fù)雜,測試點(diǎn)的查找方法以及切換方法直接影響測試機(jī)的測試速度,本文研究了基于FPGA的硬件控制系統(tǒng)設(shè)計。

硬件控制系統(tǒng)

測試過程是在上位計算機(jī)的控制下,控制測試電路分別打開不同的測試開關(guān)。測試機(jī)系統(tǒng)由以下幾部分構(gòu)成: 上位計算機(jī)PC104 、測試控制邏輯(由FPGA 實現(xiàn)) 、高壓測試電路。 其中上位機(jī)主要完成人機(jī)交互、測試算法、測試數(shù)據(jù)處理以及控制輸出等功能。 FPGA 控制高壓測試電路完成對PCB 的測試過程。

本系統(tǒng)以一臺PC104 為上位計算機(jī),以FPGA為核心,通過PC104 總線實現(xiàn)上位機(jī)對測試的控制。

測試系統(tǒng)總體框圖如圖1所示。

01


FPGA與PC104的接口電路

PC104總線是一種專為嵌入式控制定義的工業(yè)控制總線,其信號定義與ISA 總線基本相同。 PC104總線共有4 類總線周期,即8 位的總線周期、16 位的總線周期、DMA 總線周期和刷新總線周期。 16 位的I/O總線周期為3 個時鐘周期,8 位的I/O總線周期為6 個時鐘周期。 為了提高通信的速度,ISA總線采用16 位通信方式,即16 位I/O方式。 為了充分利用PC104的資源,應(yīng)用PC104的系統(tǒng)總線擴(kuò)展后對FPGA 進(jìn)行在線配置。正常工作時通過PC104總線與FPGA進(jìn)行數(shù)據(jù)通信。

FPGA與串行A/D及D/A器件的接口

根據(jù)測試機(jī)系統(tǒng)設(shè)計要求,需要對測試電壓及兩通道參考電壓進(jìn)行自檢,即A/D轉(zhuǎn)換通道至少有3 路。 兩路比較電路的參考電壓由D/A輸出,則系統(tǒng)的D/A通道要求有兩通道。 為了減少A/D及D/A的控制信號線數(shù),選用串行A/D及D/A器件。 綜合性能、價格等因素, 選用的A/D器件為TLC2543,D/A器件為TLV5618。

TLV5618是TI公司帶緩沖基準(zhǔn)輸入(高阻抗)的雙路12 位電壓輸出DAC,通過CMOS 兼容的3線串行總線實現(xiàn)數(shù)字控制。器件接收16 位命令字,產(chǎn)生兩路D/A模擬輸出。TLV5618只有單一I/O周期,由外部時鐘SCL K決定,延續(xù)16 個時鐘周期,將命令字寫入片內(nèi)寄存器,完成后即進(jìn)行D/A轉(zhuǎn)換。TLV5618讀入命令字是從CS的下降沿開始有效,從下一SCLK的下降沿開始讀入數(shù)據(jù),讀入16位數(shù)據(jù)后即進(jìn)入轉(zhuǎn)換周期,直到下次出現(xiàn)CS的下降沿。 其操作時序圖如圖2 所示。

02


TLC2543是TI公司的帶串行控制和11個輸入端的12 位、開關(guān)電容逐次逼近型A/D轉(zhuǎn)換器。 片內(nèi)轉(zhuǎn)換器有高速、高精度和低噪音的特點(diǎn)。 TLC2543工作過程分為兩個周期:I/O周期和轉(zhuǎn)換周期。I/O周期由外部時鐘SCLK決定,延續(xù)8、12或16個時鐘周期,同時進(jìn)行兩種操作: 在SCLK上升沿以MSB方式輸入8位數(shù)據(jù)到片內(nèi)寄存器;在SCLK下降沿以MSB 方式輸出8、12、16位轉(zhuǎn)換結(jié)果。轉(zhuǎn)換周期在I/O周期的最后一個SCLK下降沿開始,直到EOC信號變高,指示轉(zhuǎn)換完成。 為了與TLV5618的I/O周期一致,采用了MSB方式,使用CS的16 時鐘傳送的時序。其操作時序如圖3 所示。

03


由于這兩種器件都是SPI接口,可將這兩器件連接至同一SPI 總線,通過不同的片選信號對不同的器件操作。 由于SPI接口協(xié)議復(fù)雜,而且從圖3 可以看出,這兩種器件的時序并沒有用到全部的SPI接口時序。為了實現(xiàn)符合以上邏輯的時序,減少標(biāo)準(zhǔn)SPI 接口IP 核對FPGA資源的浪費(fèi), 設(shè)計采用Verilog硬件描述語言用同步狀態(tài)機(jī)(FSM)的設(shè)計方法實現(xiàn),編寫ADC及DAC控制時序。程序?qū)嶋H上是一個嵌套的狀態(tài)機(jī),由主狀態(tài)機(jī)和從狀態(tài)機(jī)通過由控制線啟動的總線在不同的輸入信號情況下構(gòu)成不同功能的有限狀態(tài)機(jī)。 則由圖3 可知,D/A操作有4 個狀態(tài),A/D操作有7個狀態(tài)。 兩種狀態(tài)中有幾個狀態(tài)是相同的,故可用一個有限狀態(tài)機(jī)完成對串行A/D及D/A的操作。 程序?qū)嶋H上是一個嵌套的狀態(tài)機(jī),由主狀態(tài)機(jī)和從狀態(tài)機(jī)通過由控制總線啟動的總線在不同的輸入信號情況下構(gòu)成不同功能的較復(fù)雜的有限狀態(tài)機(jī)。 A/D及D/A操作共用唯一的驅(qū)動時鐘(SCLK) 及數(shù)據(jù)總線(SI、SO)。由于操作的寫周期有16個時鐘周期,讀周期有12個時鐘周期,模塊是在三個嵌套的有限狀態(tài)機(jī)中完成的,其主狀態(tài)機(jī)的狀態(tài)如圖4所示。

04


系統(tǒng)設(shè)計中,將AD、DA操作封裝成一單獨(dú)模塊,由上層控制模塊輸出命令字及控制信號啟動本模塊的相應(yīng)操作,操作完成后(進(jìn)入idle狀態(tài)) ,本模塊發(fā)出相應(yīng)狀態(tài)信號至上層模塊。

1 2 > 
測試 FPGA PCB

相關(guān)閱讀

暫無數(shù)據(jù)

一周熱門