電路分享:基於FPGA的PCB測試機的設計
發布時間:2015-03-28 責任編輯:echolady
【導讀】PCB光(guang)板(ban)測(ce)試(shi)機(ji)的(de)測(ce)試(shi)方(fang)法(fa)是(shi)在(zai)待(dai)測(ce)點(dian)間(jian)施(shi)加(jia)測(ce)試(shi)電(dian)壓(ya),獲(huo)取(qu)兩(liang)點(dian)間(jian)的(de)電(dian)阻(zu)值(zhi)對(dui)應(ying)的(de)電(dian)壓(ya)信(xin)號(hao),從(cong)而(er)得(de)知(zhi)兩(liang)點(dian)間(jian)的(de)電(dian)阻(zu)或(huo)通(tong)斷(duan)情(qing)況(kuang)。由(you)於(yu)測(ce)試(shi)電(dian)路(lu)較(jiao)為(wei)複(fu)雜(za),測(ce)試(shi)速(su)度(du)會(hui)受(shou)到(dao)影(ying)響(xiang)。本(ben)文(wen)講(jiang)解(jie)了(le)基(ji)於(yu)FPGA的PCB測試版的硬件控製電路的設計步驟。
硬件控製係統
測試過程是在上位計算機的控製下,控製測試電路分別打開不同的測試開關。測試機係統由以下幾部分構成: 上位計算機PC104 、測試控製邏輯(由FPGA 實現) 、高壓測試電路。 其中上位機主要完成人機交互、測試算法、測試數據處理以及控製輸出等功能。 FPGA 控製高壓測試電路完成對PCB 的測試過程。
本係統以一台PC104 為上位計算機,以FPGA為核心,通過PC104 總線實現上位機對測試的控製。
測試係統總體框圖如圖1所示。

PC104總線是一種專為嵌入式控製定義的工業控製總線,其信號定義與ISA 總線基本相同。 PC104總線共有4 類總線周期,即8 位的總線周期、16 位的總線周期、DMA 總線周期和刷新總線周期。 16 位的I/O總線周期為3 個時鍾周期,8 位的I/O總線周期為6 個時鍾周期。 為了提高通信的速度,ISA總線采用16 位通信方式,即16 位I/O方式。 為了充分利用PC104的資源,應用PC104的係統總線擴展後對FPGA 進行在線配置。正常工作時通過PC104總線與FPGA進行數據通信。
FPGA與串行A/D及D/A器件的接口
根據測試機係統設計要求,需要對測試電壓及兩通道參考電壓進行自檢,即A/D轉換通道至少有3 路。 兩路比較電路的參考電壓由D/A輸出,則係統的D/A通道要求有兩通道。 為了減少A/D及D/A的控製信號線數,選用串行A/D及D/A器件。 綜合性能、價格等因素, 選用的A/D器件為TLC2543,D/A器件為TLV5618。
TLV5618是TI公司帶緩衝基準輸入(高阻抗)的雙路12 位電壓輸出DAC,通過CMOS 兼容的3線串行總線實現數字控製。器件接收16 位命令字,產生兩路D/A模擬輸出。TLV5618隻有單一I/O周期,由外部時鍾SCL K決定,延續16 個時鍾周期,將命令字寫入片內寄存器,完成後即進行D/A轉換。TLV5618讀入命令字是從CS的下降沿開始有效,從下一SCLK的下降沿開始讀入數據,讀入16位數據後即進入轉換周期,直到下次出現CS的下降沿。 其操作時序圖如圖2 所示。

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


FPGA 程序框架
FPGA 片內程序是整個測試係統正確運行的關鍵。 由自頂向下的FPGA 設計原則,將係統分為5個獨立的模塊, 即通信模塊(ISA) 、測試模塊(TEST) 、AD/DA 模塊、解碼模塊(DECODER) 、RAM 控製模塊(RAMCTL)。
ISA 模塊:係統通信及控製模塊,完成與上位機通信、命令字解釋、控製信號的產生等。係統根據上位機傳送的導通電阻、絕緣電壓等參數啟動ADDA模塊完成參考電壓的輸出;根據測試命令啟動測試模塊完成測試過程。數據在多個同步運行的同步狀態機間傳送,較難控製的是多進程間的數據通信與數據同步。
RAM控製模塊:在測試開始前,上位機將測試點的信息通過總線傳送至ISA模塊, ISA 模塊再將其存放到片內RAM中;測試完成後,將RAM中的測試結果傳送到上位機。 在測試時測試模塊通過讀RAM中測試點的信息來打開相應測試開關,再將測試結果保存到RAM 中。 這樣兩個模塊都要求讀寫RAM 以實現兩個模塊之間的數據共享,這就要求有一控製信號將兩組讀寫信號線分別與RAM模塊相連接,RAM控製模塊即完成此功能。測試模塊(TEST):雖然測試過程有多種,如開關卡自檢、導通測試、絕緣測試等,但測試過程卻是相同的,即測試掃描。 測試的工作過程是:加比較電路參考電壓→打開待測點開關→延時→讀比較器結果→測試另一組測試點。 本模塊是按照不同的操作碼,進入不同的測試過程。 測試結果與測試點編號一起組成13 位數據保存到RAM 中,並將原來測試點的編號信息覆蓋。
解碼模塊(DECODER):這一模塊掛在測試模塊(TEST) 之後,它完成開關編號到實際電路的映射。 由於測試針陣形式不同、譯碼電路與控製電路的硬件設計不同,上級模塊輸出的測試開關信息並不能直接作為輸出控製測試開關電路。 解碼模塊完成這兩者間的轉換。
AD/DA 模塊(AD/DA):設計SPI 總線接口對A/D 及D/A 器件操作,模塊以允許(adenable , daenable) 信號啟動,以busy信號作為轉換完成標誌信號,將A/D及D/A操作相對其它模塊進行封裝。係統的每個模塊采用Verilog硬件描述語言編寫,采用多個多層嵌套的同步狀態機(FSM)完成整個係統的邏輯功能;每一模塊應用仿真工具Modelsim完成模塊的功能仿真,係統完成功能測試後;利用Altera 綜合布線工具QuartusII完成係統後仿真及綜合、布線、下載;充分利用Altera公司免費提供的IPcore 對程序模塊進行優化;頂層設計采用方框圖輸入方式,模塊間的數據流由方框圖更直觀地表現出來。
相關閱讀:
PCB設計指導:如何改進高頻信號傳輸中的SMT焊盤設計?
選擇PCB元件的技巧從何談起?那就從封裝開始吧
PCB電路板為什麼要做阻抗?意義何在
特別推薦
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
技術文章更多>>
- 一秒檢測,成本降至萬分之一,光引科技把幾十萬的台式光譜儀“搬”到了手腕上
- AI服務器電源機櫃Power Rack HVDC MW級測試方案
- 突破工藝邊界,奎芯科技LPDDR5X IP矽驗證通過,速率達9600Mbps
- 通過直接、準確、自動測量超低範圍的氯殘留來推動反滲透膜保護
- 從技術研發到規模量產:恩智浦第三代成像雷達平台,賦能下一代自動駕駛!
技術白皮書下載更多>>
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索



