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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

基于USB接口技術(shù)和I2C總線實(shí)現(xiàn)多通道開(kāi)關(guān)矩陣的設(shè)計(jì)

電子設(shè)計(jì) ? 來(lái)源:電子設(shè)計(jì)工程 ? 作者:王振生,劉耀周, ? 2021-06-23 16:45 ? 次閱讀

作者:王振生,劉耀周,劉煥照

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

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

開(kāi)關(guān)矩陣主要實(shí)現(xiàn)自動(dòng)測(cè)試設(shè)備與被測(cè)電路單元之間的信息交換,功能如下:

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

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

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

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

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

2 硬件設(shè)計(jì)

2.1 測(cè)試電路結(jié)構(gòu)

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

2.2 控制電路組成

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

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

3 系統(tǒng)軟件設(shè)計(jì)

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

3.1 主機(jī)控制程序設(shè)計(jì)

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

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

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

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

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

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

主控程序數(shù)據(jù)發(fā)送部分程序如下:

3.2 下位機(jī)測(cè)試程序設(shè)計(jì)

下位機(jī)測(cè)試程序包括USB單片機(jī)CY7C68013接收主機(jī)發(fā)送的控制數(shù)據(jù),并解釋主機(jī)數(shù)據(jù),然后通過(guò)該單片機(jī)的I2C接口將數(shù)據(jù)送至測(cè)試板上的I2C數(shù)據(jù)轉(zhuǎn)換器件PCA9501,PCA9501將接收的被測(cè)板地址同自身地址相比較,如相同將自動(dòng)把串行數(shù)據(jù)轉(zhuǎn)成并行數(shù)據(jù)送CPLD,CPLD解析發(fā)送的并行數(shù)據(jù),然后在使能信號(hào)的作用下(通過(guò)USB控制器件CY7C68013的PB7口)將數(shù)據(jù)同時(shí)送出。

單片機(jī)接收/發(fā)送數(shù)據(jù)程序如下:

CPLD用來(lái)接收PCA9501發(fā)送的并行數(shù)據(jù),并對(duì)接收的數(shù)據(jù)進(jìn)行解釋,然后將其轉(zhuǎn)化成對(duì)多路復(fù)用器件ADG732的控制信號(hào),程序如下:

4 結(jié)束語(yǔ)

本系統(tǒng)采用USB接口技術(shù)及I2C數(shù)據(jù)傳輸方式,有效縮小了系統(tǒng)體積,為多通道開(kāi)關(guān)矩陣的小型化做出了有益的探索。所研制的開(kāi)關(guān)矩陣可掛接多個(gè)測(cè)試模塊,并支持熱插拔,具有很強(qiáng)的通用性和可擴(kuò)展性,與傳統(tǒng)的固定式測(cè)試針床相比,無(wú)需針對(duì)每個(gè)被測(cè)電路板制作專門(mén)的通道板,減小了體積,降低了成本,為低成本、便攜化、通用化、多通道測(cè)試方案提供了一種新的實(shí)現(xiàn)手段。

責(zé)任編輯:gt

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

    關(guān)注

    33

    文章

    8605

    瀏覽量

    151191
  • usb
    usb
    +關(guān)注

    關(guān)注

    60

    文章

    7945

    瀏覽量

    264703
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    2881

    瀏覽量

    88095
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    USB總線轉(zhuǎn)I2C總線接口芯片

    ;strong>USB總線轉(zhuǎn)I2C總線接口芯片</strong><br/>
    發(fā)表于 12-16 10:39

    MSP430與I2C總線接口技術(shù)的研究

    ,其硬件結(jié)構(gòu)簡(jiǎn)單、高速傳輸、器件豐富等特點(diǎn)使該類器件的應(yīng)用越來(lái)越廣泛。因此研究新型單片機(jī)MSP430與I2C總線接口技術(shù)有著重要的意義。本文針對(duì)這一問(wèn)題進(jìn)行研究,分析研究了MSP430與I2C
    發(fā)表于 01-23 14:43

    如何利用I2C總線實(shí)現(xiàn)大型開(kāi)關(guān)矩陣的設(shè)計(jì)?

    本文介紹了一種采用USB接口,利用I2C總線傳輸數(shù)據(jù),由CPLD控制多路復(fù)用器件的大型開(kāi)關(guān)矩陣結(jié)
    發(fā)表于 06-01 06:49

    I2C總線通信接口的CPLD實(shí)現(xiàn)

    介紹采用ALTERA 公司的可編程器件,實(shí)現(xiàn)I2C 總線的通信接口的基本原理; 給出部分VHDL語(yǔ)言描述。該通信接口與專用的
    發(fā)表于 05-14 13:16 ?26次下載

    I2C總線接口模塊設(shè)計(jì)

    本實(shí)驗(yàn)是基于EasyFPGA030的I2C總線接口模塊設(shè)計(jì),用EasyFPGA030開(kāi)發(fā)套件通過(guò)I2C協(xié)議實(shí)現(xiàn)對(duì)二線制
    發(fā)表于 11-02 17:01 ?41次下載

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

    基于I2C 總線的大型開(kāi)關(guān)矩陣設(shè)計(jì)與實(shí)現(xiàn)作者:王振生 劉耀周 劉煥照摘要:本文介紹了一種采用 USB
    發(fā)表于 02-06 10:42 ?44次下載

    MSP430與I2C總線接口技術(shù)設(shè)計(jì)方案

    分析了MSP430 單片機(jī)I/O 端口的結(jié)構(gòu)特點(diǎn),提出了適合MSP430 特點(diǎn)的I2C 總線接口方案。該方案優(yōu)化了接口方法,降低了代碼量。結(jié)
    發(fā)表于 03-05 11:08 ?36次下載

    PCA9564 并行總線轉(zhuǎn)I2C總線接口芯片簡(jiǎn)介

    PCA9564是一款采用CMOS工藝,支持并行總線與串行I2C總線通信轉(zhuǎn)換的接口器件,適用于微控制器/處理器使用并行總線擴(kuò)展
    發(fā)表于 03-10 15:47 ?51次下載

    PCA9665并行總線轉(zhuǎn)I2C總線接口芯片簡(jiǎn)介

    PCA9665是一款并行總線與串行I2C總線接口轉(zhuǎn)換的器件,適用于微控制器/處理器使用并行總線擴(kuò)展I2C
    發(fā)表于 03-10 15:49 ?46次下載

    模擬I2C總線主節(jié)點(diǎn)通信原理及實(shí)現(xiàn)方法

    摘要 介紹模擬I2C總線主節(jié)點(diǎn)通信原理,并提出一種新的實(shí)現(xiàn)方法。這種采用延時(shí)接收比較來(lái)實(shí)現(xiàn)仲裁的方法,可使不具有
    發(fā)表于 06-18 17:57 ?5544次閱讀
    模擬<b class='flag-5'>I2C</b><b class='flag-5'>總線</b><b class='flag-5'>多</b>主節(jié)點(diǎn)通信原理及<b class='flag-5'>實(shí)現(xiàn)</b>方法

    基于CPLD的I2C總線接口設(shè)計(jì)

    在電路設(shè)計(jì)中,I2C總線是比較常用的兩線式串行通信方式,大多數(shù)的CPU都擅長(zhǎng)于并口操作,不具備直接操作I2C總線接口的能力。為了使不具備
    發(fā)表于 02-12 16:11 ?95次下載
    基于CPLD的<b class='flag-5'>I2C</b><b class='flag-5'>總線</b><b class='flag-5'>接口</b>設(shè)計(jì)

    NIOS實(shí)現(xiàn)I2C總線

    I2C 總線實(shí)現(xiàn)關(guān)鍵是SDA,他是雙向線,如果對(duì)與一個(gè)芯片只寫(xiě)而不讀,I2C 實(shí)現(xiàn)起來(lái)很容易.使用NIOS
    發(fā)表于 11-01 14:28 ?38次下載

    LPC1100 I2C 接口技術(shù)與可靠性設(shè)計(jì)(I2C器件應(yīng)用方案

    LPC1100 I2C 接口技術(shù)與可靠性設(shè)計(jì)(I2C器件應(yīng)用方案
    發(fā)表于 09-29 19:11 ?6次下載
    LPC1100 <b class='flag-5'>I2C</b> <b class='flag-5'>接口技術(shù)</b>與可靠性設(shè)計(jì)(<b class='flag-5'>I2C</b>器件應(yīng)用方案

    LPC1100 I2C 接口技術(shù)與可靠性設(shè)計(jì)I2C器件應(yīng)用方案

    LPC1100 I2C 接口技術(shù)與可靠性設(shè)計(jì)I2C器件應(yīng)用方案
    發(fā)表于 10-09 09:26 ?8次下載
    LPC1100 <b class='flag-5'>I2C</b> <b class='flag-5'>接口技術(shù)</b>與可靠性設(shè)計(jì)<b class='flag-5'>I2C</b>器件應(yīng)用方案

    i2c總線用來(lái)做什么_i2c總線數(shù)據(jù)傳輸過(guò)程

    I2C總線控制器為微控制器或微處理器提供控制I2C總線接口,它控制所有I2C
    發(fā)表于 11-24 14:16 ?7278次閱讀