新聞中心

EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 基于I2C總線的大型開關(guān)矩陣設(shè)計與實現(xiàn)

基于I2C總線的大型開關(guān)矩陣設(shè)計與實現(xiàn)

作者:王振生 劉耀周 劉煥照 時間:2008-05-30 來源:國外電子元器件 收藏

  1 引言

本文引用地址:http://www.butianyuan.cn/article/83381.htm

  設(shè)備在軍事及工業(yè)領(lǐng)域的應(yīng)用越來越廣泛,然而在電路單元尤其是電路板測試中,由于被測單元種類多,被測通道數(shù)量大,傳統(tǒng)的體積大、切換速度慢、電氣性能差。已不能滿足現(xiàn)代測試儀器高速、便攜的要求。本文介紹了一種采用接口,利用總線傳輸數(shù)據(jù),由控制多路復(fù)用器件的大型結(jié)構(gòu),具有較高的切換速度及較好的電氣性能,并滿足了小型化的要求。

  2 系統(tǒng)結(jié)構(gòu)及功能

  主要實現(xiàn)設(shè)備與被測電路單元之間的信息交換,功能如下:

  (1)將程控電源系統(tǒng)輸出的電源自動加至被測電路單元要求的引腳上;

  (2)將設(shè)備信號源分系統(tǒng)輸出的信號轉(zhuǎn)接至被測電路單元要求的引腳上;

  (3)將被測電路單元輸出的信號轉(zhuǎn)接至自動測試設(shè)備的適當(dāng)測量通道上;

  (4)為被測電路單元提供必要的外接元件,如負載、調(diào)整旋鈕、大體積器件等。

  不同的被測電路單元其連接器定義不同,每個插針都可能被定義為電源、輸入信號、輸出信號、外接元件端子之一。并且現(xiàn)代電子設(shè)備的電路單元通道數(shù)很多,大量的信號通道對ATE的開關(guān)矩陣設(shè)計提出了嚴(yán)峻的挑戰(zhàn)。本文所設(shè)計的開關(guān)矩陣采取針床連接方式,可有效連接多種接插件。通過單片機控制的多路復(fù)用器,可將信號加至所需的被測通道,系統(tǒng)結(jié)構(gòu)框圖如圖l所示。

  3 硬件設(shè)計

  3.1 測試電路結(jié)構(gòu)

  測試電路結(jié)構(gòu)組成如圖2所示。系統(tǒng)采用上、下位機的結(jié)構(gòu),上位機由計算機及控制軟件組成,下位機由總線接口及控制板組成,模塊通過總線將控制數(shù)據(jù)傳送給控制板上各個測試模塊??刂瓢迳细鳒y試模塊收到總線發(fā)送來的串行碼流,譯碼后提取地址值,控制模塊中的多路復(fù)用器選取相應(yīng)通道。是一種串行總線的外設(shè)接口,它采用同步方式串行接收或發(fā)送信息,主從設(shè)備在同一個時鐘下工作,I2C由數(shù)據(jù)線SDA和時鐘線SCL構(gòu)成雙向串行總線,由于I2C只有一根數(shù)據(jù)線,因此信息的發(fā)送和接收只能分時進行。各模塊組件均并聯(lián)在總線上,每一個模塊都有唯一的地址。因此系統(tǒng)可在允許范圍內(nèi)增加或減少被測板數(shù)量,I2C總線上各節(jié)點模塊支持熱插拔,所以采取該方案可以有效減小測試系統(tǒng)體積,使用操作方便,可同時連接多個被測單元。

        

  3.2 控制電路組成

  本系統(tǒng)中,控制板上各測試模塊均通過I2C總線與測試主機進行通訊,各模塊地址由板上I2C芯片地址唯一確定,主機首先確定各板卡地址進行板選,與相應(yīng)板卡建立通訊后,發(fā)送串行控制數(shù)據(jù)SDA。在同一時刻,I2C總線上只能有一個模塊處于活動狀態(tài),利用多路復(fù)用器狀態(tài)的“保持”特性,即可實現(xiàn)測試模塊上及測試模塊之間探針的切換??刂瓢咫娐方Y(jié)構(gòu)組成如圖3所示。

       

  PCA9501是一款帶中斷的8位I2C和SMBus總線器件,用于接收總線發(fā)送的數(shù)據(jù)并與本地地址進行比較,若結(jié)果相同則將數(shù)據(jù)轉(zhuǎn)換成并行地址信號送至器件EMP7128,用來接收PCA9501發(fā)送的并行數(shù)據(jù),并分析數(shù)據(jù)內(nèi)容,將不同的串行數(shù)據(jù)轉(zhuǎn)換成相應(yīng)的并行控制數(shù)據(jù)并通過I/O端口送出,從而控制32路多路復(fù)用器件ADG732的通道選擇。

  4 系統(tǒng)軟件設(shè)計

  系統(tǒng)軟件包括主機控制程序和下位機測試程序,主機控制程序可以采用通用編程工具如VisualC++或者C++Builder等來進行編寫。下位機測試程序包括USB控制程序、I2C發(fā)送程序、CPLD控制程序,其中USB控制程序及I2C發(fā)送程序是對USB控制器CY7C68013進行編程,采用Keil C51編譯器開發(fā),CPLD控制程序采用MAX PLUSⅡ進行開發(fā),Verilog HDL硬件描述語言編寫。

  4.1 主機控制程序設(shè)計

  主機控制程序設(shè)計取決于下位機控制流程,下位機控制流程如圖4所示。

        

  (1)打開USB設(shè)備并進行初始化,然后復(fù)位設(shè)備,將所有ADD732芯片內(nèi)部開關(guān)打開。

  (2)主機下達命令進行被測板選擇,被測板地址由被測板上的PCA9501確定,對被測板進行選擇只需向所需地址發(fā)送數(shù)據(jù)即可,所有被測板對接收到的地址數(shù)據(jù)進行比較,只有通過比較的被測板才會通過PCA9501將數(shù)據(jù)發(fā)送給CPLD。

  (3)選取被測板,選擇測試芯片,即多路復(fù)用器陣列中多路復(fù)用器件的選擇,CPLD解析接收到的芯片選擇數(shù)據(jù),將該數(shù)據(jù)轉(zhuǎn)換成對多路復(fù)用器的片選信號,并禁用多路復(fù)用器件。

  (4)主機程序?qū)y試點地址發(fā)送到USB端點緩沖區(qū),由CPLD解析發(fā)送的端點選擇數(shù)據(jù),將該數(shù)據(jù)轉(zhuǎn)換成對多路復(fù)用器的通道選擇信號,并使能多路復(fù)用器件,將板選、片選及測試點選擇數(shù)據(jù)同時送出,則相應(yīng)被測板上的多路復(fù)用器將導(dǎo)通,從而實現(xiàn)測試點的選擇。

  (5)每個芯片上所有點測試完畢后,在進行下一個芯片測試之前,需要將該芯片復(fù)位。同樣在所有測試點測試完畢后,將整個開關(guān)矩陣復(fù)位。


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉