基于CPLD芯片EPM7128实现多功能测试系统的应用方案

可编程逻辑

1364人已加入

描述

引言

该多功能测试箱是一种新型专用测试仪器,其用途是为某一专用产品进行调试、维护而设计开发的,本测试箱的研制成功为生产和使用该专用产品的单位提供一种快速、高效的测试工具。该测试箱既可以接收被测试产品的数字量或模拟量信号并进行处理,然后把所得到的结果数据发送给上位机;也可以直接接收上位机的命令,并把上位机命令经过本测试箱的处理,控制被测试产品的工作;还可以进行其它辅助功能的工作。系统结构图如图1所示。

cpld

1系统工作原理

该测试系统的工作原理如图2所示。

上位机与测试箱的通讯是双向的,接口电路选用标准串行接口芯片MAX232。89C51采用11.0592MHz振荡器。数据传输速度选用9600波特率。传输方式选用方式1。

被测试产品输入的数字信号,通过光电耦合后,挂在两个八重3状态驱动器LS245上,在逻辑电路的控制下,读入微处理器。

被测试产品输入的模拟信号,经过运算放大器的处理,变成±10V范围的信号,在逻辑电路的控制下,由16选1模拟开关AD7506选择其一,由12位并行输出模∕数转换器AD1674转换成数据,读入微处理器。

测试箱发送给被测试产品的数字控制信号锁存于逻辑电路中,经过驱动后控制继电器的工作;测试箱发送给被测试产品的模拟控制信号锁存于逻辑电路中,在逻辑电路的控制下,先把该控制信号中的数值锁存于各自的数∕模转换器AD767内部的数据锁存器中,再进行D∕A转换,变为模拟信号输出。AD767是并行输入、电压输出的12位数∕模转换器。对于要求的高压信号由高压运算放大器OPA445、OPA3583产生完成。

模数∕转换、数∕模转换过程都是在微处理器的控制下自动完成的。

cpld

3 硬件电路设计

测试系统测试被测设备的16路数字信号和16路模拟信号,经过处理,把所得到的结果数据发送给上位微机;又接收上位微机的命令,经过处理,发送给被测设备64路数字信号和8路模拟信号,控制被测设备的工作。

3.1 EPM7128简介

EPM7128是美国Altera公司生产的CPLD(复杂可编程逻辑器件)芯片,其内部有2500个门可用,128个宏单元,允许对外有68个输入、输出引脚。该CPLD可编程逻辑器件支持在线现场可编程操作,只要用一根专用电缆接到芯片的特定引脚上,无需拆下芯片,不需要编程器及芯片适配器,通过上位机打印口就可对芯片编程。

3.2 16路数字/模拟输入信号逻辑电路

被测试设备的16路模拟信号,经过运算放大器放大整形隔离后,挂在16选1模拟开关电路AD7506上。需要转换某一路为数字时,首先由逻辑电路控制AD7506选通某一路。其逻辑电路由四∕十六 数字译码器74LS154和六重数据触发器74LS174组成。74LS174的输出端与AD7605的地址端口A、B、C、D和片选端口CS相连。74LS174的锁存由74LS154完成。逻辑电路控制AD7506选通某一路的方法是:把要转换的某一路模拟信号的16进制地址代码和AD7506片选信号,存于逻辑电路中的六重数据触发器74LS174中即可。以后就是由12位模∕数转换器AD1674进行A/D转换。A/D转换的逻辑电路由74LS154和六重数据触发器74LS174组成。74LS174的输出端与AD1674的控制端口CE、A0/SC、R/C、12/S和片选的端口CS相连。74LS174的锁存由74LS154完成。AD1674的12位输出数字端口,与单片机的P0端口连接。按照AD1674的转换要求向IC21 74LS174锁存相应的数据,进行A/D的转换和转换结果的读取。对AD7506、AD1674应用时再加片选信号,可使芯片时通时断,不致于因长期加电工作而发热,导致损坏,或不能正常工作,也节约了电能。同时为减轻单片机P0口的负担,AD1674的转换结果由单片机的P1口分两次读取[2]。

cpld

3.3 64路数字/8路模拟输出信号逻辑电路

控制被测试设备工作的64路数字信号,其16路基本信号先锁存于逻辑电路中的两个74273锁存器IC32、IC33中,经过两个AN8203驱动后,控制16个继电器工作,产生64路数字信号。两个锁存器的数据锁存由74LS154完成。64路数字输出信号控制的逻辑电路原理图如图4所示。

cpld

控制被测试设备工作的8路模拟信号,先把12位要转换的数值,存放于逻辑电路中的74LS273和74LS173中,再用74LS154选通其中一路12位数/模转换器AD767转换。产生的模拟信号,经过运算放大器进行整形放大,当然也有个隔离作用,然后控制被测设备工作。

4 软件设计

测试箱系统的软件系统程序是比较理想的。程序使用MCS51汇编语言编制,程序短小精悍,运行速度快。系统加电后程序自动启动,开始运行,先执行完系统初始化程序后,便等待中断,准备执行上位机发来的各项命令[3]。测试箱的程序流程框图如图5所示。

为了简化用户的操作,我们对上位微机的所有命令进行分析研究,归纳总结六条命令。其中四条为单字节命令,两条为双字节命令。这样处理,用户操作起来方便简单。上位机发出的命令及其功能如下:

A、 0X:上位微机要求读取产品输入给测试箱的一路模拟量,X为通道号,取值范围为0~F。测试箱接到上位微机的命令后,控制该路模拟信号进行模数转换,结果以两个字节送给上位微机。前一字节为数据的高八位,后一字节的高四位为数据的低四位,后四位为通道号。

B、 10 :上位微机命令测试箱自检。测试箱自检后,结果返回上位微机。

C、 2X:上位微机要求读取产品输入给测试箱的一路数字量,X为通道号,取值范围为0~1。测试箱读取该路产品输入的数字量,以一个字节送给上位微机。

D、 3X:其它功能。

E、 4X XX:这是一条双字节命令,上位微机要求通过测试箱的发送给产品的一路数字量,前X为通道号,取值范围0~1。后两个X,X取值范围为0~F,XX是一个字节的数据。测试箱把该数据锁存在其通道上,控制产品工作。

F、 XX XX:这也是一条双字节命令。双字节命令仅此两条。上位微机要求通过测试箱发送给产品一路模拟量。前X为通道号,X取值范围为8~F。后三个X数据,X取值范围为0~F,XXX是12位二进制数据。测试箱把该数据转换为相应的模拟信号,并作处理,发送给产品。

程序的这样处理,有利于测试箱功能的进一步开发,满足用户的更多要求。

cpld

4 结束语

该多功能测试箱的研制成功,解决了生产第一线的急需,也解决了用户的维修困难。通过专家评定,具有国内领先水平。本测试箱经过用户使用,性能可靠,提高了测试效率和质量,减少了测试现场的劳动强度和人为因素引起的记录与计算误差,为现场测试的自动化与测试数据的科学管理提供了基本条件。根据技术合同,该测试箱精度高,抗干扰效果好,性能稳定,工作可靠,便于维护维修,操作简单方便,且各项技术指标均达到设计要求,得到用户好评。以后,可在改进型中增加更多的功能。

责任编辑:gt

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分