0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

基于FPGA的PCB怎樣來測試

PCB線路板打樣 ? 來源:ct ? 2019-10-23 15:15 ? 次閱讀
摘要:為了提高PCB 測試機的測試速度,簡化電路板的設計,提高系統(tǒng)的可重構性和測試算法移植的方便性,提出了一種基于FPGA的PCB測試機的硬件控制系統(tǒng)設計方案。 設計中選用Altera公司的現(xiàn)場可編程門陣列(FPGA)EP1K50,利用EDA設計工具Synplify、Modelsim、QuartusⅡ以及Verilog硬件描述語言,完成了控制系統(tǒng)的硬件設計及調(diào)試,解決了由常規(guī)電路難以實現(xiàn)的問題。

關鍵詞:PCB 測試;可重構FPGA ;PC104 總線;Verilog

引言

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

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

硬件控制系統(tǒng)

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

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

FPGA與PC104的接口電路

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

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

根據(jù)測試機系統(tǒng)設計要求,需要對測試電壓及兩通道參考電壓進行自檢,即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公司帶緩沖基準輸入(高阻抗)的雙路12 位電壓輸出DAC,通過CMOS 兼容的3線串行總線實現(xiàn)數(shù)字控制。器件接收16 位命令字,產(chǎn)生兩路D/A模擬輸出。TLV5618只有單一I/O周期,由外部時鐘SCL K決定,延續(xù)16 個時鐘周期,將命令字寫入片內(nèi)寄存器,完成后即進行D/A轉(zhuǎn)換。TLV5618讀入命令字是從CS的下降沿開始有效,從下一SCLK的下降沿開始讀入數(shù)據(jù),讀入16位數(shù)據(jù)后即進入轉(zhuǎn)換周期,直到下次出現(xiàn)CS的下降沿。

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

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

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

FPGA 程序框架

FPGA 片內(nèi)程序是整個測試系統(tǒng)正確運行的關鍵。 由自頂向下的FPGA 設計原則,將系統(tǒng)分為5個獨立的模塊, 即通信模塊(ISA) 、測試模塊(TEST) 、AD/DA 模塊、解碼模塊(DECODER) 、RAM 控制模塊(RAMCTL)。

ISA 模塊:系統(tǒng)通信及控制模塊,完成與上位機通信、命令字解釋、控制信號的產(chǎn)生等。系統(tǒng)根據(jù)上位機傳送的導通電阻、絕緣電壓等參數(shù)啟動ADDA模塊完成參考電壓的輸出;根據(jù)測試命令啟動測試模塊完成測試過程。數(shù)據(jù)在多個同步運行的同步狀態(tài)機間傳送,較難控制的是多進程間的數(shù)據(jù)通信與數(shù)據(jù)同步。

RAM控制模塊:在測試開始前,上位機將測試點的信息通過總線傳送至ISA模塊, ISA 模塊再將其存放到片內(nèi)RAM中;測試完成后,將RAM中的測試結果傳送到上位機。 在測試時測試模塊通過讀RAM中測試點的信息來打開相應測試開關,再將測試結果保存到RAM 中。 這樣兩個模塊都要求讀寫RAM 以實現(xiàn)兩個模塊之間的數(shù)據(jù)共享,這就要求有一控制信號將兩組讀寫信號線分別與RAM模塊相連接,RAM控制模塊即完成此功能。測試模塊(TEST):雖然測試過程有多種,如開關卡自檢、導通測試、絕緣測試等,但測試過程卻是相同的,即測試掃描。 測試的工作過程是:加比較電路參考電壓→打開待測點開關→延時→讀比較器結果→測試另一組測試點。 本模塊是按照不同的操作碼,進入不同的測試過程。 測試結果與測試點編號一起組成13 位數(shù)據(jù)保存到RAM 中,并將原來測試點的編號信息覆蓋。

解碼模塊(DECODER):這一模塊掛在測試模塊(TEST) 之后,它完成開關編號到實際電路的映射。 由于測試針陣形式不同、譯碼電路與控制電路的硬件設計不同,上級模塊輸出的測試開關信息并不能直接作為輸出控制測試開關電路。 解碼模塊完成這兩者間的轉(zhuǎn)換。

AD/DA 模塊(AD/DA):設計SPI 總線接口對A/D 及D/A 器件操作,模塊以允許(adenable , daenable) 信號啟動,以busy信號作為轉(zhuǎn)換完成標志信號,將A/D及D/A操作相對其它模塊進行封裝。系統(tǒng)的每個模塊采用Verilog硬件描述語言編寫,采用多個多層嵌套的同步狀態(tài)機(FSM)完成整個系統(tǒng)的邏輯功能;每一模塊應用仿真工具Modelsim完成模塊的功能仿真,系統(tǒng)完成功能測試后;利用Altera 綜合布線工具QuartusII完成系統(tǒng)后仿真及綜合、布線、下載;充分利用Altera公司免費提供的IPcore 對程序模塊進行優(yōu)化;頂層設計采用方框圖輸入方式,模塊間的數(shù)據(jù)流由方框圖更直觀地表現(xiàn)出來。

結束語

基于FPGA的PCB測試機的硬件控制系統(tǒng),提高了PCB測試機的測試速度、簡化電路的設計。此外由于FPGA的可重構特性,為系統(tǒng)的軟件算法以及硬件結構的進一步優(yōu)化升級打下了良好的基礎,具有良好的應用前景。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • pcb
    pcb
    +關注

    關注

    4307

    文章

    22852

    瀏覽量

    394843
  • 華強pcb線路板打樣

    關注

    5

    文章

    14629

    瀏覽量

    42894
收藏 人收藏

    評論

    相關推薦

    PCB線路板飛針測試技術,確保電路板品質(zhì)卓越

    力保障,是電子行業(yè)中重要的測試手段之一。 PCB 飛針測試是一種高精度、高效率的測試方法,它通過移動的探針
    的頭像 發(fā)表于 09-20 14:18 ?247次閱讀

    PCB測試架和PCBA測試架的原理與用途

    一站式PCBA智造廠家今天為大家講講PCBA測試架有什么用?PCB與PCBA測試架的原理和用途。在電子制造領域,PCBA測試架是確保電路板質(zhì)量與可靠性的重要工具。通過模擬實際工作環(huán)境,
    的頭像 發(fā)表于 09-06 09:23 ?238次閱讀

    PCB板性能測試設備:博森源焊接強度測試

    PCB板被廣泛應用于各行各業(yè),但使用范圍有明確定義。就板材而言,常見的PCB板材共有四種,其基本特點均表現(xiàn)出良好的散熱性與絕緣性。pcb板的性能要求高,一般通過焊接強度測試
    的頭像 發(fā)表于 08-17 17:09 ?790次閱讀
    <b class='flag-5'>PCB</b>板性能<b class='flag-5'>測試</b>設備:博森源焊接強度<b class='flag-5'>測試</b>儀

    FPGA電路設計的一些技巧

    標準就是依照通用I/O數(shù)量少的芯片設計電路。 依據(jù)電路合理布局分配管腳功能  FPGA的通用I/O功能定義可以依據(jù)需求確定。在電路圖設計的步驟中,假如可以依據(jù)
    發(fā)表于 07-21 20:20

    Xilinx 7系列FPGA PCB設計指導

    引言: 從本文開始,我們陸續(xù)介紹下有關7系列FPGA通用PCB設計指導,重點介紹在PCB和接口級別做出設計決策的策略。由于FPGA本身也屬于數(shù)字集成電路,文章中的大部分設計策略及概念也
    發(fā)表于 07-19 16:56

    pcb線路板功能測試流程

    在電子制造業(yè)中,PCB(印刷電路板)是電子設備的核心組件之一。PCB線路板功能測試是確保產(chǎn)品質(zhì)量和可靠性的關鍵環(huán)節(jié)。本文將詳細介紹PCB線路板功能
    的頭像 發(fā)表于 05-29 11:27 ?2225次閱讀

    FPGA軟件測試面臨哪些挑戰(zhàn)?

    FPGA軟件包含進行設計而產(chǎn)生的程序、文檔和數(shù)據(jù),同時包含與之相關的軟件特性和硬件特性。FPGA軟件測試需要考慮軟件代碼正確性、軟硬件接口協(xié)調(diào)性、時序性等方面的全面覆蓋。
    發(fā)表于 03-20 12:23 ?1013次閱讀

    fpga驗證和測試的區(qū)別

    FPGA驗證和測試在芯片設計和開發(fā)過程中都扮演著重要的角色,但它們各自有著不同的側重點和應用場景。
    的頭像 發(fā)表于 03-15 15:03 ?902次閱讀

    fpgapcb有什么關系

    FPGA(現(xiàn)場可編程門陣列)和PCB(印刷電路板)在電子系統(tǒng)設計中各自扮演著重要的角色,并且它們之間存在著密切的關聯(lián)。
    的頭像 發(fā)表于 03-15 14:59 ?1264次閱讀

    FPGA上為FPGA設計PCB的步驟詳解

    FPGA(Zynq? UltraScale+? MPSoC) 上的 Ubuntu 22.04 桌面映像上安裝了各種 EE 設計應用程序(包括 KiCad),并用它設計 PCB。
    的頭像 發(fā)表于 02-26 09:04 ?1805次閱讀
    在<b class='flag-5'>FPGA</b>上為<b class='flag-5'>FPGA</b>設計<b class='flag-5'>PCB</b>的步驟詳解

    FPGA最小系統(tǒng)是怎樣

    請問FPGA的最小系統(tǒng)是怎樣的?
    發(fā)表于 02-22 09:58

    關于PCB飛針測試

    飛針測試是目前電氣測試一些主要問題的最佳解決辦法。它用探針取代針床,使用多個由馬達驅(qū)動的、能夠快速移動的電氣探針同器件的引腳進行接觸并進行電氣測量。PCB板在生產(chǎn)過程中,難免因外在因
    的頭像 發(fā)表于 02-19 12:55 ?886次閱讀
    關于<b class='flag-5'>PCB</b>飛針<b class='flag-5'>測試</b>

    PCB與PCBA測試架的區(qū)別

    PCB測試架跟PCBA測試架的原理都很簡單,兩個都是通過金屬探針去連接PCB板上的焊盤和測試點,在PC
    發(fā)表于 11-24 10:02 ?593次閱讀

    pcb板飛針測試介紹

    pcb板飛針測試介紹
    的頭像 發(fā)表于 11-03 10:08 ?1253次閱讀

    PCB板應力是如何測試

    我司專業(yè)針對PCB電路板開發(fā)設計的TSK、DL系列應力測試儀 ??蓪崟r監(jiān)測PCB板各個工序應力應變變化,為廣大PCB廠家排除電路板生產(chǎn)過程的應力故障。
    的頭像 發(fā)表于 10-30 14:37 ?1751次閱讀
    <b class='flag-5'>PCB</b>板應力是如何<b class='flag-5'>測試</b>的