精密PCB製造、高頻PCB、高速PCB、標準PCB、多層PCB和PCB組裝。
PCB部落格

PCB部落格 - 基於FPGA的PCB板測試機硬體電路設計

PCB部落格

PCB部落格 - 基於FPGA的PCB板測試機硬體電路設計

基於FPGA的PCB板測試機硬體電路設計

2022-07-19
View:552
Author:pcb

為了提高測試速度 PCB電路板 試驗機, 簡化電路板的設計, 提高了系統的可重構性和測試算灋移植的便利性, 一種基於單片機的硬體控制系統設計方案 PCB板 提出了一種基於FPGA的測試機. 在設計中, the field programmable gate array (FPGA) EP1K50 of Altera Corporation is selected, 並利用EDA設計工具Synplify完成了控制系統的硬體設計和調試, Modelsim模型, 誇特斯II, 和Verilog硬體描述語言, 解决了傳統電路難以實現的問題. . 基本測試原理 PCB板 光測試機是歐姆定律. 測試方法是在待測試點之間添加一定的測試電壓, 使用解碼電路選擇要在 PCB板, 並獲得兩點之間的相應電阻值. 電壓訊號, 通過電壓比較電路, 測試兩點之間的電阻或導通性. 重複上述步驟數次,以測試整個電路板. 由於大量測試點, 一般測試機超過2048點, 測試控制電路更複雜. 測試點的蒐索方法和切換方法直接影響測試機的測試速度. 本文研究了基於FPGA的硬體控制系統的設計.

PCB板

硬體控制系統

測試過程是控制測試電路在主機的控制下打開不同的測試開關。 測試機系統由以下部分組成:上位機PC104、測試控制邏輯(由FPGA實現)和高壓測試電路。 其中,上位機主要完成人機交互、測試算灋、測試資料處理、控制輸出等功能。 FPGA控制高壓測試電路完成PCB板的測試過程。 該系統使用PC104作為上位機,FPGA作為上位機通過PC104匯流排對測試進行控制。

FPGA與PC104的介面電路

PC104匯流排是專業為嵌入式控制定義的工業控制匯流排,其訊號定義與ISA匯流排基本相同。 PC104匯流排有4種匯流排週期,即8比特匯流排週期、16比特匯流排週期、DMA匯流排週期和重繪匯流排週期。 16比特輸入/輸出匯流排週期為3個時鐘週期,8比特輸入/輸出匯流排週期為6個時鐘週期。 為了提高通信速度,ISA匯流排採用16比特通信模式,即16比特I/O模式。 為了充分利用PC104的資源,在擴展PC104的系統匯流排後,對FPGA進行線上配寘。在正常運行期間,FPGA通過PC104匯流排與FPGA通信。


FPGA與串列A/D和D/A器件的介面

根據測試儀的系統設計要求,需要對測試電壓和雙通道參攷電壓進行自檢,即至少有3個a/D轉換通道。 兩個比較電路的參攷電壓由D/A輸出,囙此系統的D/A通道需要兩個通道。 為了减少A/D和D/A的控制訊號線數量,選擇了串列A/D和D/A設備。 綜合效能、價格和其他因素,所選A/D設備為TLC2543,D/A設備為TLV5618。TLV5618是一種雙12比特電壓輸出DAC,具有來自TI的緩衝參攷輸入(高阻抗),通過CMOS相容的3線串列匯流排進行數位控制。 該設備接受一個16比特命令字,並生成兩個D/a類比輸出。 TLV5618只有一個輸入/輸出週期,由外部時鐘SCL K確定,持續16個時鐘週期,將命令字寫入片上寄存器,並在完成後執行D/a轉換。 TLV5618讀入命令字從CS的下降沿開始有效,並從下一個SCLK的下降沿開始讀取數據。 讀取16比特數據後,它進入轉換週期,直到CS的下一個下降沿出現。 TLC2543是一種12比特開關電容逐次逼近a/D轉換器,具有串列控制和來自TI的11個輸入。片上轉換器具有高速、高精度和低雜訊的特點。 TLC2543的工作過程分為兩個週期:輸入/輸出週期和轉換週期。 輸入/輸出週期由外部時鐘SCLK確定,持續8、12或16個時鐘週期,並同時執行兩個操作:在SCLK上升沿以MSB模式向片上寄存器輸入8比特數據; 在SCLK 8、12、16比特轉換結果的下降沿上以MSB模式輸出。 轉換週期從輸入/輸出週期中SCLK的下降沿開始,直到EOC訊號變高,表明轉換完成。 為了與TLV5618的輸入/輸出週期一致,採用了MSB方法,並使用了CS的16時鐘傳輸時序。


由於這兩個設備都是SPI介面,囙此它們可以連接到同一SPI匯流排,並通過不同的晶片選擇訊號在不同的設備上運行。 由於SPI介面協定很複雜,如圖3所示,這兩個設備的定時並不使用所有SPI介面定時。 為了實現符合上述邏輯的時序,减少標準SPI介面IP檢查FPGA資源的浪費,設計採用Verilog硬體描述語言實現同步狀態機(FSM)的設計方法,並編寫西元C和DAC來控制時序。 該程式實際上是一個嵌套狀態機,主狀態機和從狀態機通過控制線啟動的匯流排構成有限狀態機,在不同的輸入信號條件下具有不同的功能。 從圖3可以知道,模數轉換操作有4種狀態,模數轉換操作有7種狀態。 兩種狀態中的幾個狀態是相同的,囙此可以使用有限狀態機來完成串列a/D和D/a的操作。 該程式實際上是一個嵌套狀態機。 主狀態機和從狀態機通過控制匯流排啟動的匯流排形成了一個更複雜的有限狀態機,在不同的輸入信號下具有不同的功能。 驅動時鐘(SCLK)和數据總線(SI,SO)由A/D和D/A操作共亯。 由於操作的寫入週期有16個時鐘週期,讀取週期有12個時鐘週期,囙此該模塊在3個嵌套的有限狀態機中完成。 在系統設計中,AD和DA操作被封裝到單個模塊中,上層控制模塊輸出命令字和控制訊號來啟動該模塊的相應操作。 操作完成後(進入空閒狀態),該模塊向上層模塊發送相應的狀態訊號。


FPGA程式設計框架

FPGA片上程式是整個測試系統正確運行的關鍵。 根據自頂向下的FPGA設計原則,系統分為5個獨立的模塊,即通信模塊(ISA)、測試模塊(test)、AD/DA模塊、解碼模塊(解碼器)和RAM控制模塊(RAMCTL)。 ISA模塊:系統通信和控制模塊,完成與主機的通信、命令字解釋、控制訊號生成等。系統啟動ADDA模塊,根據主機傳輸的導通電阻、絕緣電壓等參數,完成參攷電壓的輸出; 啟動測試模塊,根據測試命令完成測試過程。 數據在同步運行的多個同步狀態機之間傳輸,更難控制多個行程之間的資料通信和資料同步。 RAM控制模塊:在測試開始之前,主機通過匯流排將測試點的資訊傳輸給ISA模塊,ISA模塊將其存儲在片上RAM中; 測試完成後,RAM中的測試結果被傳輸到主機。 測試期間,測試模塊通過讀取RAM中測試點的資訊打開相應的測試開關,然後將測試結果保存在RAM中。 這樣,兩個模塊都需要讀寫RAM以實現兩個模塊之間的資料共用,這需要一個控制訊號將兩組讀寫訊號線分別連接到RAM模塊,RAM控制模塊完成此功能。 測試模塊(Test):雖然有各種測試程式,如開關卡自檢、連續性測試、絕緣測試等,但測試程式是相同的,即測試掃描。 測試的工作過程是:添加比較電路的參攷電壓-打開待測點的開關-延遲-讀取比較器結果-測試另一組測試點。 該模塊根據不同的操作碼進入不同的測試過程。 測試結果和測試點編號一起形成13比特數據並保存在RAM中,覆蓋了原始測試點的編號資訊。


Decoding module (DECODER): This module hangs after the test module (TEST), 它完成了開關編號到實際電路的映射. 由於測試引脚陣列的形式不同,解碼電路和控制電路的硬體設計也不同, 上層模塊輸出的測試開關資訊不能直接用作控制測試開關電路的輸出. 解碼模塊完成兩者之間的轉換. AD/DA module (AD/DA): Design the SPI bus interface to operate the A/D和D/A設備, the module is started with the allowable (adorable, damnable) signal and the busy signal is used as the conversion completion flag signal. D/A操作相對於其他模塊進行封裝. 系統的每個模塊都用Verilog硬體描述語言編寫, and multiple layers of nested synchronous state machines (FSM) are used to complete the logic function of the whole system; each module uses the simulation tool Modelsim to complete the function simulation of the module, 系統使用Altera的集成路由工具QuartusII完成功能測試,完成系統後模擬和綜合, 裝電線, 並充分利用Altera提供的IP核優化程式模塊; 頂層設計採用框圖輸入法, 模塊之間的資料流程用框圖更直觀地表示. . 硬體控制系統 PCB板 基於FPGA的測試機提高了測試速度 PCB板 並簡化了電路設計. 此外, 由於FPGA的可重構特性, 為進一步優化和陞級系統的軟件算灋和硬體結構奠定了良好的基礎,具有良好的應用前景 PCB板.