新闻中心

EEPW首页 > 模拟技术 > 设计应用 > 基于I2C总线的大型开关矩阵设计与实现

基于I2C总线的大型开关矩阵设计与实现

作者:王振生 刘耀周 刘焕照时间:2008-05-30来源:国外电子元器件收藏

  1 引言

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

  设备在军事及工业领域的应用越来越广泛,然而在电路单元尤其是电路板测试中,由于被测单元种类多,被测通道数量大,传统的体积大、切换速度慢、电气性能差。已不能满足现代测试仪器高速、便携的要求。本文介绍了一种采用接口,利用总线传输数据,由控制多路复用器件的大型结构,具有较高的切换速度及较好的电气性能,并满足了小型化的要求。

  2 系统结构及功能

  主要实现设备与被测电路单元之间的信息交换,功能如下:

  (1)将程控电源系统输出的电源自动加至被测电路单元要求的引脚上;

  (2)将设备信号源分系统输出的信号转接至被测电路单元要求的引脚上;

  (3)将被测电路单元输出的信号转接至自动测试设备的适当测量通道上;

  (4)为被测电路单元提供必要的外接元件,如负载、调整旋钮、大体积器件等。

  不同的被测电路单元其连接器定义不同,每个插针都可能被定义为电源、输入信号、输出信号、外接元件端子之一。并且现代电子设备的电路单元通道数很多,大量的信号通道对ATE的开关矩阵设计提出了严峻的挑战。本文所设计的开关矩阵采取针床连接方式,可有效连接多种接插件。通过单片机控制的多路复用器,可将信号加至所需的被测通道,系统结构框图如图l所示。

  3 硬件设计

  3.1 测试电路结构

  测试电路结构组成如图2所示。系统采用上、下位机的结构,上位机由计算机及控制软件组成,下位机由总线接口及控制板组成,模块通过总线将控制数据传送给控制板上各个测试模块。控制板上各测试模块收到总线发送来的串行码流,译码后提取地址值,控制模块中的多路复用器选取相应通道。是一种串行总线的外设接口,它采用同步方式串行接收或发送信息,主从设备在同一个时钟下工作,I2C由数据线SDA和时钟线SCL构成双向串行总线,由于I2C只有一根数据线,因此信息的发送和接收只能分时进行。各模块组件均并联在总线上,每一个模块都有唯一的地址。因此系统可在允许范围内增加或减少被测板数量,I2C总线上各节点模块支持热插拔,所以采取该方案可以有效减小测试系统体积,使用操作方便,可同时连接多个被测单元。

        

  3.2 控制电路组成

  本系统中,控制板上各测试模块均通过I2C总线与测试主机进行通讯,各模块地址由板上I2C芯片地址唯一确定,主机首先确定各板卡地址进行板选,与相应板卡建立通讯后,发送串行控制数据SDA。在同一时刻,I2C总线上只能有一个模块处于活动状态,利用多路复用器状态的“保持”特性,即可实现测试模块上及测试模块之间探针的切换。控制板电路结构组成如图3所示。

       

  PCA9501是一款带中断的8位I2C和SMBus总线器件,用于接收总线发送的数据并与本地地址进行比较,若结果相同则将数据转换成并行地址信号送至器件EMP7128,用来接收PCA9501发送的并行数据,并分析数据内容,将不同的串行数据转换成相应的并行控制数据并通过I/O端口送出,从而控制32路多路复用器件ADG732的通道选择。

  4 系统软件设计

  系统软件包括主机控制程序和下位机测试程序,主机控制程序可以采用通用编程工具如VisualC++或者C++Builder等来进行编写。下位机测试程序包括USB控制程序、I2C发送程序、CPLD控制程序,其中USB控制程序及I2C发送程序是对USB控制器CY7C68013进行编程,采用Keil C51编译器开发,CPLD控制程序采用MAX PLUSⅡ进行开发,Verilog HDL硬件描述语言编写。

  4.1 主机控制程序设计

  主机控制程序设计取决于下位机控制流程,下位机控制流程如图4所示。

        

  (1)打开USB设备并进行初始化,然后复位设备,将所有ADD732芯片内部开关打开。

  (2)主机下达命令进行被测板选择,被测板地址由被测板上的PCA9501确定,对被测板进行选择只需向所需地址发送数据即可,所有被测板对接收到的地址数据进行比较,只有通过比较的被测板才会通过PCA9501将数据发送给CPLD。

  (3)选取被测板,选择测试芯片,即多路复用器阵列中多路复用器件的选择,CPLD解析接收到的芯片选择数据,将该数据转换成对多路复用器的片选信号,并禁用多路复用器件。

  (4)主机程序将测试点地址发送到USB端点缓冲区,由CPLD解析发送的端点选择数据,将该数据转换成对多路复用器的通道选择信号,并使能多路复用器件,将板选、片选及测试点选择数据同时送出,则相应被测板上的多路复用器将导通,从而实现测试点的选择。

  (5)每个芯片上所有点测试完毕后,在进行下一个芯片测试之前,需要将该芯片复位。同样在所有测试点测试完毕后,将整个开关矩阵复位。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭