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

发布者:清晨微风最新更新时间:2011-08-23 关键字:I2C  开关矩阵  CPLD  USB  自动测试 手机看文章 扫描二维码
随时随地手机看文章

1 引言

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

  2 系统结构及功能

  开关矩阵主要实现自动测试设备与被测电路单元之间的信息交换,功能如下:

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

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

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

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

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

  3 硬件设计

  3.1 测试电路结构

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

  3.2 控制电路组成

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

  PCA9501是一款带中断的8位I2C和SMBus总线器件,用于接收总线发送的数据并与本地地址进行比较,若结果相同则将数据转换成并行地址信号送至CPLD器件EMP7128,CPLD用来接收PCA9501发送的并行数据,并分析数据内容,将不同的串行数据转换成相应的并行控制数据并通过I/O端口送出,从而控制32路多路复用器件ADG732的通道选择。[page]
  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)每个芯片上所有点测试完毕后,在进行下一个芯片测试之前,需要将该芯片复位。同样在所有测试点测试完毕后,将整个开关矩阵复位。
主控程序数据发送部分程序如下:

  4.2 下位机测试程序设计

  下位机测试程序包括USB单片机CY7C68013接收主机发送的控制数据,并解释主机数据,然后通过该单片机的I2C接口将数据送至测试板上的I2C数据转换器件PCA9501,PCA9501将接收的被测板地址同自身地址相比较,如相同将自动把串行数据转成并行数据送CPLD,CPLD解析发送的并行数据,然后在使能信号的作用下(通过USB控制器件CY7C68013的PB7口)将数据同时送出。
[page]

  单片机接收/发送数据程序如下:

  CPLD用来接收PCA9501发送的并行数据,并对接收的数据进行解释,然后将其转化成对多路复用器件ADG732的控制信号,程序如下:


  5 结束语

  本系统采用USB接口技术及I2C数据传输方式,有效缩小了系统体积,为多通道开关矩阵的小型化做出了有益的探索。所研制的开关矩阵可挂接多个测试模块,并支持热插拔,具有很强的通用性和可扩展性,与传统的固定式测试针床相比,无需针对每个被测电路板制作专门的通道板,减小了体积,降低了成本,为低成本、便携化、通用化、多通道测试方案提供了一种新的实现手段。

 

 

 

关键字:I2C  开关矩阵  CPLD  USB  自动测试 引用地址:基于I2C总线的大型开关矩阵设计与实现

上一篇:基于单片机μPD780822的客车CAN总线灯光节点的设计及实现
下一篇:无线传感器网络的CAN总线互联

推荐阅读最新更新时间:2024-05-02 21:33

stm32f4 USB BULK 全速配置
1.找到ST公司提供的源程序,HID。!基础上修改。将下列文件导入工程: 打开usbd_hid_core.c配置如下 另外注意晶振频率配置,端点最大字节数,BULK最大支持64BYTE ,13个事务。
[单片机]
stm32f4 <font color='red'>USB</font> BULK 全速配置
基于CPLD的激光驱动电源的设计
  引言   激光加工主要是利用CO:激光束聚焦在材料表 面使材料熔化,同时用与激光束同轴的压缩气体吹 走被熔化的材料,来完成所需轨迹图形的切割或者 相应工艺品表面的雕刻。激光加工属于非接触加工, 具有加工方法多、适应性强、加工精度高、质量好 和加工效率高等优点。激光驱动电源作为激光器的 直接控制单元,其光开关响应的最高频率和出光功 率稳定和可靠性会直接影响最终的加工效果。基于 快速响应和出光稳定的需求,乐创自动化技术有限 公司研发了一种基于CPLD的数字式大功率激光驱 动电源。   2 系统组成及其工作原理   2.1 系统组成   基于 CPLD的数字式大功率CO:激光驱动电源 的系统结构如图1所示。 该 系统
[电源管理]
基于<font color='red'>CPLD</font>的激光驱动电源的设计
基于MCS-51单片机I2C总线接口电路的设计
I2C总线是由串行数据线SDA和串行时钟线SCL构成的,可发送和接收数据。它允许若干兼容器件共享总线。所有挂接在I2C总线上的器件和接口电路都应具有I2C总线接口,且所有的SDA/SCL同名端相连。总线上所有器件要依靠SDA发送的地址信号寻址,不需要片选线。 I2C总线最主要的优点是其简单性和有效性。占用的空间小,降低了互连成本。总线的长度可高达7.6m,并且能够以10kbps的最大传输速率支持40个组件。支持多主控器件,其中,任何能够进行发送和接收的设备都可以成为主器件。主控能够控制信号的传输和时钟频率。当然,在某时刻只能有一个主控器件。 在单片机控制系统中,广泛使用I2C器件。如果单片机自带I2C总线接口,则所有I2C
[单片机]
基于MCS-51单片机<font color='red'>I2C</font>总线接口电路的设计
亚信推出低功耗AX88772E免驱动USB 2.0转百兆以太网芯片
亚信电子最新推出的AX88772E USB 2.0转百兆以太网控制芯片 ,具有小封装、低功耗和免驱动(Driverless)的特性,不仅满足客户对节能减碳的产品需求,并可轻松实现简便地即插即用(Plug and Play)的连网体验。 亚信电子(ASIX Electronics Corporation)今日推出一款最新小封装、低功耗、免驱动USB百兆以太网芯片—【AX88772E USB 2.0转百兆以太网控制芯片】,不仅满足客户对节能减碳的产品需求,并可轻松实现简便地即插即用(Plug and Play)的连网体验。 AX88772E支持各种先进的电源管理与省电功能,包括电源管理及卸载(ARP & NS)、ECMA
[网络通信]
亚信推出低功耗AX88772E免驱动<font color='red'>USB</font> 2.0转百兆以太网芯片
无线USB的设计与实现
1 引言 USB(Universal Serial Bus通用串行总线)是一种快速、灵活的总线接口。与其它通信接口比较,USB接口的最大特点是易于使用,支持热插拔,并且所有的配置过程都由系统自动完成,无需用户干预。USB接口已成为现代微型计算机的标准配置。 短距离无线通信,具有抗干扰能力强、可靠性高、安全性好、受地理条件限制较少、安装施工简便灵活等特点,应用非常广泛,如汽车遥控门钥、无线抄表、饭店的无线点菜、遥控遥测、小区自动化等等。 结合上述两种技术的优点,本文提出了一种无线USB的实现方案,可进行短距离数据的高速传输。以此为基础,可快速开发出相关的短距离无线通信产品。 2 应用芯片 PDIUSBD12 是一款Phi
[嵌入式]
I2C—读写EEPROM 实验
EEPROM 是一种掉电后数据不丢失的存储器,常用来存储一些配置信息,以便系统重新上电的时候加载之。EEPOM 芯片最常用的通讯方式就是I2C 协议,本小节以EEPROM的读写实验为大家讲解STM32 的I2C 使用方法。实验中STM32 的I2C 外设采用主模式,分别用作主发送器和主接收器,通过查询事件的方式来确保正常通讯。 硬件设计 EEPROM 硬件连接图 本实验板中的EEPROM芯片(型号:AT24C02)的SCL 及SDA 引脚连接到了STM32 对应的I2C 引脚中,结合上拉电阻,构成了I2C 通讯总线,它们通过I2C 总线交互。EEPROM芯片的设备地址一共有7 位,其中高4 位固定为:1010 b,低3
[单片机]
<font color='red'>I2C</font>—读写EEPROM 实验
基于智能手机实现USB 2.0端口共享最新方案
移动设备需要许多信号处理集成电路(IC)以满足用户各种不同的功能要求。典型的智能手机包含一个通信处理器、一个应用处理器和一个功率管理IC,它们都必需共享单个USB端口,并以480Mbps的高速USB数据速率进行通信。本文专门介绍一些能够解决该问题的方案,并对从USB集线器到简单模拟开关的各种不同解决方案进行比较。 智能手机的一种设计方式是让内部的功率管理器件来控制单个USB2.0端口,这可以通过采用一个3:1的多路复用USB开关把USB 2.0端口转向自身来完成。默认情况下,其也可转向应用处理器,用来实现大多数多媒体功能性(比如MP3播放或视频处理)。还可转向通信处理器,用于无线电通信,可实现数据访问或通话(见图1)。这种架构
[嵌入式]
USB接口单片机SL11R的特点及应用
    摘要: 介绍了USB接口单片机SL11R的主要特点,并简要地说明了SL11R基本应用系统的组成和开发。     关键词: USB 单片机 SL11R SL11R是Scanlogic公司生产的带有USB接口的16位RISC单片机,内核处理速度达48MIPS,有很强的控制功能和灵活的工作方式。SL11R固化有类似于80X86的内部BIOS,可以直接调用,使用非常简单,可以让开发者在很短的时间内完成设计任务。 1 USB接口简介 USB总线是通用串行总线(Universal Serial Bus)的简称,已经成为PC机的标准接口。目前256以上的PC机基本上都已经配置了USB接口。USB接口具
[应用]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved