作者:王振生,劉耀周,劉煥照
自動測試設備在軍事及工業領域的應用越來越廣泛,然而在電路單元尤其是電路板測試中,由于被測單元種類多,被測通道數量大,傳統的開關矩陣體積大、切換速度慢、電氣性能差。已不能滿足現代測試儀器高速、便攜的要求。本文介紹了一種采用USB接口,利用I2C總線傳輸數據,由CPLD控制多路復用器件的大型開關矩陣結構,具有較高的切換速度及較好的電氣性能,并滿足了小型化的要求。
1 系統結構及功能
開關矩陣主要實現自動測試設備與被測電路單元之間的信息交換,功能如下:
(1)將程控電源系統輸出的電源自動加至被測電路單元要求的引腳上;
(2)將自動測試設備信號源分系統輸出的信號轉接至被測電路單元要求的引腳上;
(3)將被測電路單元輸出的信號轉接至自動測試設備的適當測量通道上;
(4)為被測電路單元提供必要的外接元件,如負載、調整旋鈕、大體積器件等。
不同的被測電路單元其連接器定義不同,每個插針都可能被定義為電源、輸入信號、輸出信號、外接元件端子之一。并且現代電子設備的電路單元通道數很多,大量的信號通道對ATE的開關矩陣設計提出了嚴峻的挑戰。本文所設計的開關矩陣采取針床連接方式,可有效連接多種接插件。通過單片機控制的多路復用器,可將信號加至所需的被測通道,系統結構框圖如圖1所示。
2 硬件設計
2.1 測試電路結構
測試電路結構組成如圖2所示。系統采用上、下位機的結構,上位機由計算機及控制軟件組成,下位機由USB總線接口及控制板組成,USB模塊通過I2C總線將控制數據傳送給控制板上各個測試模塊。控制板上各測試模塊收到總線發送來的串行碼流,譯碼后提取地址值,控制模塊中的多路復用器選取相應通道。I2C是一種串行總線的外設接口,它采用同步方式串行接收或發送信息,主從設備在同一個時鐘下工作,I2C由數據線SDA和時鐘線SCL構成雙向串行總線,由于I2C只有一根數據線,因此信息的發送和接收只能分時進行。各模塊組件均并聯在總線上,每一個模塊都有唯一的地址。因此系統可在允許范圍內增加或減少被測板數量,I2C總線上各節點模塊支持熱插拔,所以采取該方案可以有效減小測試系統體積,使用操作方便,可同時連接多個被測單元。
2.2 控制電路組成
本系統中,控制板上各測試模塊均通過I2C總線與測試主機進行通訊,各模塊地址由板上I2C芯片地址唯一確定,主機首先確定各板卡地址進行板選,與相應板卡建立通訊后,發送串行控制數據SDA。在同一時刻,I2C總線上只能有一個模塊處于活動狀態,利用多路復用器狀態的“保持”特性,即可實現測試模塊上及測試模塊之間探針的切換??刂瓢咫娐方Y構組成如圖3所示。
PCA9501是一款帶中斷的8位I2C和SMBus總線器件,用于接收總線發送的數據并與本地地址進行比較,若結果相同則將數據轉換成并行地址信號送至CPLD器件EMP7128,CPLD用來接收PCA9501發送的并行數據,并分析數據內容,將不同的串行數據轉換成相應的并行控制數據并通過I/O端口送出,從而控制32路多路復用器件ADG732的通道選擇。
3 系統軟件設計
系統軟件包括主機控制程序和下位機測試程序,主機控制程序可以采用通用編程工具如VisualC++或者C++Builder等來進行編寫。下位機測試程序包括USB控制程序、I2C發送程序、CPLD控制程序,其中USB控制程序及I2C發送程序是對USB控制器CY7C68013進行編程,采用Keil C51編譯器開發,CPLD控制程序采用MAX PLUSⅡ進行開發,Verilog HDL硬件描述語言編寫。
3.1 主機控制程序設計
主機控制程序設計取決于下位機控制流程,下位機控制流程如圖4所示。
(1)打開USB設備并進行初始化,然后復位設備,將所有ADD732芯片內部開關打開。
(2)主機下達命令進行被測板選擇,被測板地址由被測板上的PCA9501確定,對被測板進行選擇只需向所需地址發送數據即可,所有被測板對接收到的地址數據進行比較,只有通過比較的被測板才會通過PCA9501將數據發送給CPLD。
(3)選取被測板,選擇測試芯片,即多路復用器陣列中多路復用器件的選擇,CPLD解析接收到的芯片選擇數據,將該數據轉換成對多路復用器的片選信號,并禁用多路復用器件。
(4)主機程序將測試點地址發送到USB端點緩沖區,由CPLD解析發送的端點選擇數據,將該數據轉換成對多路復用器的通道選擇信號,并使能多路復用器件,將板選、片選及測試點選擇數據同時送出,則相應被測板上的多路復用器將導通,從而實現測試點的選擇。
(5)每個芯片上所有點測試完畢后,在進行下一個芯片測試之前,需要將該芯片復位。同樣在所有測試點測試完畢后,將整個開關矩陣復位。
主控程序數據發送部分程序如下:
3.2 下位機測試程序設計
下位機測試程序包括USB單片機CY7C68013接收主機發送的控制數據,并解釋主機數據,然后通過該單片機的I2C接口將數據送至測試板上的I2C數據轉換器件PCA9501,PCA9501將接收的被測板地址同自身地址相比較,如相同將自動把串行數據轉成并行數據送CPLD,CPLD解析發送的并行數據,然后在使能信號的作用下(通過USB控制器件CY7C68013的PB7口)將數據同時送出。
單片機接收/發送數據程序如下:
CPLD用來接收PCA9501發送的并行數據,并對接收的數據進行解釋,然后將其轉化成對多路復用器件ADG732的控制信號,程序如下:
4 結束語
本系統采用USB接口技術及I2C數據傳輸方式,有效縮小了系統體積,為多通道開關矩陣的小型化做出了有益的探索。所研制的開關矩陣可掛接多個測試模塊,并支持熱插拔,具有很強的通用性和可擴展性,與傳統的固定式測試針床相比,無需針對每個被測電路板制作專門的通道板,減小了體積,降低了成本,為低成本、便攜化、通用化、多通道測試方案提供了一種新的實現手段。
責任編輯:gt
-
接口
+關注
關注
33文章
8257瀏覽量
149958 -
usb
+關注
關注
60文章
7773瀏覽量
262392 -
總線
+關注
關注
10文章
2817瀏覽量
87710
發布評論請先 登錄
相關推薦
評論