基于GPIB总线的可程控直流电压表.docx

上传人:b****9 文档编号:25194231 上传时间:2023-06-06 格式:DOCX 页数:25 大小:239.37KB
下载 相关 举报
基于GPIB总线的可程控直流电压表.docx_第1页
第1页 / 共25页
基于GPIB总线的可程控直流电压表.docx_第2页
第2页 / 共25页
基于GPIB总线的可程控直流电压表.docx_第3页
第3页 / 共25页
基于GPIB总线的可程控直流电压表.docx_第4页
第4页 / 共25页
基于GPIB总线的可程控直流电压表.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

基于GPIB总线的可程控直流电压表.docx

《基于GPIB总线的可程控直流电压表.docx》由会员分享,可在线阅读,更多相关《基于GPIB总线的可程控直流电压表.docx(25页珍藏版)》请在冰豆网上搜索。

基于GPIB总线的可程控直流电压表.docx

基于GPIB总线的可程控直流电压表

 

摘要:

GPIB是为满足各方面对自动测试系统越来越多的要求,同时又希望能用已有的分立的台式仪器,方便灵活的组建自动测试系统而产生的面向测量的系统总线。

一般适用于组建实验室条件下工作的小型系统。

随着电子科学技术的发展,电子测量成为广大电子工作者必须掌握的手段,对测量的精度和功能的要求也越来越高,而电压的测量甚为突出,因为电压的测量最为普遍。

本设计在参阅了前人设计的直流电压表的基础上,通过数据采集,利用单片机和LabWindows/CVI技术,并结合A/D转换芯片ICL7109和GPIB接口芯片8291设计了电压自动测试系统。

关键词:

单片机,LabWindows/CVI,自动测试

 

Abstract:

 GPIB as a new bus standard excuseforsimple, hot swappable, high transfer rate advantage hasbeen widely used in data acquisition.With the development of electronicalscientific technology, electronical measurement became a technic that everyone of engaging electronical had to master it. What’s more, the precision is higher and higher and, the function is more and more powerful, and voltage’s measurement is best important. The design in the previous design based on theDC voltmeter, usingMCU andLabWindows/CVI data acquisition, combined with the A / D converter chip ICL7109 and GPIB interface chip8291 designed a programmable DC voltage meter. 

Keywords:

Singlechipmicrocomputer,LabWindows/CVI,automatictest

 

目录

1前言1

2整体方案设计2

2.1方案论证2

2.2方案比较3

3单元模块设计4

3.1增益选择电路模块4

3.2ICL7109芯片模块5

3.3AT89C52芯片模块6

3.48291芯片模块8

3.4AT89C52同8291接口模块10

4软件设计11

4.1LabWindows/CVI简介11

4.2前面板设计11

4.2流程图12

4.3程序设计14

5系统技术指标和误差分析16

6结论17

7参考文献18

附录1:

程序代码19

附录2:

电路主图22

 

1前言

GPIB接口是一种命令级兼容的外部总线接口,主要用来连接各种仪器,组建中小规模的自动测试系统.该接口由美国HP公司1972年提出,故又称HP-IB接口.作为一种并行接口,GPIB结构简单、性能可靠、操作方便、灵活、体积小和价格较低,被世界各国广泛采用。

PIB接口有两个突出的优点:

1)它便于将多台带有GPIB接口的仪器组合起来,每块GPIB卡可连接最多14台设备,每台计算机可装配32块GPIB板卡,所以可形成较大的自动测试系统,高效灵活地完成各种不同的测试任务,而且组建和拆散灵活,使用方便.按这些仪器的作用又可分为讲者(Talker),听者(Listener)和控者(Controller)3种.讲者发送数据,听者接收讲者发送的数据,控者指挥数据交换.在工作过程中,每台仪器(包括主控微机)的地位(讲者、听者和控者)均可变更。

2)它便于扩展传统仪器的功能.由于仪器与计算机相连,因此,可在计算机的控制下对测试数据进行更加灵活、方便的传输、处理、综合、利用和显示,使原来仪器采用硬件逻辑很难解决或无法解决的问题迎刃而解。

模拟式电压表具有电路简单、成本低、测量方便等特点,但测量精度较差,特别是受表头精度的限制,即使采用0.5级的高灵敏度表头,读测时的分辨力也只能达到半格。

再者,模拟式电压表的输入阻抗不高,测高内阻源时精度明显下降。

特别是以A/D转换器为代表的集成电路为支柱,使DVM向着多功能化、小型化、智能化方向发展。

DVM应用单片机控制,组成智能仪表;与计算机接口,组成自动测试系统。

DVM最基本功能是测直流电压,考虑到仪器的多功能化,可将其他物理量,如电阻、电容、交流电压、电流等,都变成直流电压,因此,还应有一个测量功能选择变换器,它包含在输入电路中。

本文要求设计一个基于GPIB总线的电压自动检测系统。

用单片机技术及LabWindows/CVI进行开发,通过数据采集系统,对电压进行采集并作A/D转换,再传输给单片机,然后通过GPIB口,送入PC机把所测得的数据保存在存储器里,由PC机内的LabWindows/CVI软件设计的电压测试系统进行数据处理分析及显示。

 

2整体方案设计

本设计主要是将采集到的数据量进行一系列的处理,然后通过系统总线送入PC机,对需要的数据进行处理,再通过软件将需要的结果显示出来,从而达到设计所需要的目的。

2.1方案论证

方案一:

GPIB总线方案

此方案的大致流程如图2.1所示。

首先由数据采集部分,将采集到的信号数据,经过调理电路,再经双积分A/D转换电路,然后将得到的数字量,送入CPU-AT89C52,然后再通过8位并行总线进行数据传输,再经GPIB接口芯片8291,将数字量经过PC机的GPIB口,送入PC机,把所测得的数据保存在存储器里,由PC机内的LabWindows/CVI编程语言软件进行数据处理分析及显示。

图2.1测试电压整体方案一框图

方案二:

USB总线方案

此方案的大致流程如图2.2所示。

与方案一大部分相同,首先由数据采集部分,将采集到的信号数据,经过调理电路,再经双积分A/D转换电路,然后将得到的数字量,送入CPU-AT89C52,然后再通过8位并行总线进行数据传输,再经USB接口芯片ISP1581,将数字量经过PC机的USB口,送入PC机,把所测得的数据保存在存储器里,不同的是由PC机内的LabVIEW软件进行最后的数据处理分析及显示,这一点是区别与方案一的地方。

图2.2测试电压整体方案二框图

2.2方案比较

方案二与方案一大部分一样,但是在总线选择设计方式上有所不同。

方案二的USB总线虽然也能用,但方案一GPIB总线构成简单;适用于各种仪器和产品;不会改变仪器原有的功能和性能;对系统中的控制器无特殊要求;允许系统中有多个控制器;应具有异步的数据传送方式;可在仪器间直接进行数据传送;价格便宜等。

所以综合以上两方案情况考虑,本设计选择方案一。

3单元模块设计

数据采集系统通过各个模块进行分工合作来完成。

数据采集系统将采集到的数据进行一部分处理并送给PC机,通过运行在PC机上的特定软件对这些数据进行分析,并通过分析得到的结果进行相应的操作。

3.1增益选择电路模块

如图3.1所示,图为增益选择电路的测量放大电路,待测模拟信号从S+和S-输入,测量放大器进行信号放大,通过模拟开关CD4052选择放大器反馈电阻即可进行增益选择,图中共设置了4档增益:

×0.5、×1、×2、×5。

图3.1测量放大电路

CD4052是一个双4选一的多路模拟选择开关,其使用真值表如表3.1所示,输入控制信号INH、B、A。

当INH=0、B=0、A=0时,导通通道为X0、Y0,表示增益放大电路的增益为×0.5;

当INH=0、B=0、A=1时,导通通道为X1、Y1,表示增益放大电路的增益为×1;

当INH=0、B=1、A=0时,导通通道为X2、Y2,表示增益放大电路的增益为×2;

当INH=0、B=1、A=1时,导通通道为X3、Y3,表示增益放大电路的增益为×5;

当INH=1、B=X、A=X时,导通通道为无,表示增益放大电路无效;

表3.1CD4052真值表

控制信号

导通通道

INH

B

A

0

0

0

X0

Y0

0

0

1

X1

Y1

0

1

0

X2

Y2

0

1

1

X3

Y3

1

X

X

3.2ICL7109芯片模块

如图3.2所示,为ICL7109测量电压原理图,ICL7109是双积分式12位A/D转换器,转换时间由外部时钟周期决定,为10140/58个时钟周期。

其主要引脚定义如下:

①B1~B12:

12bit的数据输出端。

②OR:

溢出判别,输出高电平表示过量程;反之,数据有效。

③POL:

极性判别,输出高电平表示测量值为正值;反之,负值。

④MODE:

方式选择,当输入低电平信号时,转换器处于直接输出工作方式。

此时可在片选和字节使能的控制下直接读取数据;当输入高电平时,转换器将在信号握手方式的每一转换周期的结尾输出数据(本设计选用直接输出工作方式)。

⑤REF:

外部参考电压输入(本设计用其典型值:

5V)。

⑥INL,INH:

输入电压端口(有效范围是参考电压的2倍)。

⑦OO,OI:

外部时钟输入(本设计用其典型值:

3.579MHz)。

⑧RUN/HOLD_:

运行/保持输入,当输入高电平时,每经8192时钟脉冲完成一次转换;当输入低电平时,完成正在进行的转换,并停在自动调零阶段。

⑨STATUS:

状态输出,输出高电平,表明芯片处于积分和反向积分阶段;输出为低电平,表明反向积分结束,数据被锁存,模拟部分处于自动返回零态阶段。

⑩CE/LOAD_:

片选,当其为低电平时,数据正常输出;当其为高电平时,所有数据输出端(B1~B12、POL、OR)均处于高阻状态。

⑾LBEN_:

低字节使能,输入低电平时,数据线输出低位字节B1~B8。

⑿HBEN_:

高字节使能,输入低电平时,数据线输出高位字节B9~B12及POL、OR的状态值。

图3.2ICL7109测量电压原理图

ICL7109转换时序:

ICL7109直接接口方式的定时图如图3.3所示。

图3.3ICL7109直接接口方式定时图

7109的A/D转换关系为:

(1)

式中,

——A/D转换器输入电压;    

——A/D转换结果的12bit数字量;   

——A/D转换器外部参考输入电压,调节为

=5V;

由式

(1)可知,若

=5V,则

即为以mv单位表示了

,即   

3.3AT89C52芯片模块

AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。

如图3.4所示,图为AT89C52芯片模块图。

图3.4AT89C52芯片模块图

首先介绍一下单片机的晶振电路,即时钟电路。

单片机的工作流程,就是在系统时钟的作用下,一条一条地执行存储器中的程序。

单片机的时钟电路由外接的一只晶振和两只起振电容,以及单片机内部的时钟电路组成,晶振的频率越高,单片机处理数据的速度越快,系统功耗也会相应增加,稳定性也会下降。

单片机系统常用的晶振频率有6MHz、11.0592MHz、12MHz、本系统采用11.0592MHz晶振,电容选30pF,电路如图3.5所示。

图3.5晶振电路图

系统刚上电时,单片机内部的程序还没有开始执行,需要一段准备时间,也就是复位时间。

一个稳定的单片机系统必须设计复位电路。

当程序跑飞或死机时,也需要进行系统复位。

复位电路有很多种,有上电复位,手动复位等,复位电路如图3.6所示。

图3.6复位电路图

电源电路主要是为系统提供电源,在本设计中,为了使电路简单,我们直接提供5V直流电源为电路供电,电路图如图3.7所示,图中LED是电源指示灯电路,指示是否给系统加电,还具有稳压特性。

图3.7电源电路图

3.48291芯片模块

8291具有用硬件实现除控者之外的其余全部9种标准接口功能;具有自动三线挂钩联络、自动管理接口寻址等能力,大大简化了接口管理软件的设计。

8291由8个8位写寄存器和8个8位读寄存器组成,这些寄存器相互之间以及与接口功能和译码部件之间通过内部总线进行联系对8291的程控就是通过对这些寄存器组进行读/写操作来完成的。

例如,当8291被寻址为讲者时,就先将数据送到输出寄存器,然后。

再进行挂钩操作,把数据送到接口母线上,以便控者进行读取。

8291芯片内部结构:

D0~D7:

双向数据总线,RS0~RS2:

片内寄存器的选择码输入端,CS:

片选输入端,RD,WR:

读、写选通输入端,INT:

中断请求输出端,TRIG:

触发输出端,CLOCK:

时钟信号输入端,RESET:

复位信号输入端,DREQ,DACK:

DMA操作请求输出端、响应信号输入端等。

DIO1~DIO8:

8位标准接口数据总线输入/输出端,DAV,NRFD,NDAC:

挂钩控制总线信号的输入/输出端,ATN,IFC,REN,SRQ,EOI:

为控制管理总线的输入/输出端以及双向端口。

 

图3.88291芯片引脚连接图

3.4AT89C52同8291接口模块

图3.9接口原理图

如图3.9所示,图为AT89C52同8291接口芯片的接口原理图,8291左端D1~D7与AT89C52的P0.1~P0.7几个引脚相连接,其他按情况连接,8291右边与PC机的GPIB接口相连接,这样处理过的数据就能通过GPIB口传输到PC机内,把所测得的数据保存在存储器里,通过软件LabWindows/CVI设计的上位机上分析处理显示出来。

采用GPIB接口芯片8291,其完全符合要求,集成了5V到3V的内置电压调整器,有着良好的EMI特性,符合大多数器件的分类规格,有7个输入端点、7个输出端点和1个固定的控制输入/出端点,集成8K字节的多结构FIFO存储器,端点的双缓冲配置增加了数据吞吐量并实现数据传输,与系统的微控制器/微处理器(本设计采用AT89C52作为CPU)的通信是通过一个高速的通用并行接口来实现,支持高速GPIB系统的自动检测,内部还集成了许多特性包括SoftConnectTM低频晶体振荡器和集成的终止寄存器,所有这些特性都为系统大大节约了成本,同时使强大的功能很容易地用于PC机的外设。

 

4软件设计

本设计所用软件LabWindows/CVI来设计,并利用软件工具来编译、测试和仿真。

在LabWindows/CVI中实现基于GPIB总线的自动测试系统由四个部分组成:

初始化模块、通道选择和面板控制模块、波形显示和数据处理模块以及仪器的关闭模块,能够从计算机中实时读取到指定GPIB仪器中测得信号的波形并对信号分析处理得到最大值、最小值等数据。

4.1LabWindows/CVI简介

LabWindows/CVI是NationalInstruments公司推出的一套面向测控领域的软件开发平台。

它以ANSIC为核心,将功能强大,使用灵活的C语言平台与数据采集,分析和表达的测控专业工具有机地接和起来。

它的集成化开发平台,交互式编程方法,丰富的控件和库函数大大增强了C语言的功能,为熟悉C语言的开发人员建立检测系统,自动测量环境,数据采集系统,过程监控系统等提供了一个理想的软件开发环境。

一个LabWindows/CVI程序分3部分:

前面板、框图程序、图标P接线端口。

前面板是用于模拟真实仪器的前面板;框图程序则是利用图形语言对前面板上的控件对象(分为控制量和指示量两种)进行控制;图标P接线端口用于把LabWindows/CVI程序定义成一个子程序,从而实现模块化编程。

4.2前面板设计

虚拟直流电压测试系统主要完成对电位器或外部直流电压的测量与显示。

因此,在虚拟仪器界面上需有测量对象的选择功能。

为了适应不同大小的待测模拟电压信号,还应有测量量程选择功能,根据测量需要,本次设计的界面的量程设置3档:

2V、4V、8V。

界面上设置有超量程指示灯,当测量溢出时,超量程指示灯点亮。

测量得出的结果在进表盘上显示,此外,界面上还需设置测量的启动和退出功能。

虚拟直流电压测试系统的软件设计界面如下。

图4.1虚拟直流电压测试系统仪器面板

4.2流程图

 

 

图4.2直流电压测试系统下位机流程图

图4.3直流电压测试系统上位机流程图

 

4.3程序设计

1.设计基于LabWindows/CVI软件的仪器面板。

(1)启动LabWindows/CVI,建立一个工程文件*.prj文件。

(2)点击File→New→UserInterface创建一个用户界面*.uir文件。

(3)选择Create→选择相应的控件,在面板文件中添加控件。

(4)选择Code→Generate→AllCode生成源代码文件。

(5)在源代码中添加相应的函数完成对面板的控制。

2.在LabWindows/CVI软件程序中调用VISA接口函数,通过GPIB总线连接仪器。

(1)通过VISA函数查找GPIB总线上的地址资源:

//初始化并定位VISA系统

viOpenDefaultRM(&defaultRM);

//查找GPIB总线资源

viFindRsrc(defaultRM,"GPIB?

*INSTR",&findList,&numInstrs,

instrDescriptor);

//把找到的资源放入“仪器资源框”0位置

InsertListItem(mainPanel,MAIN_PANEL_InstrumentResource,-1,instrDescriptor,0);

//查找下一个仪器

viFindNext(findList,instrDescriptor);

//把找到的资源放入“仪器资源框”1位置

InsertListItem(mainPanel,MAIN_PANEL_InstrumentResource,-1,instrDescriptor,1);

//关闭VISA系统

viClose(defaultRM);

(2)在仪器面板文件上添加总线选择下拉菜单控件、总线资源表单控件和仪器连接按键控件,将查找到的资源与仪器面板连接如下图所示:

通过函数:

//获取仪器资源控件中选中仪器的序号

GetCtrlIndex(mainPanel,MAIN_PANEL_InstrumentResource,&index);

//获取仪器资源控件中选中仪器的地址

GetLabelFromIndex(mainPanel,MAIN_PANEL_InstrumentResource,index,address);

//连接获取地址的仪器

intres=InsCon(&m_sig_vi,&m_sig_defaultRM,address);

若res=0则连接失败,否则连接成功。

3.仪器面板上的控件通过SCPI命令,通过数字总线设置、控制仪器。

(1)在仪器面板文件上添加按键控件和旋钮控件。

(2)在控件的回调函数中,添加SCPI命令,通过总线操作仪器。

代码见附录1

 

5系统技术指标和误差分析

本直流电压测试系统设计要求有几种测量量程,包括0~2V、0~4V、0~8V(对应增益:

×2、×1、×0.5),还有测量分辨率为12bit,要求对采集到的数据用不同的量程进行测量,对产生的误差进行观察,以分析设计的测试系统的测量误差和性能。

通过本次设计和测量结果的验证,发现本次设计的一些技术指标符合设计要求,达到了本设计的目的。

测量的误差来源主要有人员操作引起的粗大误差和电路结构造成的线性系统误差。

人员操作引起的粗大误差因人而异,消除办法是多测几次剔除坏值,被测电路与仪器探头接触不好也会造成测量误差,需要寻找接触良好的测量点测量。

系统误差包括电路、元件的制造误差和数字化的量化误差,电路、元件的制造误差可以通过信号处理对出现的误差进行抵消或补偿,而量化误差是客观存在的,A/D转换的位数越高量化误差就会越小。

6结论

本课设介绍了基于GPIB总线的电压自动测试电路的设计,实现了电路的自动测试,而且描述了其工作原理、设计思路及实现方法,并在LabWindows/CVI软件上仿真实现了电路的功能。

实践证明:

采用GPIB总线设计实现电压自动测试电路的可行性和可靠性,而且容易,在此基础上不必变化顶层文件架构可随意变更,有效缩短了产品开发周期、减少了设计芯片的数量、降低了功耗、提高了设计的灵活性、可靠性和可扩展性。

通过为期一周的课程设计,我应用所学自动测试原理与LabWindows/CVI软件技术实验及课程设计指导书顺利得完成了GPIB总线电压自动测试电路的设计。

期间,我查阅里很多相关资料,更进一步学习了C语言。

不仅巩固了课堂知识,而且有效的和实际结合在了一起,扩展了所学知识和见识。

在设计过程中遇到不少问题,如编程能力不够,工程文件建立的错误,还有一些相关文件的使用不明白等问题。

总体感觉就是:

学得不够,知识真的很有用。

同时,也感觉到书本知识与实际问题之间需要我们去探索的,不是学了书本知识就能很好的解决实际问题的,要通过不断的锻炼和学习才能更好的掌握好知识,这次课设也激发了我对自动测试技术方面的兴趣,提高了理论结合实际的意识。

在做设计时,我们应该考虑到较可能多的方案,经过各方面比较,然后选择最优的一种,这样才能丰富和完善自己的知识,这就是课程设计给我们带来的好处。

所以我觉得我们做这个课程设计相当有必要,并且得尽自己最大努力把它做好。

7参考文献

[1]康光华.电子技术基础.数字部分(第五版)[M].北京:

高等教育出版社,2006.

[2]胡汉才.单片机原理及其接口技术[M].北京:

高等教育出版社,2004.

[3]秦红磊自动测试系统硬件及软件技术.北京:

铁道出版社,2008.

[4]张洪润、刘秀英等.单片机应用设计200例[M].北京:

航空航天大学出版社,2006.

[5]胡汉才.单片机原理及其接口技术[M].北京:

清华大学出版社,2004.

附录1:

程序代码

intCVICALLBACKRun_Stop(intmainPanel,intcontrol,intevent,

void*callbackData,inteventData1,inteventData2)

{

switch(event)

{

caseEVENT_COMMIT:

if(TRUE==m_oscflag)

{

if(0==threadflag)

{

if(TRUE==m_runflag)

{

intres=RunStop(m_osc_vi,STOP);

if(0==

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 笔试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1